Author: ggregory
Date: Thu Jan 29 19:04:07 2026
New Revision: 82172

Log:
Publish commons-codec 1.21.0 Release

Added:
   release/commons/codec/binaries/commons-codec-1.21.0-bin.tar.gz
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.tar.gz
   release/commons/codec/binaries/commons-codec-1.21.0-bin.tar.gz.asc
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.tar.gz.asc
   release/commons/codec/binaries/commons-codec-1.21.0-bin.tar.gz.sha512
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.tar.gz.sha512
   release/commons/codec/binaries/commons-codec-1.21.0-bin.zip
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.zip
   release/commons/codec/binaries/commons-codec-1.21.0-bin.zip.asc
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.zip.asc
   release/commons/codec/binaries/commons-codec-1.21.0-bin.zip.sha512
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.zip.sha512
   release/commons/codec/source/commons-codec-1.21.0-src.tar.gz
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.tar.gz
   release/commons/codec/source/commons-codec-1.21.0-src.tar.gz.asc
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.tar.gz.asc
   release/commons/codec/source/commons-codec-1.21.0-src.tar.gz.sha512
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.tar.gz.sha512
   release/commons/codec/source/commons-codec-1.21.0-src.zip
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.zip
   release/commons/codec/source/commons-codec-1.21.0-src.zip.asc
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.zip.asc
   release/commons/codec/source/commons-codec-1.21.0-src.zip.sha512
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.zip.sha512
Replaced:
   release/commons/codec/RELEASE-NOTES.txt
      - copied unchanged from r82171, 
dev/commons/codec/1.21.0-RC1/RELEASE-NOTES.txt
Deleted:
   dev/commons/codec/1.21.0-RC1/RELEASE-NOTES.txt
   dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.tar.gz
   dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.tar.gz.asc
   dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.tar.gz.sha512
   dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.zip
   dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.zip.asc
   dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.zip.sha512
   dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.tar.gz
   dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.tar.gz.asc
   dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.tar.gz.sha512
   dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.zip
   dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.zip.asc
   dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.zip.sha512

Copied: release/commons/codec/RELEASE-NOTES.txt (from r82171, 
dev/commons/codec/1.21.0-RC1/RELEASE-NOTES.txt)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ release/commons/codec/RELEASE-NOTES.txt     Thu Jan 29 19:04:07 2026        
(r82172, copy of r82171, dev/commons/codec/1.21.0-RC1/RELEASE-NOTES.txt)
@@ -0,0 +1,417 @@
+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.21.0-bin.tar.gz (from 
r82171, dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.tar.gz)
==============================================================================
Binary file (source and/or target). No diff available.

Copied: release/commons/codec/binaries/commons-codec-1.21.0-bin.tar.gz.asc 
(from r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.tar.gz.asc)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ release/commons/codec/binaries/commons-codec-1.21.0-bin.tar.gz.asc  Thu Jan 
29 19:04:07 2026        (r82172, copy of r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.tar.gz.asc)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCaXODFAAKCRBTCqXyXCUB
+HxzzAQCOCno0M/XEd6bFJGoycT2yXLf46A7F0d9LseVphqZBKAD/Ye75C11c4llV
+vXLFuWac8K6osCxTeDTu48RAX58zgQo=
+=UM4m
+-----END PGP SIGNATURE-----

Copied: release/commons/codec/binaries/commons-codec-1.21.0-bin.tar.gz.sha512 
(from r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.tar.gz.sha512)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ release/commons/codec/binaries/commons-codec-1.21.0-bin.tar.gz.sha512       
Thu Jan 29 19:04:07 2026        (r82172, copy of r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.tar.gz.sha512)
@@ -0,0 +1 @@
+2131daec9fd83af950b1d9e6a437967ae919947fb1a51180f88e9e1b4420966d31a87872a18f40f6a7771692973f363b894771b2c7adb298300cbeb3a1d74232

Copied: release/commons/codec/binaries/commons-codec-1.21.0-bin.zip (from 
r82171, dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.zip)
==============================================================================
Binary file (source and/or target). No diff available.

