blob: d36acad1640c6140fb6a5000507bae0370b44eae [file] [log] [blame]
<?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.
-->
<!-- $Id$ -->
<document>
<properties>
<title>Changes</title>
<author>Gary D. Gregory</author>
</properties>
<body>
<release version="1.4" date="27 July 2009" description="Feature and fix release.">
<action dev="ggregory" type="fix" issue="CODEC-80" due-to="Julius Davies">
Regression: Base64.encode(chunk=true) has bug when input length is multiple of 76.
</action>
<action dev="ggregory" type="fix" issue="CODEC-77" due-to="Julius Davies">
Base64 bug with empty input (new byte[0]).
</action>
<action dev="ggregory" type="fix" issue="CODEC-75" due-to="Julius Davies">
Make Base64 URL-safe.
</action>
<action dev="ggregory" type="add" issue="CODEC-74">
Allow for uppercase letters output in Hex.encodeHex().
</action>
<action dev="bayard" type="fix" issue="CODEC-72" due-to="Sebb">
Soundex and RefinedSoundex issues with character arrays.
</action>
<action dev="bayard" type="fix" issue="CODEC-71" due-to="Sebb">
Base64.isArrayByteBase64() method is inefficient for large byte arrays.
</action>
<action dev="bayard" type="fix" issue="CODEC-70" due-to="Sebb">
Thread safety and malicious code safety improvements.
</action>
<action dev="bayard" type="fix" issue="CODEC-68" due-to="Robert Rodewald">
isBase64 throws ArrayIndexOutOfBoundsException on some non-BASE64 bytes.
</action>
<action dev="bayard" type="fix" issue="CODEC-65" due-to="Benjamin Bentmann">
Fix case-insensitive string handling.
</action>
<action dev="ggregory" type="fix" issue="CODEC-61" due-to="Igor Slepchin">
Base64.encodeBase64() throws NegativeArraySizeException on large files.
</action>
<action dev="bayard" type="add" issue="CODEC-60">
Implement Caverphone.
</action>
<action dev="ggregory" type="fix" issue="CODEC-58" due-to="Julius Davies">
Character set used by Base64 not documented.
</action>
<action dev="bayard" type="fix" issue="CODEC-56" due-to="Sebb">
RefinedSoundex creates instance before al fields have been initialized.
</action>
<action dev="bayard" type="add" issue="CODEC-52" due-to="Niklas Gustavsson">
Digest on InputStreams.
</action>
<action dev="bayard" type="fix" issue="CODEC-51">
2 Test failures in SoundexTest.
</action>
<action dev="bayard" type="add" issue="CODEC-40" due-to="Chris Black">
Patch to add crypto-compatible BigInteger encoding support to Base64.
</action>
<action dev="ggregory" type="add" issue="CODEC-39" due-to="Jamie Flournoy" due-to-email="jamie@white-mountain.org">
DigestUtils: Add methods for SHA-256, SHA-384, and SHA-512.
</action>
<action dev="tobrien" type="fix" issue="CODEC-10" due-to="Reggie Riser" due-to-email="rriser@informs.com">
Using US_ENGLISH in Soundex caused an NullPointerException.
</action>
<action dev="tobrien" type="fix" issue="CODEC-6" due-to="David Tonhofer">
Source tarball spews files all over the place.
</action>
<action dev="ggregory" type="fix" issue="CODEC-22" due-to="Piero Ottuzzi">
Base64.isArrayByteBase64() throws an ArrayIndexOutOfBoundsException for negative octets
</action>
<action dev="jochen" type="add" issue="CODEC-69" due-to="Julius Davies">
Streaming Base64 (Base64InputStream and Base64OutputStream added).
</action>
</release>
<release version="1.3" date="10 July 2004" description="Feature and fix release.">
<action dev="ggregory, tobrien" type="add" issue="CODEC-21" due-to="Alex Karasulu">
BinaryCodec: Encodes and decodes binary to and from Strings of 0s and 1s.
</action>
<action dev="ggregory" type="add" issue="CODEC-41" 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 CODEC-46.
</action>
<action dev="ggregory" type="add" issue="CODEC-41" 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="CODEC-41" 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="CODEC-45" due-to="Matthew Inger" due-to-email="mattinger@yahoo.com">
Soundex: Implemented the DIFFERENCE algorithm.
</action>
<action dev="ggregory" type="add" issue="CODEC-45" 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
&lt;a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0&lt;/a>
, please see LICENSE.txt. Previous versions were released under the
&lt;a href="http://www.apache.org/licenses/LICENSE-1.1">Apache License 1.1&lt;/a>
</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="CODEC-25" due-to="Oleg Kalnichevski" due-to-email="olegk@apache.org">
The default URL encoding logic was broken.
</action>
<action dev="ggregory" type="fix" issue="CODEC-31" due-to="Gary D. Gregory">
Base64 chunked encoding not compliant with RFC 2045 section 2.1 CRLF.
</action>
<action dev="ggregory" type="fix" issue="CODEC-5">
Hex converts illegal characters to 255.
</action>
<action dev="tobrien" type="fix" issue="CODEC-17">
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="CODEC-26" 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="CODEC-4">
Hex.decode(Object) throws a ClassCastException when a String argument is passed in.
</action>
<action dev="ggregory" type="fix" issue="CODEC-3">
Soundex: The HW rule is not applied; hyphens and apostrophes are not ignored.
</action>
<action dev="ggregory" type="fix" issue="CODEC-29">
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>