This is an automated email from the ASF dual-hosted git repository.
garydgregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-codec.git
The following commit(s) were added to refs/heads/master by this push:
new 8203c1c5 Prepare for the next release candidate
8203c1c5 is described below
commit 8203c1c5bb4342e2fbf258556cac4826eae7ca11
Author: Gary Gregory <[email protected]>
AuthorDate: Mon Jul 27 00:09:15 2026 +0000
Prepare for the next release candidate
---
CONTRIBUTING.md | 8 +++----
README.md | 7 ++++---
RELEASE-NOTES.txt | 45 ++++++++++++++++++++++++++++++++++++++++
src/changes/changes.xml | 2 +-
src/site/xdoc/download_codec.xml | 26 +++++++++++------------
5 files changed, 67 insertions(+), 21 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c07e7037..30a2a525 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -48,13 +48,13 @@ Getting Started
---------------
+ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
-+ Make sure you have a [GitHub account](https://github.com/signup). This is
not essential, but makes providing patches much easier.
++ Make sure you have a [GitHub account](https://github.com/signup/free). This
is not essential, but makes providing patches much easier.
+ If you're planning to implement a new feature it makes sense to discuss your
changes on the [dev list](https://commons.apache.org/mail-lists.html) first.
This way you can make sure you're not wasting your time on something that isn't
considered to be in Apache Commons Codec's scope.
+ Submit a [Jira Ticket][jira] for your issue, assuming one does not already
exist.
+ Clearly describe the issue including steps to reproduce when it is a bug.
+ Make sure you fill in the earliest version that you know has the issue.
+ Find the corresponding [repository on
GitHub](https://github.com/apache/?query=commons-),
-[fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo)
and check out your forked repository. If you don't have a GitHub account, you
can still clone the Commons repository.
+[fork](https://help.github.com/articles/fork-a-repo/) and check out your
forked repository. If you don't have a GitHub account, you can still clone the
Commons repository.
Making Changes
--------------
@@ -108,8 +108,8 @@ Additional Resources
+ [Contributing patches](https://commons.apache.org/patches.html)
+ [Apache Commons Codec JIRA project page][jira]
+ [Contributor License Agreement][cla]
-+ [General GitHub documentation](https://docs.github.com/)
-+ [GitHub pull request
documentation](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)
++ [General GitHub documentation](https://help.github.com/)
++ [GitHub pull request
documentation](https://help.github.com/articles/creating-a-pull-request/)
[cla]:https://www.apache.org/licenses/#clas
[jira]:https://issues.apache.org/jira/browse/CODEC
diff --git a/README.md b/README.md
index 5b4c3222..d796d483 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@ Apache Commons Codec
[](https://github.com/apache/commons-codec/actions/workflows/maven.yml)
[](https://search.maven.org/artifact/commons-codec/commons-codec)
-[](https://javadoc.io/doc/commons-codec/commons-codec/1.22.0)
+[](https://javadoc.io/doc/commons-codec/commons-codec/1.22.1)
[](https://github.com/apache/commons-codec/actions/workflows/codeql-analysis.yml)
[](https://api.securityscorecards.dev/projects/github.com/apache/commons-codec)
@@ -71,7 +71,7 @@ Alternatively, you can pull it from the central Maven
repositories:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
- <version>1.22.0</version>
+ <version>1.22.1</version>
</dependency>
```
@@ -118,4 +118,5 @@ Additional Resources
Apache Commons Components
-------------------------
-Please see the [list of components](https://commons.apache.org/components.html)
++ [List of Apache Commons
components](https://commons.apache.org/components.html): homepages and
documentation for all components.
++
[`REPOSITORIES.md`](https://github.com/apache/commons-parent/blob/master/REPOSITORIES.md):
overview of the code repositories and their build status.
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index b1752995..f967ac22 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,3 +1,48 @@
+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
-----------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 6cce9e35..f8696e5d 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -43,7 +43,7 @@ The <action> type attribute can be add,update,fix,remove.
<author>Apache Commons Developers</author>
</properties>
<body>
- <release version="1.22.1" date="YYYY-MM-DD" description="This is a feature
and maintenance release. Java 8 or later is required.">
+ <release version="1.22.1" date="2026-07-27" description="This is a feature
and maintenance release. Java 8 or later is required.">
<!-- FIX -->
<action type="fix" issue="CODEC-344" dev="ggregory" due-to="Ruiqi Dong,
Gary Gregory">Base64.Builder.setEncodeTable(byte...) accepts invalid custom
alphabets.</action>
<action type="fix" issue="CODEC-340" dev="ggregory" due-to="Ruiqi Dong,
Gary Gregory">Base58.Builder.setEncodeTable(byte...) is ignored when encoding
and decoding.</action>
diff --git a/src/site/xdoc/download_codec.xml b/src/site/xdoc/download_codec.xml
index 3d898c2e..1a78286c 100644
--- a/src/site/xdoc/download_codec.xml
+++ b/src/site/xdoc/download_codec.xml
@@ -115,32 +115,32 @@ limitations under the License.
</p>
</subsection>
</section>
- <section name="Apache Commons Codec 1.22.0 ">
+ <section name="Apache Commons Codec 1.22.1 ">
<subsection name="Binaries">
<table>
<tr>
- <td><a
href="[preferred]/commons/codec/binaries/commons-codec-1.22.0-bin.tar.gz">commons-codec-1.22.0-bin.tar.gz</a></td>
- <td><a
href="https://downloads.apache.org/commons/codec/binaries/commons-codec-1.22.0-bin.tar.gz.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/codec/binaries/commons-codec-1.22.0-bin.tar.gz.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/codec/binaries/commons-codec-1.22.1-bin.tar.gz">commons-codec-1.22.1-bin.tar.gz</a></td>
+ <td><a
href="https://downloads.apache.org/commons/codec/binaries/commons-codec-1.22.1-bin.tar.gz.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/codec/binaries/commons-codec-1.22.1-bin.tar.gz.asc">pgp</a></td>
</tr>
<tr>
- <td><a
href="[preferred]/commons/codec/binaries/commons-codec-1.22.0-bin.zip">commons-codec-1.22.0-bin.zip</a></td>
- <td><a
href="https://downloads.apache.org/commons/codec/binaries/commons-codec-1.22.0-bin.zip.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/codec/binaries/commons-codec-1.22.0-bin.zip.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/codec/binaries/commons-codec-1.22.1-bin.zip">commons-codec-1.22.1-bin.zip</a></td>
+ <td><a
href="https://downloads.apache.org/commons/codec/binaries/commons-codec-1.22.1-bin.zip.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/codec/binaries/commons-codec-1.22.1-bin.zip.asc">pgp</a></td>
</tr>
</table>
</subsection>
<subsection name="Source">
<table>
<tr>
- <td><a
href="[preferred]/commons/codec/source/commons-codec-1.22.0-src.tar.gz">commons-codec-1.22.0-src.tar.gz</a></td>
- <td><a
href="https://downloads.apache.org/commons/codec/source/commons-codec-1.22.0-src.tar.gz.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/codec/source/commons-codec-1.22.0-src.tar.gz.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/codec/source/commons-codec-1.22.1-src.tar.gz">commons-codec-1.22.1-src.tar.gz</a></td>
+ <td><a
href="https://downloads.apache.org/commons/codec/source/commons-codec-1.22.1-src.tar.gz.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/codec/source/commons-codec-1.22.1-src.tar.gz.asc">pgp</a></td>
</tr>
<tr>
- <td><a
href="[preferred]/commons/codec/source/commons-codec-1.22.0-src.zip">commons-codec-1.22.0-src.zip</a></td>
- <td><a
href="https://downloads.apache.org/commons/codec/source/commons-codec-1.22.0-src.zip.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/codec/source/commons-codec-1.22.0-src.zip.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/codec/source/commons-codec-1.22.1-src.zip">commons-codec-1.22.1-src.zip</a></td>
+ <td><a
href="https://downloads.apache.org/commons/codec/source/commons-codec-1.22.1-src.zip.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/codec/source/commons-codec-1.22.1-src.zip.asc">pgp</a></td>
</tr>
</table>
</subsection>