Copied: release/commons/codec/binaries/commons-codec-1.21.0-bin.zip.asc (from 
r82171, dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.zip.asc)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ release/commons/codec/binaries/commons-codec-1.21.0-bin.zip.asc     Thu Jan 
29 19:04:07 2026        (r82172, copy of r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.zip.asc)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCaXODFAAKCRBTCqXyXCUB
+H1iKAQCJxBM+7Eldt0vJaAnDr9MQlcJQKokcudGZorgg5uyBwgEAn1pPOasPsmPb
+2NuCcN4FPFGtiDTx2gJPInzJ5A/X6gI=
+=AAbf
+-----END PGP SIGNATURE-----

Copied: release/commons/codec/binaries/commons-codec-1.21.0-bin.zip.sha512 
(from r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.zip.sha512)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ release/commons/codec/binaries/commons-codec-1.21.0-bin.zip.sha512  Thu Jan 
29 19:04:07 2026        (r82172, copy of r82171, 
dev/commons/codec/1.21.0-RC1/binaries/commons-codec-1.21.0-bin.zip.sha512)
@@ -0,0 +1 @@
+cbc3ab9a17c8b41c20c01d7ac2807fb429b6dce4dbea8d48bd581743f8ab08c629709bf4ad2f40017920cf240c2a4402efaa7b252b22233458f0d5e91483b4f2

Copied: release/commons/codec/source/commons-codec-1.21.0-src.tar.gz (from 
r82171, dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.tar.gz)
==============================================================================
Binary file (source and/or target). No diff available.

Copied: release/commons/codec/source/commons-codec-1.21.0-src.tar.gz.asc (from 
r82171, dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.tar.gz.asc)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ release/commons/codec/source/commons-codec-1.21.0-src.tar.gz.asc    Thu Jan 
29 19:04:07 2026        (r82172, copy of r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.tar.gz.asc)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCaXODFAAKCRBTCqXyXCUB
+H7jAAQDcN/t4nILYbFdf0wu6Suy8+VO4ojbPh/FVstzufPHShgD+MUFSn9TsEdpJ
+SmQOcQF8eJ2+EDoTeJO70ecZ8fQWTAc=
+=pQHr
+-----END PGP SIGNATURE-----

Copied: release/commons/codec/source/commons-codec-1.21.0-src.tar.gz.sha512 
(from r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.tar.gz.sha512)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ release/commons/codec/source/commons-codec-1.21.0-src.tar.gz.sha512 Thu Jan 
29 19:04:07 2026        (r82172, copy of r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.tar.gz.sha512)
@@ -0,0 +1 @@
+62521f0e0a35729d37cf8e297ea3ff14badfcd002497b57a2ce39ec11aa3f729a6f3357b8233a9162c2ff4e612072c6a0216549a74dd7d27ded4b844541f3e8e

Copied: release/commons/codec/source/commons-codec-1.21.0-src.zip (from r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.zip)
==============================================================================
Binary file (source and/or target). No diff available.

Copied: release/commons/codec/source/commons-codec-1.21.0-src.zip.asc (from 
r82171, dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.zip.asc)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ release/commons/codec/source/commons-codec-1.21.0-src.zip.asc       Thu Jan 
29 19:04:07 2026        (r82172, copy of r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.zip.asc)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCaXODFAAKCRBTCqXyXCUB
+H6CWAQDxx/XQW9U+c7jrH/wVXGnfzpGBZBxglbWJO4istWfoVgEA7el3SsWnmDkS
+S55pfSqk9dLlXjHjlrncjU23DJvW5AM=
+=QuzB
+-----END PGP SIGNATURE-----

Copied: release/commons/codec/source/commons-codec-1.21.0-src.zip.sha512 (from 
r82171, dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.zip.sha512)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ release/commons/codec/source/commons-codec-1.21.0-src.zip.sha512    Thu Jan 
29 19:04:07 2026        (r82172, copy of r82171, 
dev/commons/codec/1.21.0-RC1/source/commons-codec-1.21.0-src.zip.sha512)
@@ -0,0 +1 @@
+90a65da2e14231a1acead80d91fb93ea97ddb9998e90044b667d8b2b3f9816ab77b599d61e7b0590b1e801b1ab7a977c25c3bc6e3e465f9e48b266fb2927152d

Reply via email to