Changes

Release History

Version Date Description
1.4 9 August 2009 Feature and fix release.
1.3 10 July 2004 Feature and fix release.
1.2 24 Nov 2003 Feature and fix release.
1.1 29 April 2003 The first official release. Numerous projects had been depending on version 1.0-dev while in the Sandbox.
1.0-dev 25 April 2003 Last release from the Sandbox.

Release 1.4 - 9 August 2009

Type Changes By
fix Regression: Base64.encode(chunk=true) has bug when input length is multiple of 76. Fixes CODEC-80. Thanks to Julius Davies. ggregory
fix Base64 bug with empty input (new byte[0]). Fixes CODEC-77. Thanks to Julius Davies. ggregory
fix Make Base64 URL-safe. Fixes CODEC-75. Thanks to Julius Davies. ggregory
add Allow for uppercase letters output in Hex.encodeHex(). Fixes CODEC-74. ggregory
fix Soundex and RefinedSoundex issues with character arrays. Fixes CODEC-72. Thanks to Sebb. bayard
fix Base64.isArrayByteBase64() method is inefficient for large byte arrays. Fixes CODEC-71. Thanks to Sebb. bayard
fix Thread safety and malicious code safety improvements. Fixes CODEC-70. Thanks to Sebb. bayard
fix isBase64 throws ArrayIndexOutOfBoundsException on some non-BASE64 bytes. Fixes CODEC-68. Thanks to Robert Rodewald. bayard
fix Fix case-insensitive string handling. Fixes CODEC-65. Thanks to Benjamin Bentmann. bayard
fix Base64.encodeBase64() throws NegativeArraySizeException on large files. Fixes CODEC-61. Thanks to Igor Slepchin. ggregory
add Implement Caverphone. Fixes CODEC-60. bayard
fix Character set used by Base64 not documented. Fixes CODEC-58. Thanks to Julius Davies. ggregory
fix RefinedSoundex creates instance before al fields have been initialized. Fixes CODEC-56. Thanks to Sebb. bayard
add Digest on InputStreams. Fixes CODEC-52. Thanks to Niklas Gustavsson. bayard
fix 2 Test failures in SoundexTest. Fixes CODEC-51. bayard
add Patch to add crypto-compatible BigInteger encoding support to Base64. Fixes CODEC-40. Thanks to Chris Black. bayard
add DigestUtils: Add methods for SHA-256, SHA-384, and SHA-512. Fixes CODEC-39. Thanks to Jamie Flournoy. ggregory
fix Using US_ENGLISH in Soundex caused an NullPointerException. Fixes CODEC-10. Thanks to Reggie Riser. tobrien
fix Source tarball spews files all over the place. Fixes CODEC-6. Thanks to David Tonhofer. tobrien
fix Base64.isArrayByteBase64() throws an ArrayIndexOutOfBoundsException for negative octets Fixes CODEC-22. Thanks to Piero Ottuzzi. ggregory
add Streaming Base64 (Base64InputStream and Base64OutputStream added). Fixes CODEC-69. Thanks to Julius Davies. jochen
fix Base64: Improve Code Coverage Fixes CODEC-78. Thanks to Julius Davies. ggregory
add Add methods to Base64 which work with String instead of byte[] Fixes CODEC-59. Thanks to Julius Davies. ggregory
fix Base64's new constructor parameters ignored Fixes CODEC-81. Thanks to Julius Davies. ggregory
fix Improve Double Metaphone test coverage Fixes CODEC-83. niallp
fix Double Metaphone bugs in alternative encoding Fixes CODEC-84. niallp
fix Make string2byte conversions indepedent of platform default encoding Fixes CODEC-73. Thanks to Benjamin Bentmann. ggregory

Release 1.3 - 10 July 2004

Type Changes By
add BinaryCodec: Encodes and decodes binary to and from Strings of 0s and 1s. Fixes CODEC-21. Thanks to Alex Karasulu. ggregory, tobrien
add 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. Fixes CODEC-41. Thanks to Oleg Kalnichevski. ggregory
add BCodec: Identical to the Base64 encoding defined by RFC 1521 and allows a character set to be specified. Fixes CODEC-41. Thanks to Oleg Kalnichevski. ggregory
add 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. Fixes CODEC-41. Thanks to Oleg Kalnichevski. ggregory
add Soundex: Implemented the DIFFERENCE algorithm. Fixes CODEC-45. Thanks to Matthew Inger. ggregory
add RefinedSoundex: Implemented the DIFFERENCE algorithm. Fixes CODEC-45. Thanks to Matthew Inger. ggregory
update This version is relesed under the Apache License 2.0 , please see LICENSE.txt. Previous versions were released under the Apache License 1.1 ggregory
update The Board recommendation to remove Javadoc author tags has been implemented. All author tags are now "Apache Software Foundation". ggregory
fix The default URL encoding logic was broken. Fixes CODEC-25. Thanks to Oleg Kalnichevski. ggregory
fix Base64 chunked encoding not compliant with RFC 2045 section 2.1 CRLF. Fixes CODEC-31. Thanks to Gary D. Gregory. ggregory
fix Hex converts illegal characters to 255. Fixes CODEC-5. ggregory
fix 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". Fixes CODEC-17. tobrien
fix Added missing tags in Javadoc comments. ggregory
fix General Javadoc improvements. ggregory

Release 1.2 - 24 Nov 2003

Type Changes By
add URLCodec: Implements the www-form-urlencoded encoding scheme. Thanks to Oleg Kalnichevski. tobrien
add DigestUtils: Calculates MD5 and SHA digests. Thanks to Dave Dribin, David Graham. tobrien
fix 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. Fixes CODEC-26. Thanks to Brian Ewins. tobrien
fix Hex.decode(Object) throws a ClassCastException when a String argument is passed in. Fixes CODEC-4. ggregory
fix Soundex: The HW rule is not applied; hyphens and apostrophes are not ignored. Fixes CODEC-3. ggregory
fix 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. Fixes CODEC-29. ggregory
fix Fix in Metaphone relating to the handling of the maximum code length. Members

Release 1.1 - 29 April 2003

Type Changes By
add A newer version of the Base64 class reflecting improvements from both the commons-httpclient and xml-rpc versions of code forked from catalina. Members
add Base64 class from commons-httpclient in org.apache.commons.codec.base64 has been retained for backwards compatibility but has been deprecated. Members
add Soundex class from commons-util in org.apache.commons.codec. Members
add Metaphone class from commons-util in org.apache.commons.codec. Members
add RefinedSoundex class in org.apache.commons.codec. tobrien
add Encoder/Decoder interfaces in org.apache.commons. Members
add String and Binary specific Encoder/Decoder interfaces in org.apache.commons. Members
add StringEncoderComparator replaces the SoundexComparator from the language package. Members
fix Base64 now discards whitespace characters when decoding encoded content. Members

Release 1.0-dev - 25 April 2003

Type Changes By
add Base64 class from commons-httpclient in org.apache.commons.codec.base64. tobrien
add Soundex class from commons-util in org.apache.commons.codec. tobrien
add Metaphone class from commons-util in org.apache.commons.codec. tobrien
add SoundexComparator class from commons-util in org.apache.commons.codec. Members