<?xml version="1.0"?>
<!--
   Copyright 2003-2005 The Apache Software Foundation

   Licensed 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.
-->
<!-- $Id$ -->
<document>
    <properties>
        <title>Changes</title>
        <author>Gary D. Gregory</author>
    </properties>
    <body>
        <release version="1.3" date="10 July 2004" description="Feature and fix release.">
            <action dev="ggregory, tobrien" type="add" issue="27813" due-to="Alex Karasulu">
            BinaryCodec: Encodes and decodes binary to and from Strings of 0s and 1s.
      	    </action>
            <action dev="ggregory" type="add" issue="26617" due-to="Oleg Kalnichevski" due-to-email="olegk@apache.org">
      	    QuotedPrintableCodec: Codec for RFC 1521 MIME (Multipurpose Internet 
            Mail Extensions) Part One. Rules #3, #4, and #5 of the quoted-printable spec 
            are not implemented yet. See also issue 27789.
            </action>
            <action dev="ggregory" type="add" issue="26617" due-to="Oleg Kalnichevski" due-to-email="olegk@apache.org">
      	    BCodec: Identical to the Base64 encoding defined by RFC 1521 and allows a 
            character set to be specified.
            </action>
            <action dev="ggregory" type="add" issue="26617" due-to="Oleg Kalnichevski" due-to-email="olegk@apache.org">
      	    QCodec: Similar to the Quoted-Printable content-transfer-encoding defined 
            in RFC 1521 and designed to allow text containing mostly ASCII characters to
            be decipherable on an ASCII terminal without decoding.
            </action>
            <action dev="ggregory" type="add" issue="25243" due-to="Matthew Inger" due-to-email="mattinger@yahoo.com">
      	    Soundex: Implemented the DIFFERENCE algorithm.
      	    </action>
            <action dev="ggregory" type="add" issue="25243" due-to="Matthew Inger" due-to-email="mattinger@yahoo.com">
      	    RefinedSoundex: Implemented the DIFFERENCE algorithm.
      	    </action>
            <action dev="ggregory" type="update">
          	This version is relesed under the 
          	<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>
          	, please see LICENSE.txt. Previous versions were released under the Apache License 1.1.
      	    </action>
            <action dev="ggregory" type="update">
      	    The Board recommendation to remove Javadoc author tags has been 
            implemented. All author tags are now "Apache Software Foundation".
      	    </action>
            <action dev="ggregory" type="fix" issue="25995" due-to="Oleg Kalnichevski" due-to-email="olegk@apache.org">
            The default URL encoding logic was broken.
      	    </action>
            <action dev="ggregory" type="fix" issue="27781" due-to="Gary D. Gregory">
            Base64 chunked encoding not compliant with RFC 2045 section 2.1 CRLF.
       	    </action>
            <action dev="ggregory" type="fix" issue="28455">
            Hex converts illegal characters to 255.
       	    </action>
            <action dev="tobrien" type="fix" issue="28457">
            Metaphone now correctly handles a silent B in a word that ends in MB.
            "COMB" is encoded as "KM", before this fix "COMB" was encoded as "KMB".
       	    </action>
            <action dev="ggregory" type="fix">
            Added missing tags in Javadoc comments. 
       	    </action>
            <action dev="ggregory" type="fix">
            General Javadoc improvements.
       	    </action>
        </release>
        <release version="1.2" date="24 Nov 2003" description="Feature and fix release.">
            <action dev="tobrien" type="add" due-to="Oleg Kalnichevski" due-to-email="olegk@apache.org">
            URLCodec: Implements the www-form-urlencoded encoding scheme.
      	    </action>
            <action dev="tobrien" type="add" due-to="Dave Dribin, David Graham">
            DigestUtils: Calculates MD5 and SHA digests.
      	    </action>
            <action dev="tobrien" type="fix" issue="19860" due-to="Brian Ewins">
            Modified Base64 to remedy non-compliance with RFC
            2045.  Non-Base64 characters were not being discarded during the
            decode.  RFC 2045 explicitly states that all characters outside of the
            base64 alphabet are to be ignored.  
      	    </action>
            <action dev="ggregory" type="fix" issue="24360">
            Hex.decode(Object) throws a ClassCastException when a String argument is passed in.
      	    </action>
            <action dev="ggregory" type="fix" issue="24471">
            Soundex: The HW rule is not applied; hyphens and apostrophes are not ignored.
      	    </action>
            <action dev="ggregory" type="fix" issue="24484">
            Soundex.setMaxLength causes bugs and is not needed.
            Calling Soundex.setMaxLength() with a value of 2 or less causes the wrong
            answer to be returned.  Since the encoding returned by Soundex is always
            of length 4 by definition (we do not use the '-' in as a letter-nnn 
            separator) the need for a maxLength attribute is not needed.  Deprecate 
            the field and accessor methods.
      	    </action>
            <action dev="Members" type="fix">
            Fix in Metaphone relating to the handling of the maximum code length.
      	    </action>
        </release>
        <release version="1.1" date="29 April 2003" description="The first official release. Numerous projects had been depending on version 1.0-dev while in the Sandbox.">
            <action dev="Members" type="add">
      	    A newer version of the Base64 class reflecting improvements from
            both the commons-httpclient and xml-rpc versions of code forked
            from catalina.
            </action>        
            <action dev="Members" type="add">
      	    Base64 class from commons-httpclient in org.apache.commons.codec.base64
            has been retained for backwards compatibility but has been deprecated.
            </action>        
            <action dev="Members" type="add">
      	    Soundex class from commons-util in org.apache.commons.codec.
      	    </action>        
            <action dev="Members" type="add">
      	    Metaphone class from commons-util in org.apache.commons.codec.
      	    </action>        
            <action dev="tobrien" type="add">
      	    RefinedSoundex class in org.apache.commons.codec.
      	    </action>        
            <action dev="Members" type="add">
      	    Encoder/Decoder interfaces in org.apache.commons.
      	    </action>        
            <action dev="Members" type="add">
      	    String and Binary specific Encoder/Decoder interfaces in org.apache.commons.</action>        
            <action dev="Members" type="add">
      	    StringEncoderComparator replaces the SoundexComparator from the language package.</action>        
            <action dev="Members" type="fix">
      	    Base64 now discards whitespace characters when decoding encoded content.</action>
        </release>
        <release version="1.0-dev" date="25 April 2003" description="Last release from the Sandbox.">
            <action dev="tobrien" type="add">
            Base64 class from commons-httpclient in org.apache.commons.codec.base64.
            </action>        
            <action dev="tobrien" type="add">
            Soundex class from commons-util in org.apache.commons.codec.
            </action>        
            <action dev="tobrien" type="add">
            Metaphone class from commons-util in org.apache.commons.codec.
            </action>        
            <action dev="Members" type="add">
            SoundexComparator class from commons-util in org.apache.commons.codec.
            </action>        
        </release>
    </body>
</document>
