Author: ggregory
Date: Thu Jul 30 09:32:02 2026
New Revision: 86360
Log:
Publish commons-codec 1.22.1 Release
Added:
release/commons/codec/binaries/commons-codec-1.22.1-bin.tar.gz
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.tar.gz
release/commons/codec/binaries/commons-codec-1.22.1-bin.tar.gz.asc
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.tar.gz.asc
release/commons/codec/binaries/commons-codec-1.22.1-bin.tar.gz.sha512
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.tar.gz.sha512
release/commons/codec/binaries/commons-codec-1.22.1-bin.zip
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.zip
release/commons/codec/binaries/commons-codec-1.22.1-bin.zip.asc
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.zip.asc
release/commons/codec/binaries/commons-codec-1.22.1-bin.zip.sha512
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.zip.sha512
release/commons/codec/source/commons-codec-1.22.1-src.tar.gz
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.tar.gz
release/commons/codec/source/commons-codec-1.22.1-src.tar.gz.asc
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.tar.gz.asc
release/commons/codec/source/commons-codec-1.22.1-src.tar.gz.sha512
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.tar.gz.sha512
release/commons/codec/source/commons-codec-1.22.1-src.zip
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.zip
release/commons/codec/source/commons-codec-1.22.1-src.zip.asc
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.zip.asc
release/commons/codec/source/commons-codec-1.22.1-src.zip.sha512
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.zip.sha512
Replaced:
release/commons/codec/RELEASE-NOTES.txt
- copied unchanged from r86359,
dev/commons/codec/1.22.1-RC1/RELEASE-NOTES.txt
Deleted:
dev/commons/codec/1.22.1-RC1/RELEASE-NOTES.txt
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.tar.gz
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.tar.gz.asc
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.tar.gz.sha512
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.zip
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.zip.asc
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.zip.sha512
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.tar.gz
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.tar.gz.asc
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.tar.gz.sha512
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.zip
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.zip.asc
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.zip.sha512
Copied: release/commons/codec/RELEASE-NOTES.txt (from r86359,
dev/commons/codec/1.22.1-RC1/RELEASE-NOTES.txt)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/codec/RELEASE-NOTES.txt Thu Jul 30 09:32:02 2026
(r86360, copy of r86359, dev/commons/codec/1.22.1-RC1/RELEASE-NOTES.txt)
@@ -0,0 +1,504 @@
+Apache Commons Codec 1.22.1 Release Notes
+-----------------------------------------
+
+The Apache Commons Codec team is pleased to announce the release of Apache
Commons Codec 1.22.1.
+
+The Apache Commons Codec component contains encoders and decoders for
+formats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition
to these
+widely used encoders and decoders, the codec package also maintains a
+collection of phonetic encoding utilities.
+
+This is a feature and maintenance release. Java 8 or later is required.
+
+
+
+Fixed Bugs
+----------
+
+* CODEC-344: Base64.Builder.setEncodeTable(byte...) accepts invalid custom
alphabets. Thanks to Ruiqi Dong, Gary Gregory.
+* CODEC-340: Base58.Builder.setEncodeTable(byte...) is ignored when encoding
and decoding. Thanks to Ruiqi Dong, Gary Gregory.
+* CODEC-342: Base32.Builder.setEncodeTable(byte...) can create a codec that
cannot decode its own output. Thanks to Ruiqi Dong, Gary Gregory.
+* CODEC-343: Base32.Builder.setHexDecodeTable(boolean) sets the encode table
to a decode lookup table. Thanks to Ruiqi Dong, Gary Gregory.
+* CODEC-341: Base16.Builder.setEncodeTable(byte...) can create a codec that
cannot decode its own output. Thanks to Ruiqi Dong, Gary Gregory.
+* CODEC-339: URLCodec.encodeUrl(BitSet, byte[]) allows custom safe sets to
emit URL encoding control characters. Thanks to Ruiqi Dong, Gary Gregory.
+* CODEC-338: PercentCodec loses literal '+' when plusForSpace is enabled.
Thanks to Ruiqi Dong, Gary Gregory.
+* CODEC-337: Digest ALL reuses System.in, so only the first algorithm sees
the real input (#431). Thanks to Ruiqi Dong, Gary Gregory.
+* Fix Base64.toIntegerBytes(BigInteger) for zero edge case (#441).
Thanks to Gary Gregory.
+* Add messages when throwing NullPointerException. Thanks to Gary
Gregory.
+* Add messages when throwing NullPointerException. Thanks to Gary
Gregory.
+* StringEncoderComparator.StringEncoderComparator(StringEncoder)
now fails fast on null input. Thanks to Gary Gregory.
+
+Changes
+-------
+
+* Bump org.apache.commons:commons-parent from 98 to 103. Thanks to
Gary Gregory.
+* Bump commons-io:commons-io from 2.21.0 to 2.22.0. Thanks to Gary
Gregory.
+
+
+For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Codec website:
+
+https://commons.apache.org/proper/commons-codec/
+
+Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi
+
+---------------------------------------------------------------------------------
+Apache Commons Codec 1.22.0 Release Notes
+-----------------------------------------
+
+The Apache Commons Codec team is pleased to announce the release of Apache
Commons Codec 1.22.0.
+
+The Apache Commons Codec component contains encoders and decoders for
+formats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition
to these
+widely used encoders and decoders, the codec package also maintains a
+collection of phonetic encoding utilities.
+
+This is a feature and maintenance release. Java 8 or later is required.
+
+
+New features
+------------
+
+* CODEC-326: Add Base58 support. Thanks to Inkeet, Gary Gregory, Wolff Bock
von Wuelfingen.
+* Add BaseNCodecInputStream.AbstracBuilder.setByteArray(byte[]).
Thanks to Gary Gregory.
+* CODEC-335: Add GitIdentifiers to compute Git blob and tree object
identifiers. Thanks to Piotr P. Karwasz, Gary Gregory.
+
+Fixed Bugs
+----------
+
+* CODEC-249: Fix Incorrect transform of CH digraph according Metaphone basic
rules #423. Thanks to Shalu Jha, Andrey, Gary Gregory.
+* CODEC-317: ColognePhonetic can create duplicate consecutive codes in some
cases. Thanks to DRUser123, Shalu Jha, Gary Gregory.
+* Add boundary tests for BinaryCodec.fromAscii partial-bit inputs
#425. Thanks to fancying, Gary Gregory.
+* CODEC-336: Base64.Builder.setUrlSafe(boolean) Javadoc incorrectly states
null is accepted for primitive boolean parameter. Thanks to Partha Paul, Gary
Gregory.
+
+Changes
+-------
+
+* Bump org.apache.commons:commons-parent from 96 to 98. Thanks to
Gary Gregory.
+
+
+For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Codec website:
+
+https://commons.apache.org/proper/commons-codec/
+
+Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi
+
+---------------------------------------------------------------------------------
+Apache Commons Codec 1.21.0 Release Notes
+-----------------------------------------
+
+The Apache Commons Codec team is pleased to announce the release of Apache
Commons Codec 1.21.0.
+
+The Apache Commons Codec component contains encoders and decoders for
+formats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition
to these
+widely used encoders and decoders, the codec package also maintains a
+collection of phonetic encoding utilities.
+
+This is a feature and maintenance release. Java 8 or later is required.
+
+
+New features
+------------
+
+* CODEC-333: Add distinct Base64 decoding for standard and URL-safe formats.
Thanks to Aleksandr Beliakov, Gary Gregory.
+
+Fixed Bugs
+----------
+
+* Fix oak leaf icon references in overview.html when running `mvn
clean javadoc:javadoc`. Thanks to Gary Gregory.
+* Fix Apache RAT plugin console warnings. Thanks to Gary Gregory.
+* Fix malformed Javadoc comments. Thanks to Gary Gregory.
+
+Changes
+-------
+
+* Bump org.apache.commons:commons-parent from 91 to 96 #415, #418.
Thanks to Gary Gregory, Dependabot.
+* Bump commons-io:commons-io from 2.20.0 to 2.21.0. Thanks to Gary
Gregory.
+* Bump org.apache.commons:commons-lang3 from 3.19.0 to 3.20.0.
Thanks to Gary Gregory, Dependabot.
+
+
+For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Codec website:
+
+https://commons.apache.org/proper/commons-codec/
+
+Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi
+
+---------------------------------------------------------------------------------
+Apache Commons Codec 1.20.0 Release Notes
+-----------------------------------------
+
+The Apache Commons Codec team is pleased to announce the release of Apache
Commons Codec 1.20.0.
+
+The Apache Commons Codec component contains encoders and decoders for
+formats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition
to these
+widely used encoders and decoders, the codec package also maintains a
+collection of phonetic encoding utilities.
+
+This is a feature and maintenance release. Java 8 or later is required.
+
+
+New features
+------------
+
+* Add org.apache.commons.codec.digest.Crc16. Thanks to Fredrik
Kjellberg, Gary Gregory.
+* Add builders to org.apache.commons.codec.digest streams and
deprecate some old constructors. Thanks to Gary Gregory.
+* Add builder to Base16 streams and deprecate some old
constructors. Thanks to Gary Gregory.
+* Add support for SHAKE128-256 and SHAKE256-512 to `DigestUtils`
and `MessageDigestAlgorithms` on Java 25 and up. Thanks to Gary Gregory.
+* Add BaseNCodec.AbstractBuilder.setDecodeTable(byte[]) and
refactor subclasses. Thanks to Gary Gregory.
+
+
+Changes
+-------
+
+* Deprecate all but one Base32 constructor in favor of the builder
added in version 1.17.0. Thanks to Gary Gregory.
+* Deprecate all but one Base64 constructor in favor of the builder
added in version 1.17.0. Thanks to Gary Gregory.
+* BaseNCodecInputStream subclasses are now type-safe to match its
matching BaseNCodec. Thanks to Gary Gregory.
+* BaseNCodecOutputStream subclasses are now type-safe to match its
matching BaseNCodec. Thanks to Gary Gregory.
+* Bump org.apache.commons:commons-parent from 85 to 91. Thanks to
Gary Gregory, Dependabot.
+* [test] Bump org.apache.commons:commons-lang3 from 3.18.0 to
3.19.0. Thanks to Gary Gregory.
+
+
+For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Codec website:
+
+https://commons.apache.org/proper/commons-codec/
+
+Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi
+
+---------------------------------------------------------------------------------
+Apache Commons Codec 1.19.0 Release Notes
+-----------------------------------------
+
+The Apache Commons Codec team is pleased to announce the release of Apache
Commons Codec 1.19.0.
+
+The Apache Commons Codec component contains encoders and decoders for
+formats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition
to these
+widely used encoders and decoders, the codec package also maintains a
+collection of phonetic encoding utilities.
+
+This is a feature and maintenance release. Java 8 or later is required.
+
+
+New features
+------------
+
+* Add HmacUtils.hmac(Path). Thanks to Gary Gregory.
+* Add HmacUtils.hmacHex(Path). Thanks to Gary Gregory.
+* Add PMD check to the default Maven goal. Thanks to Gary Gregory.
+* Add SpotBugs check to the default Maven goal. Thanks to Gary
Gregory.
+
+Fixed Bugs
+----------
+
+* Remove -nouses directive from maven-bundle-plugin. OSGi package
imports now state 'uses' definitions for package imports, this doesn't affect
JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.
+* Refactor DigestUtils.updateDigest(MessageDigest, File) to use
NIO. Thanks to Gary Gregory.
+* CODEC-328: Clarify Javadoc for
org.apache.commons.codec.digest.UnixCrypt.crypt(byte[],String). Thanks to Gary
Gregory.
+* Precompile regular expressions in DaitchMokotoffSoundex.Rule.
Thanks to Gary Gregory.
+* Precompile regular expressions in
DaitchMokotoffSoundex.parseRules(Scanner, String, Map, Map). Thanks to Gary
Gregory.
+* Precompile regular expressions in Lang.loadFromResource(String,
Languages). Thanks to Gary Gregory.
+* Precompile regular expressions in PhoneticEngine.encode(String,
LanguageSet). Thanks to Gary Gregory.
+* Precompile regular expressions in
org.apache.commons.codec.language.bm.Rule.parse*(*). Thanks to Gary Gregory.
+* Remove redundant checks for whitespace in
DaitchMokotoffSoundex.soundex(String, boolean). Thanks to Gary Gregory.
+* Javadoc typo in Base16.java #380. Thanks to Sebastian Baunsgaard.
+* Deprecate unused constant
org.apache.commons.codec.language.bm.Rule.ALL. Thanks to Gary Gregory.
+* CODEC-331:
org.apache.commons.codec.language.bm.Rule.parsePhonemeExpr(String) adds
duplicate empty phoneme when input ends with |. Thanks to IlikeCode, Gary
Gregory.
+* CODEC-331:
org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) does
not remove special characters like punctuation. Thanks to IlikeCode, Gary
Gregory.
+* Fix PMD multiple UnnecessaryFullyQualifiedName in
org.apache.commons.codec.binary.StringUtils. Thanks to Gary Gregory.
+* Fix PMD UnusedFormalParameter in private constructor in
org.apache.commons.codec.binary.Base16. Thanks to Gary Gregory.
+* Fix PMD multiple UnnecessaryFullyQualifiedName in
org.apache.commons.codec.digest.Blake3. Thanks to Gary Gregory.
+* Fix PMD UnnecessaryFullyQualifiedName in
org.apache.commons.codec.digest.Md5Crypt. Thanks to Gary Gregory.
+* Fix PMD EmptyControlStatement in
org.apache.commons.codec.language.Metaphone. Thanks to Gary Gregory.
+* Fix SpotBugs [ERROR] Medium:
org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder.setEncodeTable(byte[])
may expose internal representation by storing an externally mutable object
into BaseNCodec$AbstractBuilder.encodeTable
[org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder] At
BaseNCodec.java:[line 131] EI_EXPOSE_REP2. Thanks to Gary Gregory.
+* The method
org.apache.commons.codec.binary.BaseNCodec.AbstractBuilder.setLineSeparator(byte...)
now makes a defensive copy. Thanks to Gary Gregory.
+* Avoid unnecessary String conversion in
org.apache.commons.codec.language.bm.PhoneticEngine.applyFinalRules(PhonemeBuilder,
Map). Thanks to Gary Gregory.
+* Fix SpotBugs [ERROR] High: Potentially dangerous use of
non-short-circuit logic in
org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String)
[org.apache.commons.codec.language.DaitchMokotoffSoundex] At
DaitchMokotoffSoundex.java:[line 350] NS_DANGEROUS_NON_SHORT_CIRCUIT. Thanks to
Gary Gregory.
+
+Changes
+-------
+
+* Bump org.apache.commons:commons-parent from 79 to 85 #375.
Thanks to Gary Gregory, Dependabot.
+* [test] Bump commons-io:commons-io from 2.18.0 to 2.20.0. Thanks
to Gary Gregory.
+* [test] Bump org.apache.commons:commons-lang3 from 3.17.0 to
3.18.0 #386. Thanks to Gary Gregory, Dependabot.
+
+
+For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Codec website:
+
+https://commons.apache.org/proper/commons-codec/
+
+Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi
+
+---------------------------------------------------------------------------------
+Apache Commons Codec 1.18.0 Release Notes
+-----------------------------------------
+
+The Apache Commons Codec team is pleased to announce the release of Apache
Commons Codec 1.18.0.
+
+The Apache Commons Codec component contains encoders and decoders for
+formats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition
to these
+widely used encoders and decoders, the codec package also maintains a
+collection of phonetic encoding utilities.
+
+This is a feature and maintenance release. Java 8 or later is required.
+
+
+New features
+------------
+
+* Add Base32.Builder.setHexDecodeTable(boolean). Thanks to Gary
Gregory, Julian Reschke.
+* Add Base32.Builder.setHexEncodeTable(boolean). Thanks to Gary
Gregory, Julian Reschke.
+
+
+Changes
+-------
+
+* Bump org.apache.commons:commons-parent from 78 to 79. Thanks to
Gary Gregory.
+
+
+For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Codec website:
+
+https://commons.apache.org/proper/commons-codec/
+
+Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi
+
+---------------------------------------------------------------------------------
+
+Apache Commons Codec 1.17.2 Release Notes
+-----------------------------------------
+
+The Apache Commons Codec component contains encoders and decoders for
+formats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition
to these
+widely used encoders and decoders, the codec package also maintains a
+collection of phonetic encoding utilities.
+
+This is a feature and maintenance release. Java 8 or later is required.
+
+
+Fixed Bugs
+----------
+
+* Rewrite DaitchMokotoffSoundex.soundex(String) using
String.join(). Thanks to Gary Gregory.
+* CODEC-324: Use Resource.class to load resources, rather than its class
loader #353. Thanks to Michael Froh.
+* Deprecate CharSequenceUtils.CharSequenceUtils(). Thanks to Gary
Gregory.
+* Deprecate Sha2Crypt.Sha2Crypt(). Thanks to Gary Gregory.
+
+Changes
+-------
+
+* Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0
#296, #305, #313. Thanks to Dependabot.
+* Bump org.apache.commons:commons-parent from 71 to 78 #310, #312,
#319, #323, #326, #333. Thanks to Gary Gregory.
+* [test] Bump commons-io:commons-io from 2.16.1 to 2.18.0 #318,
#341. Thanks to Gary Gregory, Dependabot.
+* Bump org.codehaus.mojo:taglist-maven-plugin from 3.1.0 to 3.2.1
#332. Thanks to Gary Gregory, Dependabot.
+
+
+For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Codec website:
+
+https://commons.apache.org/proper/commons-codec/
+
+Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi
+
+---------------------------------------------------------------------------------
+
+Apache Commons Codec 1.17.1 Release Notes
+-----------------------------------------
+
+The Apache Commons Codec component contains encoders and decoders for
+various formats such as Base16, Base32, Base64, digest, and Hexadecimal. In
addition to these
+widely used encoders and decoders, the codec package also maintains a
+collection of phonetic encoding utilities.
+
+Feature and fix release. Requires a minimum of Java 8.
+
+
+Fixed Bugs
+----------
+
+* Md5Crypt now throws IllegalArgumentException on an invalid
prefix. Thanks to Gary Gregory.
+
+Changes
+-------
+
+* Bump org.apache.commons:commons-parent from 69 to 71 #286.
Thanks to Gary Gregory.
+* Bump org.codehaus.mojo:animal-sniffer-maven-plugin from 1.23 to
1.24 #293. Thanks to Dependabot.
+* Bump org.codehaus.mojo:taglist-maven-plugin from 3.0.0 to 3.1.0
#292. Thanks to Dependabot.
+
+
+For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Codec website:
+
+https://commons.apache.org/proper/commons-codec/
+
+Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi
+
+---------------------------------------------------------------------------------
+
+Apache Commons Codec 1.17.0 Release Notes
+-----------------------------------------
+
+The Apache Commons Codec component contains encoders and decoders for
+various formats such as Base16, Base32, Base64, digest, and Hexadecimal. In
addition to these
+widely used encoders and decoders, the codec package also maintains a
+collection of phonetic encoding utilities.
+
+Feature and fix release. Requires a minimum of Java 8.
+
+
+New features
+------------
+
+* Add override
org.apache.commons.codec.language.bm.Rule.PhonemeExpr.size(). Thanks to Gary
Gregory.
+* Add support for Base64 custom alphabets #266. Thanks to Chris
Kocel, Gary Gregory.
+* Add Base64.Builder (allows custom alphabets). Thanks to Gary
Gregory.
+* Add Base32.Builder (allows custom alphabets). Thanks to Gary
Gregory.
+* Add Base64 support for a custom padding byte (like Base32).
Thanks to Gary Gregory.
+
+Fixed Bugs
+----------
+
+* CODEC-320: Wrong output of DoubleMetaphone in 1.16.1. Thanks to Martin
Frydl, Gary Gregory.
+* Optimize memory allocation in PhoneticEngine. Thanks to Gary
Gregory.
+* BCodec and QCodec encode() methods throw
UnsupportedCharsetException instead of EncoderException. Thanks to Gary Gregory.
+* Set Javadoc link to latest Java API LTS version. Thanks to Gary
Gregory.
+* Base32 constructor fails-fast with a NullPointerException if the
custom alphabet array is null. Thanks to Gary Gregory.
+* Base32 constructor makes a defensive copy of the line separator
array. Thanks to Gary Gregory.
+* Base64 constructor makes a defensive copy of the line separator
array. Thanks to Gary Gregory.
+* Base64 constructor makes a defensive copy of a custom alphabet
array. Thanks to Gary Gregory.
+
+Changes
+-------
+
+* Bump org.apache.commons:commons-parent from 66 to 69 #250, #261.
Thanks to Dependabot, Gary Gregory.
+* Bump commons-io:commons-io from 2.15.1 to 2.16.1 #258, #265.
Thanks to Dependabot, Gary Gregory.
+
+
+For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Codec website:
+
+https://commons.apache.org/proper/commons-codec/
+
+Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi
+
+---------------------------------------------------------------------------------
+
+Apache Commons Codec 1.16.1 Release Notes
+-----------------------------------------
+
+The Apache Commons Codec component contains encoders and decoders for
+various formats such as Base16, Base32, Base64, digest, and Hexadecimal. In
addition to these
+widely used encoders and decoders, the codec package also maintains a
+collection of phonetic encoding utilities.
+
+Feature and fix release. Requires a minimum of Java 8.
+
+New features
+------------
+
+* Add Maven property project.build.outputTimestamp for build
reproducibility. Thanks to Gary Gregory.
+
+Fixed Bugs
+----------
+
+* CODEC-295: Test clean ups. Thanks to Gary Gregory.
+* [StepSecurity] ci: Harden GitHub Actions #187. Thanks to
step-security-bot, Gary Gregory.
+* CODEC-295: Correct error in Base64 Javadoc #188. Thanks to Evan Saulpaugh.
+* CODEC-295: Add minimum Java version in changes.xml #186. Thanks to Olivier
Jaquemet, Gary Gregory.
+* CODEC-310: Documentation update for the org.apache.commons.codec.digest.*
package #208. Thanks to Yakov Shafranovich.
+* Precompile regular expression in UnixCrypt.crypt(byte[],
String). Thanks to Gary Gregory.
+* CODEC-315: Fix possible IndexOutOfBoundException in PhoneticEngine.encode
method #223. Thanks to Arthur Chan, Gary Gregory.
+* CODEC-313: Fix possible ArrayIndexOutOfBoundsException in
QuotedPrintableCodec.encodeQuotedPrintable() method #221. Thanks to Arthur
Chan, Gary Gregory.
+* CODEC-312: Fix possible StringIndexOutOfBoundException in
MatchRatingApproachEncoder.encode() method #220. Thanks to Arthur Chan, Gary
Gregory.
+* CODEC-311: Fix possible ArrayIndexOutOfBoundException in
RefinedSoundex.getMappingCode() #219. Thanks to Arthur Chan, Gary Gregory.
+* CODEC-314: Fix possible IndexOutOfBoundsException in
PercentCodec.insertAlwaysEncodeChars() method #222. Thanks to Arthur Chan, Gary
Gregory.
+* Deprecate UnixCrypt 0-argument constructor. Thanks to Gary
Gregory.
+* Deprecate Md5Crypt 0-argument constructor. Thanks to Gary
Gregory.
+* Deprecate Crypt 0-argument constructor. Thanks to Gary Gregory.
+* Deprecate StringUtils 0-argument constructor. Thanks to Gary
Gregory.
+* Deprecate Resources 0-argument constructor. Thanks to Gary
Gregory.
+* Deprecate Charsets 0-argument constructor. Thanks to Gary
Gregory.
+* Deprecate CharEncoding 0-argument constructor. Thanks to Gary
Gregory.
+* Add missing version for animal-sniffer-maven-plugin. Thanks to
Gary Gregory.
+
+Changes
+-------
+
+* Bump commons-parent from 58 to 66. Thanks to Dependabot, Gary
Gregory.
+* Bump commons-lang3 from 3.12.0 to 3.14.0. Thanks to Gary Gregory.
+* Bump commons-io from 2.13.0 to 2.15.1. Thanks to Gary Gregory.
+
+
+For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Codec website:
+
+https://commons.apache.org/proper/commons-codec/
+
+Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi
+
+---------------------------------------------------------------------------------
+
+ Apache Commons Codec 1.16.0
+
+The Apache Commons Codec package contains simple encoder and decoders for
+various formats such as Base64 and Hexadecimal. In addition to these
+widely used encoders and decoders, the codec package also maintains a
+collection of phonetic encoding utilities.
+
+Feature and fix release.
+
+Changes in this version include:
+
+New features
+------------
+
+* CODEC-296: Add support for Blake3 family of hashes. Thanks to Matt Sicker.
+* Add github/codeql-action.
+
+Fixed Bugs
+----------
+
+* CODEC-295: Minor improvements #67. Thanks to Arturo Bernal.
+* Remove duplicated words from Javadocs. Thanks to James Gan.
+* CODEC-301: Simplify assertion #84. Thanks to Alexander Pinske, Alex Herbert.
+* CODEC-300: Simplify assertion #84. Thanks to Arturo Bernal.
+* CODEC-298: Use Standard Charset object #82. Thanks to Arturo Bernal.
+* Use String.contains() functions #125. Thanks to Arturo Bernal.
+* Avoid use toString() or substring() in favor of a simplified
expression #126. Thanks to Arturo Bernal.
+* CODEC-305: Fix byte-skipping in Base16 decoding #135. Thanks to Florian.
+* Fix several typos, improve writing in some javadocs #139. Thanks
to Marc Wrobel.
+* BaseNCodecOutputStream.eof() should not throw IOException.
Thanks to Gary Gregory.
+* Javadoc improvements and cleanups. Thanks to Gary Gregory.
+* Deprecate BaseNCodec.isWhiteSpace(byte) and use
Character.isWhitespace(int). Thanks to Gary Gregory.
+
+Changes
+-------
+
+* Bump actions/cache from v2 to v3.0.10 #75, #99, #119, #138,
#149, #152. Thanks to Dependabot, Gary Gregory.
+* Bump actions/setup-java from v1.4.1 to 3.5.1 #60, #62, #121.
Thanks to Dependabot, Gary Gregory.
+* Bump actions/checkout from 2.3.2 to 3.1.0 #65, #98, #114, #153.
Thanks to Dependabot, Gary Gregory.
+* Bump commons-parent from 52 to 58, #147, #165, #170. Thanks to
Dependabot, Gary Gregory.
+* CODEC-285: Bump junit from 4.13.1 to 5.9.1 #76, #39, #140, #148. Thanks to
Dependabot, John Patrick.
+* Bump Java 7 to 8. Thanks to Gary Gregory.
+* Bump japicmp-maven-plugin from 0.14.3 to 0.17.1. Thanks to Gary
Gregory.
+* Bump jacoco-maven-plugin from 0.8.5 to 0.8.8 (Fixes Java 15
builds). Thanks to Gary Gregory.
+* Bump maven-surefire-plugin from 2.22.2 to 3.0.0-M7 #122, #134.
Thanks to Gary Gregory.
+* Bump maven-javadoc-plugin from 3.2.0 to 3.4.1. Thanks to Gary
Gregory.
+* Bump animal-sniffer-maven-plugin from 1.19 to 1.22. Thanks to
Gary Gregory.
+* Bump maven-pmd-plugin from 3.13.0 to 3.19.0, #133, #142, #145.
Thanks to Gary Gregory, Dependabot.
+* Bump pmd from 6.47.0 to 6.52.0. Thanks to Gary Gregory.
+* Bump maven-checkstyle-plugin from 2.17 to 3.2.0 #143. Thanks to
Gary Gregory.
+* Bump checkstyle from 8.45.1 to 9.3 #97, #100, #101, #103. Thanks
to Dependabot.
+* Bump taglist-maven-plugin from 2.4 to 3.0.0 #102. Thanks to
Dependabot.
+* Bump jacoco-maven-plugin from 0.8.7 to 0.8.8. Thanks to Gary
Gregory.
+
+
+For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Codec website:
+
+https://commons.apache.org/proper/commons-codec/
+
+Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi
+
+---------------------------------------------------------------------------------
Copied: release/commons/codec/binaries/commons-codec-1.22.1-bin.tar.gz (from
r86359, dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.tar.gz)
==============================================================================
Binary file (source and/or target). No diff available.
Copied: release/commons/codec/binaries/commons-codec-1.22.1-bin.tar.gz.asc
(from r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.tar.gz.asc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/codec/binaries/commons-codec-1.22.1-bin.tar.gz.asc Thu Jul
30 09:32:02 2026 (r86360, copy of r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.tar.gz.asc)
@@ -0,0 +1,8 @@
+-----BEGIN PGP SIGNATURE-----
+
+iJEEABYKADkWIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCamaidhsUgAAAAAAEAA5t
+YW51MiwyLjUrMS4xMiwwLDMACgkQUwql8lwlAR9zwAEA93SV637Y67AY3gRjs2S0
+jUZGmRvBTJ1synqAraLGNuUBAJ7ne6hKnY7yJkwVrENUX1NcNzjUF9mWUcPgJAU7
+HhEI
+=B6We
+-----END PGP SIGNATURE-----
Copied: release/commons/codec/binaries/commons-codec-1.22.1-bin.tar.gz.sha512
(from r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.tar.gz.sha512)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/codec/binaries/commons-codec-1.22.1-bin.tar.gz.sha512
Thu Jul 30 09:32:02 2026 (r86360, copy of r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.tar.gz.sha512)
@@ -0,0 +1 @@
+62e0c1baad7ae28f7d458ad79f6a3b2820acb9dafe56eefad5acdbc3183e6f0fc82bb0e31332ea43cd5da03b46e0c291802e4784bfea75c6a733b1289279ae3b
Copied: release/commons/codec/binaries/commons-codec-1.22.1-bin.zip (from
r86359, dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.zip)
==============================================================================
Binary file (source and/or target). No diff available.
Copied: release/commons/codec/binaries/commons-codec-1.22.1-bin.zip.asc (from
r86359, dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.zip.asc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/codec/binaries/commons-codec-1.22.1-bin.zip.asc Thu Jul
30 09:32:02 2026 (r86360, copy of r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.zip.asc)
@@ -0,0 +1,8 @@
+-----BEGIN PGP SIGNATURE-----
+
+iJEEABYKADkWIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCamaidhsUgAAAAAAEAA5t
+YW51MiwyLjUrMS4xMiwwLDMACgkQUwql8lwlAR9bPAD/QBkHnqajsztyA/OCEpm7
+Z5EXtTwMqHeGyqoRRXjBpgoBAJXNQ+udrS2ok3Z04My5GIWgzcf4h5GXYlJGiZRZ
+xRsA
+=5N5u
+-----END PGP SIGNATURE-----
Copied: release/commons/codec/binaries/commons-codec-1.22.1-bin.zip.sha512
(from r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.zip.sha512)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/codec/binaries/commons-codec-1.22.1-bin.zip.sha512 Thu Jul
30 09:32:02 2026 (r86360, copy of r86359,
dev/commons/codec/1.22.1-RC1/binaries/commons-codec-1.22.1-bin.zip.sha512)
@@ -0,0 +1 @@
+15d6639c7a5b1e0835ae0b43831717aed89bdc5782cea218e581c3447a9b48b42b03632624d76733092725b260d98f78f52d848e224e4a8c8e9214b470d636bd
Copied: release/commons/codec/source/commons-codec-1.22.1-src.tar.gz (from
r86359, dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.tar.gz)
==============================================================================
Binary file (source and/or target). No diff available.
Copied: release/commons/codec/source/commons-codec-1.22.1-src.tar.gz.asc (from
r86359, dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.tar.gz.asc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/codec/source/commons-codec-1.22.1-src.tar.gz.asc Thu Jul
30 09:32:02 2026 (r86360, copy of r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.tar.gz.asc)
@@ -0,0 +1,8 @@
+-----BEGIN PGP SIGNATURE-----
+
+iJEEABYKADkWIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCamaidhsUgAAAAAAEAA5t
+YW51MiwyLjUrMS4xMiwwLDMACgkQUwql8lwlAR99oAEA/zg/3Gqrx64fap2Q8cUL
+FhE7Ul4l/tV0vjwdz9JqZNYA/R4ohU5Qse3IeWvoEK1jeiIkpUkroG+XcGS0V8bR
+G24H
+=fhBQ
+-----END PGP SIGNATURE-----
Copied: release/commons/codec/source/commons-codec-1.22.1-src.tar.gz.sha512
(from r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.tar.gz.sha512)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/codec/source/commons-codec-1.22.1-src.tar.gz.sha512 Thu Jul
30 09:32:02 2026 (r86360, copy of r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.tar.gz.sha512)
@@ -0,0 +1 @@
+7b1ed7920282028b35c70b2bdd58e05097a83c80177d8a9b952da92be775b9ac0d06aff988b7d43c5f58646153b0a4282063c6c3576723d109d42efc3975a72c
Copied: release/commons/codec/source/commons-codec-1.22.1-src.zip (from r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.zip)
==============================================================================
Binary file (source and/or target). No diff available.
Copied: release/commons/codec/source/commons-codec-1.22.1-src.zip.asc (from
r86359, dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.zip.asc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/codec/source/commons-codec-1.22.1-src.zip.asc Thu Jul
30 09:32:02 2026 (r86360, copy of r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.zip.asc)
@@ -0,0 +1,8 @@
+-----BEGIN PGP SIGNATURE-----
+
+iJEEABYKADkWIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCamaidhsUgAAAAAAEAA5t
+YW51MiwyLjUrMS4xMiwwLDMACgkQUwql8lwlAR9ssQD+KrZrmtl6cunYiIbZpAzT
+YrD8P4k/xdKRCclyuv1tc7MA/iagr0hshNft9EU4tRek1aPZF/MVCgR5pAUDvWJS
+q9MA
+=FHft
+-----END PGP SIGNATURE-----
Copied: release/commons/codec/source/commons-codec-1.22.1-src.zip.sha512 (from
r86359, dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.zip.sha512)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/codec/source/commons-codec-1.22.1-src.zip.sha512 Thu Jul
30 09:32:02 2026 (r86360, copy of r86359,
dev/commons/codec/1.22.1-RC1/source/commons-codec-1.22.1-src.zip.sha512)
@@ -0,0 +1 @@
+533f12d752a744017e1b925c4cd995603bd071d2b94257e1adb21b0b8b59c97bf7515ea6a823cbfe0a03c98385a19c9f0a6b421418a319edf67c6eea54590ff5