From 05714adcf957e7a7644a71cd82de30145288ff38 Mon Sep 17 00:00:00 2001
From: Gary Gregory
Date: Sun, 4 Feb 2024 10:09:27 -0500
Subject: [PATCH] Prepare release candidate
---
CONTRIBUTING.md | 5 +-
README.md | 83 ++++++++------------------------
RELEASE-NOTES.txt | 51 ++++++++++++++++++++
pom.xml | 4 +-
src/changes/release-notes.vm | 5 +-
src/site/xdoc/download_codec.xml | 26 +++++-----
src/site/xdoc/mail-lists.xml | 38 +++++++--------
7 files changed, 110 insertions(+), 102 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 11017958ac..62e99f8d28 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -49,13 +49,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/free).
++ 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://help.github.com/articles/fork-a-repo/) and check out your forked 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
--------------
@@ -109,7 +109,6 @@ Additional Resources
+ [General GitHub documentation](https://help.github.com/)
+ [GitHub pull request documentation](https://help.github.com/articles/creating-a-pull-request/)
+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
-+ `#apache-commons` IRC channel on `irc.freenode.net`
[cla]:https://www.apache.org/licenses/#clas
[jira]:https://issues.apache.org/jira/browse/CODEC
diff --git a/README.md b/README.md
index 8e2a705d49..66cda56ccc 100644
--- a/README.md
+++ b/README.md
@@ -46,12 +46,12 @@ Apache Commons Codec
[![Java CI](https://github.com/apache/commons-codec/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-codec/actions/workflows/maven.yml)
[![Coverage Status](https://codecov.io/gh/apache/commons-codec/branch/master/graph/badge.svg)](https://app.codecov.io/gh/apache/commons-codec)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/commons-codec/commons-codec/badge.svg?gav=true)](https://maven-badges.herokuapp.com/maven-central/commons-codec/commons-codec/?gav=true)
-[![Javadocs](https://javadoc.io/badge/commons-codec/commons-codec/1.16.0.svg)](https://javadoc.io/doc/commons-codec/commons-codec/1.16.0)
+[![Javadocs](https://javadoc.io/badge/commons-codec/commons-codec/1.16.1.svg)](https://javadoc.io/doc/commons-codec/commons-codec/1.16.1)
[![CodeQL](https://github.com/apache/commons-codec/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-codec/actions/workflows/codeql-analysis.yml)
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-codec/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-codec)
-The Apache Commons Codec package contains simple encoder and decoders for
- various formats such as Base64 and Hexadecimal. In addition to these
+The Apache Commons Codec component contains encoder 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.
@@ -62,8 +62,8 @@ More information can be found on the [Apache Commons Codec homepage](https://com
The [Javadoc](https://commons.apache.org/proper/commons-codec/apidocs) can be browsed.
Questions related to the usage of Apache Commons Codec should be posted to the [user mailing list](https://commons.apache.org/mail-lists.html).
-Where can I get the latest release?
------------------------------------
+Getting the latest release
+--------------------------
You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-codec/download_codec.cgi).
Alternatively, you can pull it from the central Maven repositories:
@@ -72,17 +72,25 @@ Alternatively, you can pull it from the central Maven repositories:
commons-codec
commons-codec
- 1.16.0
+ 1.16.1
```
+Building
+--------
+
+Building requires a Java JDK and [Apache Maven](https://maven.apache.org/).
+The required Java version is found in the `pom.xml` as the `maven.compiler.source` property.
+
+From a command shell, run `mvn` without arguments to invoke the default Maven goal to run all tests and checks.
+
Contributing
------------
We accept Pull Requests via GitHub. The [developer mailing list](https://commons.apache.org/mail-lists.html) is the main channel of communication for contributors.
There are some guidelines which will make applying PRs easier for us:
+ No tabs! Please use spaces for indentation.
-+ Respect the code style.
++ Respect the existing code style for each file.
+ Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
+ Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running ```mvn```.
@@ -91,13 +99,13 @@ You can learn more about contributing via GitHub in our [contribution guidelines
License
-------
-This code is under the [Apache License v2](https://www.apache.org/licenses/LICENSE-2.0).
+This code is licensed under the [Apache License v2](https://www.apache.org/licenses/LICENSE-2.0).
See the `NOTICE.txt` file for required notices and attributions.
-Donations
----------
-You like Apache Commons Codec? Then [donate back to the ASF](https://www.apache.org/foundation/contributing.html) to support the development.
+Donating
+--------
+You like Apache Commons Codec? Then [donate back to the ASF](https://www.apache.org/foundation/contributing.html) to support development.
Additional Resources
--------------------
@@ -106,59 +114,8 @@ Additional Resources
+ [Apache Issue Tracker (JIRA)](https://issues.apache.org/jira/browse/CODEC)
+ [Apache Commons Slack Channel](https://the-asf.slack.com/archives/C60NVB8AD)
+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
-+ `#apache-commons` IRC channel on `irc.freenode.org`
Apache Commons Components
-------------------------
-| Component | GitHub Repository | Apache Homepage |
-| --------- | ----------------- | ----------------|
-| Apache Commons BCEL | [commons-bcel](https://github.com/apache/commons-bcel) | [commons-bcel](https://commons.apache.org/proper/commons-bcel) |
-| Apache Commons Beanutils | [commons-beanutils](https://github.com/apache/commons-beanutils) | [commons-beanutils](https://commons.apache.org/proper/commons-beanutils) |
-| Apache Commons BSF | [commons-bsf](https://github.com/apache/commons-bsf) | [commons-bsf](https://commons.apache.org/proper/commons-bsf) |
-| Apache Commons Build-plugin | [commons-build-plugin](https://github.com/apache/commons-build-plugin) | [commons-build-plugin](https://commons.apache.org/proper/commons-build-plugin) |
-| Apache Commons Chain | [commons-chain](https://github.com/apache/commons-chain) | [commons-chain](https://commons.apache.org/proper/commons-chain) |
-| Apache Commons CLI | [commons-cli](https://github.com/apache/commons-cli) | [commons-cli](https://commons.apache.org/proper/commons-cli) |
-| Apache Commons Codec | [commons-codec](https://github.com/apache/commons-codec) | [commons-codec](https://commons.apache.org/proper/commons-codec) |
-| Apache Commons Collections | [commons-collections](https://github.com/apache/commons-collections) | [commons-collections](https://commons.apache.org/proper/commons-collections) |
-| Apache Commons Compress | [commons-compress](https://github.com/apache/commons-compress) | [commons-compress](https://commons.apache.org/proper/commons-compress) |
-| Apache Commons Configuration | [commons-configuration](https://github.com/apache/commons-configuration) | [commons-configuration](https://commons.apache.org/proper/commons-configuration) |
-| Apache Commons Crypto | [commons-crypto](https://github.com/apache/commons-crypto) | [commons-crypto](https://commons.apache.org/proper/commons-crypto) |
-| Apache Commons CSV | [commons-csv](https://github.com/apache/commons-csv) | [commons-csv](https://commons.apache.org/proper/commons-csv) |
-| Apache Commons Daemon | [commons-daemon](https://github.com/apache/commons-daemon) | [commons-daemon](https://commons.apache.org/proper/commons-daemon) |
-| Apache Commons DBCP | [commons-dbcp](https://github.com/apache/commons-dbcp) | [commons-dbcp](https://commons.apache.org/proper/commons-dbcp) |
-| Apache Commons Dbutils | [commons-dbutils](https://github.com/apache/commons-dbutils) | [commons-dbutils](https://commons.apache.org/proper/commons-dbutils) |
-| Apache Commons Digester | [commons-digester](https://github.com/apache/commons-digester) | [commons-digester](https://commons.apache.org/proper/commons-digester) |
-| Apache Commons Email | [commons-email](https://github.com/apache/commons-email) | [commons-email](https://commons.apache.org/proper/commons-email) |
-| Apache Commons Exec | [commons-exec](https://github.com/apache/commons-exec) | [commons-exec](https://commons.apache.org/proper/commons-exec) |
-| Apache Commons Fileupload | [commons-fileupload](https://github.com/apache/commons-fileupload) | [commons-fileupload](https://commons.apache.org/proper/commons-fileupload) |
-| Apache Commons Functor | [commons-functor](https://github.com/apache/commons-functor) | [commons-functor](https://commons.apache.org/proper/commons-functor) |
-| Apache Commons Geometry | [commons-geometry](https://github.com/apache/commons-geometry) | [commons-geometry](https://commons.apache.org/proper/commons-geometry) |
-| Apache Commons Graph | [commons-graph](https://github.com/apache/commons-graph) | [commons-graph](https://commons.apache.org/proper/commons-graph) |
-| Apache Commons Imaging | [commons-imaging](https://github.com/apache/commons-imaging) | [commons-imaging](https://commons.apache.org/proper/commons-imaging) |
-| Apache Commons IO | [commons-io](https://github.com/apache/commons-io) | [commons-io](https://commons.apache.org/proper/commons-io) |
-| Apache Commons JCI | [commons-jci](https://github.com/apache/commons-jci) | [commons-jci](https://commons.apache.org/proper/commons-jci) |
-| Apache Commons JCS | [commons-jcs](https://github.com/apache/commons-jcs) | [commons-jcs](https://commons.apache.org/proper/commons-jcs) |
-| Apache Commons Jelly | [commons-jelly](https://github.com/apache/commons-jelly) | [commons-jelly](https://commons.apache.org/proper/commons-jelly) |
-| Apache Commons Jexl | [commons-jexl](https://github.com/apache/commons-jexl) | [commons-jexl](https://commons.apache.org/proper/commons-jexl) |
-| Apache Commons Jxpath | [commons-jxpath](https://github.com/apache/commons-jxpath) | [commons-jxpath](https://commons.apache.org/proper/commons-jxpath) |
-| Apache Commons Lang | [commons-lang](https://github.com/apache/commons-lang) | [commons-lang](https://commons.apache.org/proper/commons-lang) |
-| Apache Commons Logging | [commons-logging](https://github.com/apache/commons-logging) | [commons-logging](https://commons.apache.org/proper/commons-logging) |
-| Apache Commons Math | [commons-math](https://github.com/apache/commons-math) | [commons-math](https://commons.apache.org/proper/commons-math) |
-| Apache Commons Net | [commons-net](https://github.com/apache/commons-net) | [commons-net](https://commons.apache.org/proper/commons-net) |
-| Apache Commons Numbers | [commons-numbers](https://github.com/apache/commons-numbers) | [commons-numbers](https://commons.apache.org/proper/commons-numbers) |
-| Apache Commons Parent | [commons-parent](https://github.com/apache/commons-parent) | [commons-parent](https://commons.apache.org/proper/commons-parent) |
-| Apache Commons Pool | [commons-pool](https://github.com/apache/commons-pool) | [commons-pool](https://commons.apache.org/proper/commons-pool) |
-| Apache Commons Proxy | [commons-proxy](https://github.com/apache/commons-proxy) | [commons-proxy](https://commons.apache.org/proper/commons-proxy) |
-| Apache Commons RDF | [commons-rdf](https://github.com/apache/commons-rdf) | [commons-rdf](https://commons.apache.org/proper/commons-rdf) |
-| Apache Commons Release-plugin | [commons-release-plugin](https://github.com/apache/commons-release-plugin) | [commons-release-plugin](https://commons.apache.org/proper/commons-release-plugin) |
-| Apache Commons Rng | [commons-rng](https://github.com/apache/commons-rng) | [commons-rng](https://commons.apache.org/proper/commons-rng) |
-| Apache Commons Scxml | [commons-scxml](https://github.com/apache/commons-scxml) | [commons-scxml](https://commons.apache.org/proper/commons-scxml) |
-| Apache Commons Signing | [commons-signing](https://github.com/apache/commons-signing) | [commons-signing](https://commons.apache.org/proper/commons-signing) |
-| Apache Commons Skin | [commons-skin](https://github.com/apache/commons-skin) | [commons-skin](https://commons.apache.org/proper/commons-skin) |
-| Apache Commons Statistics | [commons-statistics](https://github.com/apache/commons-statistics) | [commons-statistics](https://commons.apache.org/proper/commons-statistics) |
-| Apache Commons Testing | [commons-testing](https://github.com/apache/commons-testing) | [commons-testing](https://commons.apache.org/proper/commons-testing) |
-| Apache Commons Text | [commons-text](https://github.com/apache/commons-text) | [commons-text](https://commons.apache.org/proper/commons-text) |
-| Apache Commons Validator | [commons-validator](https://github.com/apache/commons-validator) | [commons-validator](https://commons.apache.org/proper/commons-validator) |
-| Apache Commons VFS | [commons-vfs](https://github.com/apache/commons-vfs) | [commons-vfs](https://commons.apache.org/proper/commons-vfs) |
-| Apache Commons Weaver | [commons-weaver](https://github.com/apache/commons-weaver) | [commons-weaver](https://commons.apache.org/proper/commons-weaver) |
+Please see the [list of components](https://commons.apache.org/components.html)
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 07eca9c708..d9411e370c 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,3 +1,54 @@
+Apache Commons Codec 1.16.1-SNAPSHOT
+RELEASE NOTES
+
+The Apache Commons Codec component contains encoder 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.
+
+Changes in this version include:
+
+New features:
+o Add Maven property project.build.outputTimestamp for build reproducibility. Thanks to Gary Gregory.
+
+Fixed Bugs:
+o CODEC-295: Test clean ups. Thanks to Gary Gregory.
+o [StepSecurity] ci: Harden GitHub Actions #187. Thanks to step-security-bot, Gary Gregory.
+o CODEC-295: Correct error in Base64 Javadoc #188. Thanks to Evan Saulpaugh.
+o CODEC-295: Add minimum Java version in changes.xml #186. Thanks to Olivier Jaquemet, Gary Gregory.
+o CODEC-310: Documentation update for the org.apache.commons.codec.digest.* package #208. Thanks to Yakov Shafranovich.
+o Precompile regular expression in UnixCrypt.crypt(byte[], String). Thanks to Gary Gregory.
+o CODEC-315: Fix possible IndexOutOfBoundException in PhoneticEngine.encode method #223. Thanks to Arthur Chan, Gary Gregory.
+o CODEC-313: Fix possible ArrayIndexOutOfBoundsException in QuotedPrintableCodec.encodeQuotedPrintable() method #221. Thanks to Arthur Chan, Gary Gregory.
+o CODEC-312: Fix possible StringIndexOutOfBoundException in MatchRatingApproachEncoder.encode() method #220. Thanks to Arthur Chan, Gary Gregory.
+o CODEC-311: Fix possible ArrayIndexOutOfBoundException in RefinedSoundex.getMappingCode() #219. Thanks to Arthur Chan, Gary Gregory.
+o CODEC-314: Fix possible IndexOutOfBoundsException in PercentCodec.insertAlwaysEncodeChars() method #222. Thanks to Arthur Chan, Gary Gregory.
+o Deprecate UnixCrypt 0-argument constructor. Thanks to Gary Gregory.
+o Deprecate Md5Crypt 0-argument constructor. Thanks to Gary Gregory.
+o Deprecate Crypt 0-argument constructor. Thanks to Gary Gregory.
+o Deprecate StringUtils 0-argument constructor. Thanks to Gary Gregory.
+o Deprecate Resources 0-argument constructor. Thanks to Gary Gregory.
+o Deprecate Charsets 0-argument constructor. Thanks to Gary Gregory.
+o Deprecate CharEncoding 0-argument constructor. Thanks to Gary Gregory.
+o Add missing version for animal-sniffer-maven-plugin. Thanks to Gary Gregory.
+
+Changes:
+o Bump commons-parent from 58 to 66. Thanks to Dependabot, Gary Gregory.
+o Bump commons-lang3 from 3.12.0 to 3.14.0. Thanks to Gary Gregory.
+o 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
diff --git a/pom.xml b/pom.xml
index 104adcc9e7..db9886c05b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,8 +32,8 @@ limitations under the License.
Apache Commons Codec
2002
- The Apache Commons Codec package contains simple encoder and decoders for
- various formats such as Base64 and Hexadecimal. In addition to these
+ The Apache Commons Codec component contains encoder 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.
diff --git a/src/changes/release-notes.vm b/src/changes/release-notes.vm
index caa0c19d0b..cce5c5a738 100644
--- a/src/changes/release-notes.vm
+++ b/src/changes/release-notes.vm
@@ -14,7 +14,8 @@
## KIND, either express or implied. See the License for the
## specific language governing permissions and limitations
## under the License.
- ${project.name} ${version} RELEASE NOTES
+${project.name} ${version}
+RELEASE NOTES
$introduction.replaceAll("(?
-
+
diff --git a/src/site/xdoc/mail-lists.xml b/src/site/xdoc/mail-lists.xml
index 7f8aa3bb83..32fb94f214 100644
--- a/src/site/xdoc/mail-lists.xml
+++ b/src/site/xdoc/mail-lists.xml
@@ -59,9 +59,9 @@ limitations under the License.
Questions related to the usage of Apache Commons Codec should be posted to the
- User List.
+ User List.
- The Developer List
+ The Developer List
is for questions and discussion related to the development of Apache Commons Codec.
Please do not cross-post; developers are also subscribed to the user list.
@@ -70,8 +70,10 @@ limitations under the License.
to subscribe.
- Note: please don't send patches or attachments to any of the mailing lists.
+ Note: please don't send patches or attachments to any of the mailing lists;
+ most of the lists are set up to drop attachments.
Patches are best handled via the Issue Tracking system.
+ If you have a GitHub account, most components also accept PRs (pull requests).
Otherwise, please upload the file to a public server and include the URL in the mail.
@@ -105,12 +107,11 @@ limitations under the License.
Subscribe |
Unsubscribe |
Post |
- mail-archives.apache.org
+ |
lists.apache.org
|
- markmail.org
- www.mail-archive.com
- news.gmane.org
+ |
+ www.mail-archive.com
|
@@ -125,12 +126,11 @@ limitations under the License.
Subscribe |
Unsubscribe |
Post |
- mail-archives.apache.org
+ |
lists.apache.org
|
- markmail.org
- www.mail-archive.com
- news.gmane.org
+ |
+ www.mail-archive.com
|
@@ -145,10 +145,10 @@ limitations under the License.
Subscribe |
Unsubscribe |
read only |
- mail-archives.apache.org
+ |
lists.apache.org
|
- markmail.org
+ |
www.mail-archive.com
|
@@ -164,10 +164,10 @@ limitations under the License.
Subscribe |
Unsubscribe |
read only |
- mail-archives.apache.org
+ |
lists.apache.org
|
- markmail.org
+ |
www.mail-archive.com
|
@@ -199,13 +199,11 @@ limitations under the License.
Subscribe |
Unsubscribe |
read only |
- mail-archives.apache.org
+ |
lists.apache.org
|
- markmail.org
- old.nabble.com
- www.mail-archive.com
- news.gmane.org
+ |
+ www.mail-archive.com
|