<?xml version="1.0"?>
<!--
     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>Apache Commons Text Changes</title>
  </properties>
  <body>

  <release version="1.0" date="tba" description="tba">
    <action issue="SANDBOX-497" type="fix" dev="kinow">IP clearance for the names package</action>
    <action issue="SANDBOX-496" type="add" dev="kinow">Write user guide</action>
    <action issue="SANDBOX-488" type="fix" dev="kinow">Work on the string metric, distance, and similarity definitions for the project</action>
    <action issue="SANDBOX-487" type="add" dev="kinow">Human name parser</action>
    <action issue="SANDBOX-492" type="fix" dev="kinow" due-to="Jonathan baker">Create StringDistanceFrom class that contains a StringMetric and the "left" side string.  This would have a method that accepts the "right" side string to test.</action>
    <action issue="SANDBOX-490" type="add" dev="kinow">Add Cosine Similarity and Cosine Distance</action>
    <action issue="SANDBOX-493" type="fix" dev="kinow" due-to="Jonathan Baker">Change (R) StringMetric.compare(CS left, CS right) to "apply" so that it is consistent with BiFunction.</action>
    <action issue="SANDBOX-491" type="fix" dev="kinow" due-to="Jonathan Baker">Allow extra information (e.g. Levenshtein threshold) to be stored as (final) fields in the StringMetric instance.</action>
    <action issue="SANDBOX-486" type="add" dev="kinow">Port Myers algorithm from [collections]</action>
    <action issue="SANDBOX-485" type="add" dev="kinow">Add Hamming distance</action>
    <action issue="SANDBOX-483" type="add" dev="kinow" due-to="britter">Incorporate String algorithms from Commons Lang</action>
  </release>

  </body>
</document>
