This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-lang.git
The following commit(s) were added to refs/heads/master by this push: new e30167b3b Prepare for the next release candidate e30167b3b is described below commit e30167b3b3afe1228378ae09307c1d6fd4850afa Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sat Jul 13 14:06:52 2024 +0000 Prepare for the next release candidate --- CONTRIBUTING.md | 14 ++-- README.md | 20 +++--- RELEASE-NOTES.txt | 154 ++++++++++++++++++++++++++++++++++++++++ src/site/xdoc/download_lang.xml | 26 +++---- 4 files changed, 183 insertions(+), 31 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9a12c2764..a6b5fa287 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,28 +41,27 @@ Contributing to Apache Commons Lang ====================== -You have found a bug or you have an idea for a cool new feature? Contributing code is a great way to give something back to -the open source community. Before you dig right into the code there are a few guidelines that we need contributors to -follow so that we can have a chance of keeping on top of things. +Have you found a bug or have an idea for a cool new feature? Contributing code is a great way to give something back to the open-source community. +Before you dig right into the code, we need contributors to follow a few guidelines to have a chance of keeping on top of things. 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 Lang'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 -------------- + Create a _topic branch_ for your isolated work. * Usually you should base your branch on the `master` branch. - * A good topic branch name can be the JIRA bug id plus a keyword, e.g. `LANG-123-InputStream`. + * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. `LANG-123-InputStream`. * If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests. + Make commits of logical units. * Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue. @@ -72,7 +71,7 @@ Making Changes + 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 first. + Check for unnecessary whitespace with `git diff` -- check before committing. + Make sure you have added the necessary tests for your changes, typically in `src/test/java`. -+ Run all the tests with `mvn clean verify` to assure nothing else was accidentally broken. ++ Run all the tests with `mvn clean verify` to ensure nothing else was accidentally broken. Making Trivial Changes ---------------------- @@ -109,7 +108,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/LANG diff --git a/README.md b/README.md index 5be16e397..87a099bb6 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Apache Commons Lang [](https://github.com/apache/commons-lang/actions/workflows/maven.yml) [](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-lang3/?gav=true) -[](https://javadoc.io/doc/org.apache.commons/commons-lang3/3.14.0) +[](https://javadoc.io/doc/org.apache.commons/commons-lang3/3.15.0) [](https://github.com/apache/commons-lang/actions/workflows/codeql-analysis.yml) [](https://api.securityscorecards.dev/projects/github.com/apache/commons-lang) @@ -53,12 +53,11 @@ Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang. -The code is tested using the latest revision of the JDK for supported -LTS releases. -These are 8, 11, 17 and 21 currently, see: -https://github.com/apache/commons-lang/blob/master/.github/workflows/maven.yml - -Please ensure your build environment is up-to-date and kindly report any build issues. + The code is tested using the latest revision of the JDK for supported + LTS releases: 8, 11, 17 and 21 currently. + See https://github.com/apache/commons-lang/blob/master/.github/workflows/maven.yml + + Please ensure your build environment is up-to-date and kindly report any build issues. Documentation ------------- @@ -77,7 +76,7 @@ Alternatively, you can pull it from the central Maven repositories: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> - <version>3.14.0</version> + <version>3.15.0</version> </dependency> ``` @@ -97,7 +96,9 @@ There are some guidelines which will make applying PRs easier for us: + No tabs! Please use spaces for indentation. + 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```. ++ Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running `mvn`. ++ Before you pushing a PR, run `mvn` (by itself), this runs the default goal, which contains all build checks. ++ To see the code coverage report, regardless of coverage failures, run `mvn clean site -Dcommons.jacoco.haltOnFailure=false` If you plan to contribute on a regular basis, please consider filing a [contributor license agreement](https://www.apache.org/licenses/#clas). You can learn more about contributing via GitHub in our [contribution guidelines](CONTRIBUTING.md). @@ -119,7 +120,6 @@ Additional Resources + [Apache Issue Tracker (JIRA)](https://issues.apache.org/jira/browse/LANG) + [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 ------------------------- diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 6553b0ecf..33badc780 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -15,6 +15,160 @@ See the License for the specific language governing permissions and limitations under the License. + Apache Commons Lang + Version 3.15.0 + Release Notes + + +The Apache Commons team is pleased to announce Apache Commons Lang Version 3.15.0. + +Commons Lang is a set of utility functions and reusable components that should be of use in any Java environment. + +Starting with Commons Lang 3.9, we target Java 8, making use of those features. + +For advice on upgrading from 2.x to 3.x, see: + + https://commons.apache.org/lang/article3_0.html + +Apache Commons Lang, a package of Java utility classes for the +classes that are in java.lang's hierarchy, or are considered to be so +standard as to justify existence in java.lang. + +The code is tested using the latest revision of the JDK for supported +LTS releases: 8, 11, 17 and 21 currently. +See https://github.com/apache/commons-lang/blob/master/.github/workflows/maven.yml + +Please ensure your build environment is up-to-date and kindly report any build issues. + +New features and bug fixes (Java 8 or above). + +Changes in this version include: + +New features: +o LANG-1724: Customize text pattern in DiffResult#toString(). Thanks to Gary Gregory, Dennis Baerten. +o Add DiffBuilder.Builder. Thanks to Gary Gregory. +o Add DiffBuilder.builder(). Thanks to Gary Gregory. +o Add ReflectionDiffBuilder.Builder. Thanks to Gary Gregory. +o Add ReflectionDiffBuilder.builder(). Thanks to Gary Gregory. +o Add test in TypeUtilsTest #1151. Thanks to Elliotte Rusty Harold. +o Add Streams.failableStream(T), non-varargs variant. Thanks to Gary Gregory. +o Add Streams.nonNull(T), non-varargs variant. Thanks to Gary Gregory. +o Add ArrayUtils.nullTo(T[], T[]). Thanks to Gary Gregory. +o Add T ArrayUtils.arraycopy(T, int, T, int, int) fluent style. Thanks to Gary Gregory. +o Add T ArrayUtils.arraycopy(T, int, int, int, Function) fluent style. Thanks to Gary Gregory. +o Add SystemUtils.IS_JAVA_22. Thanks to Gary Gregory. +o Add JavaVersion.JAVA_22. Thanks to Gary Gregory. +o Add SystemProperties.getUserName(Supplier<String>). Thanks to Gary Gregory. +o Add SystemProperties.getLineSeparator(Supplier<String>). Thanks to Gary Gregory. +o Add SystemProperties.getJavaSpecificationVersion(Supplier<String>). Thanks to Gary Gregory. +o Add SystemProperties constants and methods for system properties as of Java 22. Thanks to Gary Gregory. +o Add MethodUtils.getMethodObject(Class, String, Class...). Thanks to Gary Gregory. +o LANG-1733: Add null-safe Consumers.accept() and Functions.apply() #1215. Thanks to Jongjin Bae, Gary Gregory. +o Add SystemUtils.IS_OS_ANDROID. Thanks to Gary Gregory. +o Add SystemUtils.IS_OS_MAC_OSX_SONOMA. Thanks to Gary Gregory. +o Add RuntimeEnvironment.inContainer() #1241. Thanks to Gary Gregory. +o Add AppendableJoiner and refactor string joining #1244. Thanks to Gary Gregory. + +Fixed Bugs: +o Improve Javadoc in ExceptionUtils #1136. Thanks to Mikl�s Karak�, Gary Gregory. +o Fixed two non-deterministic tests in EnumUtilsTest.java #1131. Thanks to Saiharshith Karuneegar Ramesh, Gary Gregory. +o LANG-1721: Fix wrong number check that cause StringIndexOutOfBoundsException #1140. Thanks to Arthur Chan, Gary Gregory. +o LANG-1722: Rethrow NegativeArraySizeException as SerializationException in SerializationUtils.deserialize(InputStream) #1141. Thanks to Arthur Chan. +o LANG-1723: Throw NumberFormatException instead of IndexOutOfBoundsException in NumberUtils.getMantissa(String, int) #1145. Thanks to Arthur Chan, Gary Gregory. +o Minor grammar fixes #1143. Thanks to Parano�d User. +o LANG-1713: ArrayUtils will return null when adding two null arrays, but undocumented. Thanks to John Hendrikx, Gary Gregory. +o Let parent POM figure out commons.spdx.version. Thanks to Gary Gregory. +o LANG-1726: Undeprecate ExceptionUtils.rethrow(Throwable). Thanks to V�clav Haisman, Gary Gregory. +o LANG-1702: Test the Conversion class #1155. Thanks to Elliotte Rusty Harold. +o Address minor redundancies after code inspection #1148. Thanks to ParanoidUser, Elliotte Rusty Harold, Gary Gregory. +o Allow EventListenerSupport to handle (and ignore) exception from listeners allowing invocation of all listeners #1167. Thanks to Gary Gregory. +o Deprecate AnnotationUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate ArchUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate ArrayUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate BooleanUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate CharSequenceUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate CharSetUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate CharUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate ClassLoaderUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate ClassPathUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate ClassUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate ConstructorUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate DateFormatUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate DateUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate Diff.getType(). Thanks to Gary Gregory. +o Deprecate DiffBuilder.DiffBuilder(T, T, ToStringStyle). Thanks to Gary Gregory. +o Deprecate DiffBuilder.DiffBuilder(T, T, ToStringStyle, boolean). Thanks to Gary Gregory. +o Deprecate DurationFormatUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate DurationUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate EnumUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate EventUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate FieldUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate IEEE754rUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate InheritanceUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate IntStreams 0-argument constructor. Thanks to Gary Gregory. +o Deprecate LocaleUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate LockingVisitors 0-argument constructor. Thanks to Gary Gregory. +o Deprecate MemberUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate MethodUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate NumberUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate ObjectUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate RandomStringUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate RandomUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate ReflectionDiffBuilder.ReflectionDiffBuilder(T, T, ToStringStyle). Thanks to Gary Gregory. +o Deprecate RegExUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate SerializationUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate Streams 0-argument constructor. Thanks to Gary Gregory. +o Deprecate StringEscapeUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate StringUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate Suppliers 0-argument constructor. Thanks to Gary Gregory. +o Deprecate SystemProperties 0-argument constructor. Thanks to Gary Gregory. +o Deprecate ThreadUtils 0-argument constructor. Thanks to Gary Gregory. +o Deprecate TypeUtils 0-argument constructor. Thanks to Gary Gregory. +o Make ArrayFill null-safe. Thanks to Gary Gregory. +o Make ArraySorter null-safe. Thanks to Gary Gregory. +o Make ArrayUtils.removeAll() null-safe. Thanks to Gary Gregory. +o Fix Java version in README.md #1170. Thanks to Philipp Trulson, Gary Gregory. +o StringUtils.stripAccents() should handle ligatures, UTF32 math blocks, etc. #1201. Thanks to Stephan Peters, Gary Gregory, Bernd. +o LANG-1524: TypeUtils.toString(Type) StackOverflowError for an inner class in the inner class parameterized enclosing class #657. Thanks to kijong.youn, Aakash Gupta, Gary Gregory. +o Deprecate SystemUtils.getUserName(String) in favor of SystemProperties.getUserName(Supplier). Thanks to Gary Gregory. +o Make LockVisitor.acceptReadLocked(FailableConsumer) null-safe. Thanks to Gary Gregory. +o Make LockVisitor.applyWriteLocked(FailableConsumer) null-safe. Thanks to Gary Gregory. +o Make ObjectUtils.getFirstNonNull(Supplier...) null-safe. Thanks to Gary Gregory. +o Make SystemProperties.getLineSeparator(Supplier). Thanks to Gary Gregory. +o StringUtils.stripAccents(String) doesn't handle "\u0111" and "\u0110" (Vietnamese) #1216. Thanks to hunghhdev. +o StringUtils.stripAccents(String) doesn't handle I with bar. Thanks to Gary Gregory. +o StringUtils.stripAccents(String) doesn't handle U with bar. Thanks to Gary Gregory. +o StringUtils.stripAccents(String) doesn't handle T with stroke. Thanks to Gary Gregory. +o LANG-1735: Fix Javadoc for FluentBitSet.setInclusive(int, int) #1222. Thanks to Tobias Kiecker. +o Same Javadoc changes as [TEXT-234] #1223. Thanks to Tobias Kiecker. +o Remove duplicate static data in SerializationUtils.ClassLoaderAwareObjectInputStream. Thanks to Gary Gregory. +o Reimplement RandomStringUtils on top of SecureRandom#getInstanceStrong() #1235. Thanks to Gary Gregory, Henri Yandell, Fabrice Benhamouda. +o LANG-1657: DiffBuilder: Type constraint for method append(..., DiffResult) too strict #786. Thanks to Matthias Welz, Andrew Thomas, Gary Gregory. + +Changes: +o Bump commons-parent from 64 to 71 #1194, #1233. Thanks to Dependabot, Gary Gregory. +o Bump org.codehaus.mojo:exec-maven-plugin from 3.1.1 to 3.3.0 #1175, #1224. Thanks to Dependabot. +o Bump org.apache.commons:commons-text from 1.11.0 to 1.12.0 #1200. Thanks to Dependabot. +o Bump org.easymock:easymock from 5.2.0 to 5.3.0 #1232. Thanks to Dependabot. +o Bump org.codehaus.mojo:taglist-maven-plugin from 3.0.0 to 3.1.0 #1242. Thanks to Dependabot. + +Removed: +o Drop obsolete JDK 13 Maven profile #1142. Thanks to Parano�d User. + +Historical list of changes: https://commons.apache.org/proper/commons-lang/changes-report.html + +For complete information on Apache Commons Lang, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Commons Lang website: + +https://commons.apache.org/proper/commons-lang/ + +Download page: https://commons.apache.org/proper/commons-lang/download_lang.cgi + +Have fun! +-Apache Commons Team + +----------------------------------------------------------------------------- + Apache Commons Lang Version 3.14.0 Release Notes diff --git a/src/site/xdoc/download_lang.xml b/src/site/xdoc/download_lang.xml index 0891e1838..eee47cdc9 100644 --- a/src/site/xdoc/download_lang.xml +++ b/src/site/xdoc/download_lang.xml @@ -113,32 +113,32 @@ limitations under the License. </p> </subsection> </section> - <section name="Apache Commons Lang 3.14.0 (Java 8+)"> + <section name="Apache Commons Lang 3.15.0 (Java 8+)"> <subsection name="Binaries"> <table> <tr> - <td><a href="[preferred]/commons/lang/binaries/commons-lang3-3.14.0-bin.tar.gz">commons-lang3-3.14.0-bin.tar.gz</a></td> - <td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.14.0-bin.tar.gz.sha512">sha512</a></td> - <td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.14.0-bin.tar.gz.asc">pgp</a></td> + <td><a href="[preferred]/commons/lang/binaries/commons-lang3-3.15.0-bin.tar.gz">commons-lang3-3.15.0-bin.tar.gz</a></td> + <td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.15.0-bin.tar.gz.sha512">sha512</a></td> + <td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.15.0-bin.tar.gz.asc">pgp</a></td> </tr> <tr> - <td><a href="[preferred]/commons/lang/binaries/commons-lang3-3.14.0-bin.zip">commons-lang3-3.14.0-bin.zip</a></td> - <td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.14.0-bin.zip.sha512">sha512</a></td> - <td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.14.0-bin.zip.asc">pgp</a></td> + <td><a href="[preferred]/commons/lang/binaries/commons-lang3-3.15.0-bin.zip">commons-lang3-3.15.0-bin.zip</a></td> + <td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.15.0-bin.zip.sha512">sha512</a></td> + <td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.15.0-bin.zip.asc">pgp</a></td> </tr> </table> </subsection> <subsection name="Source"> <table> <tr> - <td><a href="[preferred]/commons/lang/source/commons-lang3-3.14.0-src.tar.gz">commons-lang3-3.14.0-src.tar.gz</a></td> - <td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.14.0-src.tar.gz.sha512">sha512</a></td> - <td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.14.0-src.tar.gz.asc">pgp</a></td> + <td><a href="[preferred]/commons/lang/source/commons-lang3-3.15.0-src.tar.gz">commons-lang3-3.15.0-src.tar.gz</a></td> + <td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.15.0-src.tar.gz.sha512">sha512</a></td> + <td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.15.0-src.tar.gz.asc">pgp</a></td> </tr> <tr> - <td><a href="[preferred]/commons/lang/source/commons-lang3-3.14.0-src.zip">commons-lang3-3.14.0-src.zip</a></td> - <td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.14.0-src.zip.sha512">sha512</a></td> - <td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.14.0-src.zip.asc">pgp</a></td> + <td><a href="[preferred]/commons/lang/source/commons-lang3-3.15.0-src.zip">commons-lang3-3.15.0-src.zip</a></td> + <td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.15.0-src.zip.sha512">sha512</a></td> + <td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.15.0-src.zip.asc">pgp</a></td> </tr> </table> </subsection>