Changes
Gary D. Gregory
Regression: Base64.encode(chunk=true) has bug when input length is multiple of 76.
Base64 bug with empty input (new byte[0]).
Make Base64 URL-safe.
Allow for uppercase letters output in Hex.encodeHex().
Soundex and RefinedSoundex issues with character arrays.
Base64.isArrayByteBase64() method is inefficient for large byte arrays.
Thread safety and malicious code safety improvements.
isBase64 throws ArrayIndexOutOfBoundsException on some non-BASE64 bytes.
Fix case-insensitive string handling.
Base64.encodeBase64() throws NegativeArraySizeException on large files.
Implement Caverphone.
Character set used by Base64 not documented.
RefinedSoundex creates instance before al fields have been initialized.
Digest on InputStreams.
2 Test failures in SoundexTest.
Patch to add crypto-compatible BigInteger encoding support to Base64.
DigestUtils: Add methods for SHA-256, SHA-384, and SHA-512.
Using US_ENGLISH in Soundex caused an NullPointerException.
Source tarball spews files all over the place.
Base64.isArrayByteBase64() throws an ArrayIndexOutOfBoundsException for negative octets
Streaming Base64 (Base64InputStream and Base64OutputStream added).
Base64: Improve Code Coverage
Add methods to Base64 which work with String instead of byte[]
Base64's new constructor parameters ignored
Improve Double Metaphone test coverage
Double Metaphone bugs in alternative encoding
BinaryCodec: Encodes and decodes binary to and from Strings of 0s and 1s.
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.
BCodec: Identical to the Base64 encoding defined by RFC 1521 and allows a
character set to be specified.
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.
Soundex: Implemented the DIFFERENCE algorithm.
RefinedSoundex: Implemented the DIFFERENCE algorithm.
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
<a href="http://www.apache.org/licenses/LICENSE-1.1">Apache License 1.1</a>
The Board recommendation to remove Javadoc author tags has been
implemented. All author tags are now "Apache Software Foundation".
The default URL encoding logic was broken.
Base64 chunked encoding not compliant with RFC 2045 section 2.1 CRLF.
Hex converts illegal characters to 255.
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".
Added missing tags in Javadoc comments.
General Javadoc improvements.
URLCodec: Implements the www-form-urlencoded encoding scheme.
DigestUtils: Calculates MD5 and SHA digests.
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.
Hex.decode(Object) throws a ClassCastException when a String argument is passed in.
Soundex: The HW rule is not applied; hyphens and apostrophes are not ignored.
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.
Fix in Metaphone relating to the handling of the maximum code length.
A newer version of the Base64 class reflecting improvements from
both the commons-httpclient and xml-rpc versions of code forked
from catalina.
Base64 class from commons-httpclient in org.apache.commons.codec.base64
has been retained for backwards compatibility but has been deprecated.
Soundex class from commons-util in org.apache.commons.codec.
Metaphone class from commons-util in org.apache.commons.codec.
RefinedSoundex class in org.apache.commons.codec.
Encoder/Decoder interfaces in org.apache.commons.
String and Binary specific Encoder/Decoder interfaces in org.apache.commons.
StringEncoderComparator replaces the SoundexComparator from the language package.
Base64 now discards whitespace characters when decoding encoded content.
Base64 class from commons-httpclient in org.apache.commons.codec.base64.
Soundex class from commons-util in org.apache.commons.codec.
Metaphone class from commons-util in org.apache.commons.codec.
SoundexComparator class from commons-util in org.apache.commons.codec.