<?xml version="1.0" encoding="UTF-8"?>

<!-- 
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 -->

<document>
  <properties>
    <title>Changes</title>
    <author email="dion@apache.org">dIon Gillard</author>
    <author email="polx@apache.org">Paul Libbrecht</author>
  </properties>
  <body>
    <release version="1.1" date="2006-06-22">
      <action dev="polx" type="add" issue="JELLY-229" due-to="Lukas Theussl">Enhanced the usage of AskTag with a custom completion list, upgraded dependency to JLine 0.9.5.</action>
      <action dev="polx" type="add" issue="JELLY-175" due-to="Ryan Christianson">AskTag now uses JLine which allows history, auto-completion, and edition of answers.</action>
    </release>
    <release version="1.0" date="2004-09-12"></release>
  </body>
</document>
