Skip to content

Commit 010c313

Browse files
committed
Prepare for the next release candidate
1 parent d9b9a2a commit 010c313

File tree

4 files changed

+158
-17
lines changed

4 files changed

+158
-17
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Apache Commons Lang
4545

4646
[![Java CI](https://github.com/apache/commons-lang/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-lang/actions/workflows/maven.yml)
4747
[![Maven Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-lang3?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-lang3)
48-
[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-lang3/3.18.0.svg)](https://javadoc.io/doc/org.apache.commons/commons-lang3/3.18.0)
48+
[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-lang3/3.19.0.svg)](https://javadoc.io/doc/org.apache.commons/commons-lang3/3.19.0)
4949
[![CodeQL](https://github.com/apache/commons-lang/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-lang/actions/workflows/codeql-analysis.yml)
5050
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-lang/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-lang)
5151

@@ -76,7 +76,7 @@ Alternatively, you can pull it from the central Maven repositories:
7676
<dependency>
7777
<groupId>org.apache.commons</groupId>
7878
<artifactId>commons-lang3</artifactId>
79-
<version>3.18.0</version>
79+
<version>3.19.0</version>
8080
</dependency>
8181
```
8282

@@ -97,7 +97,7 @@ There are some guidelines which will make applying PRs easier for us:
9797
+ Respect the existing code style for each file.
9898
+ 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.
9999
+ Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running `mvn`.
100-
+ Before you pushing a PR, run `mvn` (by itself), this runs the default goal, which contains all build checks.
100+
+ Before you push a PR, run `mvn` (without arguments). This runs the default goal which contains all build checks.
101101
+ To see the code coverage report, regardless of coverage failures, run `mvn clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco`
102102

103103
If you plan to contribute on a regular basis, please consider filing a [contributor license agreement](https://www.apache.org/licenses/#clas).

RELEASE-NOTES.txt

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,147 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1414
See the License for the specific language governing permissions and
1515
limitations under the License.
1616

17+
Apache Commons Lang 3.19.0 Release Notes
18+
----------------------------------------
19+
20+
The Apache Commons Lang team is pleased to announce the release of Apache Commons Lang 3.19.0.
21+
22+
Commons Lang is a set of utility functions and reusable components that should be useful in any Java environment.
23+
24+
Starting with Commons Lang 3.9, we target Java 8, using those features.
25+
26+
For advice on upgrading from 2.x to 3.x, see:
27+
28+
https://commons.apache.org/lang/article3_0.html
29+
30+
Apache Commons Lang, a package of Java utility classes for the
31+
classes that are in java.lang's hierarchy, or are considered to be so
32+
standard as to justify existence in java.lang.
33+
34+
The code is tested using the latest revision of the JDK for supported
35+
LTS releases: 8, 11, 17 and 21 currently.
36+
See https://github.com/apache/commons-lang/blob/master/.github/workflows/maven.yml
37+
38+
Please ensure your build environment is up-to-date and kindly report any build issues.
39+
40+
This is a feature and maintenance release. Java 8 or later is required.
41+
42+
Changes in this version include:
43+
44+
New features:
45+
o Add ArrayUtils.SOFT_MAX_ARRAY_LENGTH. Thanks to Gary Gregory.
46+
o Add SystemUtils.IS_OS_NETWARE. Thanks to Gary Gregory.
47+
o Add MethodUtils.getAccessibleMethod(Class, Method). Thanks to Gary Gregory.
48+
o Add documentation to site for CVE-2025-48924 ClassUtils.getClass(...) can throw a StackOverflowError on very long inputs. Thanks to Gary Gregory.
49+
o Add StringUtils.indexOfAny(CharSequence, int, char...). Thanks to Gary Gregory.
50+
o Add ConcurrentException.ConcurrentException(String). Thanks to Gary Gregory.
51+
o Add DateUtils.toLocalDateTime(Date[, TimeZone]) #1385. Thanks to Finger, Gary Gregory, Piotr P. Karwasz.
52+
o Add DateUtils.toOffsetDateTime(Date[, TimeZone]). Thanks to Gary Gregory.
53+
o Add DateUtils.toZonedDateTime(Date[, TimeZone]). Thanks to Gary Gregory.
54+
o Add ByteConsumer. Thanks to Gary Gregory.
55+
o Add ByteSupplier. Thanks to Gary Gregory.
56+
o Add FailableByteConsumer. Thanks to Gary Gregory.
57+
o Add FailableByteSupplier. Thanks to Gary Gregory.
58+
o LANG-1784: Add Functions methods for null-safe mapping and chaining #1435. Thanks to Rich Dougherty, Gary Gregory.
59+
o LANG-1784: Add Failable methods for null-safe mapping and chaining #1435. Thanks to Rich Dougherty, Gary Gregory.
60+
o Add DoubleRange.fit(double). Thanks to Gary Gregory.
61+
o Add IntegerRange.fit(int). Thanks to Gary Gregory.
62+
o Add LongRange.fit(long). Thanks to Gary Gregory.
63+
o Add DurationUtils.get(String, TemporalUnit, long). Thanks to Gary Gregory.
64+
o Add DurationUtils.getMillis(String, long). Thanks to Gary Gregory.
65+
o Add DurationUtils.getSeconds(String, long). Thanks to Gary Gregory.
66+
o Add SystemProperties.getBoolean(Class, String, boolean). Thanks to Gary Gregory.
67+
o Add SystemProperties.getInt(Class, String, int). Thanks to Gary Gregory.
68+
o Add SystemProperties.getLong(Class, String, long). Thanks to Gary Gregory.
69+
70+
Fixed Bugs:
71+
o LANG-1778: MethodUtils.getMatchingMethod() doesn't respect the hierarchy of methods #1414. Thanks to wuwu2000.
72+
o MethodUtils.getMethodObject(Class<?>, String, Class<?>...) now returns null instead of throwing a NullPointerException, as it does for other exception types. Thanks to Gary Gregory.
73+
o Reduce spurious failures in ArrayUtilsTest methods that test ArrayUtils.shuffle() methods. Thanks to Gary Gregory.
74+
o MethodUtils cannot find or invoke a public method on a public class implemented in its package-private superclass. Thanks to Gary Gregory.
75+
o AtomicSafeInitializer.get() can spin internally if the FailableSupplier given to AbstractConcurrentInitializer.AbstractBuilder.setInitializer(FailableSupplier) throws a RuntimeException. Thanks to Stanislav Fort, Gary Gregory.
76+
o LANG-1783: WordUtils.containsAllWords?() may throw PatternSyntaxException. Thanks to Arnout Engelen, Stanislav Fort, Gary Gregory.
77+
o LANG-1782: MethodUtils cannot find or invoke vararg methods without providing vararg types or values #1427. Thanks to Joe Ferner, Gary Gregory.
78+
o MethodUtils cannot find or invoke vararg methods of interface types. Thanks to Joe Ferner, Gary Gregory.
79+
o MethodUtils cannot find or invoke vararg methods when widening primitive types following the JLS 5.1.2. Widening Primitive Conversion. Thanks to Joe Ferner, Gary Gregory.
80+
o LANG-1597: Invocation fails because matching varargs method found but then discarded. Thanks to Richard Eckart de Castilho, Gary Gregory.
81+
o Don't check accessibility twice in MemberUtils.setAccessibleWorkaround(T). Thanks to Gary Gregory.
82+
o LANG-1774: Improve handling of ClassUtils.getShortCanonicalName() for invalid input #1437. Thanks to Zhongxin Yan, Madhur Lathi, Yudan Liu, Gary Gregory.
83+
o LANG-1720: Improve Javadocs for Conversion. Thanks to Sheung Chi Chan, Arthur Chan, Gary Gregory, Elliotte Rusty Harold.
84+
o Fix CalendarUtils.toLocalDate() Javadoc return type description #1440. Thanks to mayuming.
85+
o Fix the method name in Javadoc examples for CharUtils.isHex() #1444. Thanks to mayuming.
86+
o Deprecate NumberUtils.compare(byte, byte) in favor of Byte.compare(byte, byte). Thanks to Gary Gregory.
87+
o Deprecate NumberUtils.compare(int, int) in favor of Integer.compare(int, int). Thanks to Gary Gregory.
88+
o Deprecate NumberUtils.compare(long, long) in favor of Long.compare(long, long). Thanks to Gary Gregory.
89+
o Deprecate NumberUtils.compare(short, short) in favor of Short.compare(short, short). Thanks to Gary Gregory.
90+
o Deprecate obsolete system property constant SystemProperties.AWT_TOOLKIT. Thanks to Gary Gregory.
91+
o Deprecate obsolete system property constant SystemProperties.JAVA_AWT_FONTS. Thanks to Gary Gregory.
92+
o Deprecate obsolete system property constant SystemProperties.JAVA_AWT_GRAPHICSENV. Thanks to Gary Gregory.
93+
o Deprecate obsolete system property constant SystemProperties.JAVA_AWT_HEADLESS. Thanks to Gary Gregory.
94+
o Deprecate obsolete system property constant SystemProperties.JAVA_AWT_PRINTERJOB. Thanks to Gary Gregory.
95+
o Deprecate obsolete system property constant SystemProperties.JAVA_COMPILER. Thanks to Gary Gregory.
96+
o Deprecate obsolete system property constant SystemProperties.JAVA_ENDORSED_DIRS. Thanks to Gary Gregory.
97+
o Deprecate obsolete system property constant SystemProperties.JAVA_EXT_DIRS. Thanks to Gary Gregory.
98+
o Deprecate method for obsolete system property constant SystemProperties.getAwtToolkit() Thanks to Gary Gregory.
99+
o Deprecate method for obsolete system property constant SystemProperties.getJavaAwtFonts() Thanks to Gary Gregory.
100+
o Deprecate method for obsolete system property constant SystemProperties.getJavaAwtGraphicsenv() Thanks to Gary Gregory.
101+
o Deprecate method for obsolete system property constant SystemProperties.getJavaAwtHeadless() Thanks to Gary Gregory.
102+
o Deprecate method for obsolete system property constant SystemProperties.getJavaAwtPrinterjob() Thanks to Gary Gregory.
103+
o Deprecate method for obsolete system property constant SystemProperties.getJavaCompiler() Thanks to Gary Gregory.
104+
o Deprecate method for obsolete system property constant SystemProperties.getJavaEndorsedDirs() Thanks to Gary Gregory.
105+
o Deprecate method for obsolete system property constant SystemProperties.getJavaExtDirs() Thanks to Gary Gregory.
106+
o Deprecate method for obsolete system property constant SystemUtils.isJavaAwtHeadless() Thanks to Gary Gregory.
107+
o Deprecate constants for obsolete system property SystemUtils.JAVA_AWT_FONTS. Thanks to Gary Gregory.
108+
o Deprecate constants for obsolete system property SystemUtils.JAVA_AWT_GRAPHICSENV. Thanks to Gary Gregory.
109+
o Deprecate constants for obsolete system property SystemUtils.JAVA_AWT_HEADLESS. Thanks to Gary Gregory.
110+
o Deprecate constants for obsolete system property SystemUtils.JAVA_AWT_PRINTERJOB. Thanks to Gary Gregory.
111+
o Deprecate constants for obsolete system property SystemUtils.JAVA_COMPILER. Thanks to Gary Gregory.
112+
o Deprecate constants for obsolete system property SystemUtils.JAVA_ENDORSED_DIRS. Thanks to Gary Gregory.
113+
o Deprecate constants for obsolete system property SystemUtils.JAVA_EXT_DIRS. Thanks to Gary Gregory.
114+
o [javadoc] General improvements. Thanks to Gary Gregory.
115+
o [javadoc] Fix thrown exception documentation for MethodUtils.getMethodObject(Class<?>, String, Class<?>...). Thanks to Gary Gregory.
116+
o [javadoc] Strings::equalsAny: CI doc string should show it's insensitive #1416. Thanks to Scott Parish.
117+
o [javadoc] General Javadoc improvements. Thanks to Gary Gregory.
118+
o LANG-1780: [javadoc] Fix Strings Javadoc #1419. Thanks to tza.
119+
o [javadoc] Fix typo in Javadoc of Strings instances #1406. Thanks to Sebastian Steiner.
120+
o [javadoc] Fix Javadocs in ClassUtils #1410. Thanks to Hassan A Hashim.
121+
o [javadoc] Fix @deprecated link for StringUtils#startsWithAny #1424. Thanks to mfg92.
122+
o Replace old feather logotype with new oak logotype. Thanks to Gary Gregory.
123+
124+
Changes:
125+
o [test] Bump org.apache.commons:commons-text from 1.13.1 to 1.14.0. Thanks to Gary Gregory.
126+
o Bump org.apache.commons:commons-parent from 85 to 88. Thanks to Gary Gregory.
127+
128+
129+
Historical list of changes: https://commons.apache.org/proper/commons-lang/changes.html
130+
131+
For complete information on Apache Commons Lang, including instructions on how to submit bug reports,
132+
patches, or suggestions for improvement, see the Apache Commons Lang website:
133+
134+
https://commons.apache.org/proper/commons-lang/
135+
136+
Download page: https://commons.apache.org/proper/commons-lang/download_lang.cgi
137+
138+
Have fun!
139+
Apache Commons Team
140+
141+
-----------------------------------------------------------------------------
142+
143+
Licensed to the Apache Software Foundation (ASF) under one or more
144+
contributor license agreements. See the NOTICE file distributed with
145+
this work for additional information regarding copyright ownership.
146+
The ASF licenses this file to You under the Apache License, Version 2.0
147+
(the "License"); you may not use this file except in compliance with
148+
the License. You may obtain a copy of the License at
149+
150+
https://www.apache.org/licenses/LICENSE-2.0
151+
152+
Unless required by applicable law or agreed to in writing, software
153+
distributed under the License is distributed on an "AS IS" BASIS,
154+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
155+
See the License for the specific language governing permissions and
156+
limitations under the License.
157+
17158
Apache Commons Lang 3.18.0 Release Notes
18159
----------------------------------------
19160

src/changes/changes.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ The <action> type attribute can be add,update,fix,remove.
4444
<title>Apache Commons Lang Release Notes</title>
4545
</properties>
4646
<body>
47-
<release version="3.19.0" date="YYYY-MM-DD" description="This is a feature and maintenance release. Java 8 or later is required.">
47+
<release version="3.19.0" date="2025-09-19" description="This is a feature and maintenance release. Java 8 or later is required.">
4848
<!-- FIX -->
4949
<action issue="LANG-1778" type="fix" dev="ggregory" due-to="wuwu2000">MethodUtils.getMatchingMethod() doesn't respect the hierarchy of methods #1414.</action>
5050
<action type="fix" dev="ggregory" due-to="Gary Gregory">MethodUtils.getMethodObject(Class&lt;?&gt;, String, Class&lt;?&gt;...) now returns null instead of throwing a NullPointerException, as it does for other exception types.</action>

src/site/xdoc/download_lang.xml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -115,32 +115,32 @@ limitations under the License.
115115
</p>
116116
</subsection>
117117
</section>
118-
<section name="Apache Commons Lang 3.18.0 (Java 8+)">
118+
<section name="Apache Commons Lang 3.19.0 (Java 8+)">
119119
<subsection name="Binaries">
120120
<table>
121121
<tr>
122-
<td><a href="[preferred]/commons/lang/binaries/commons-lang3-3.18.0-bin.tar.gz">commons-lang3-3.18.0-bin.tar.gz</a></td>
123-
<td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.18.0-bin.tar.gz.sha512">sha512</a></td>
124-
<td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.18.0-bin.tar.gz.asc">pgp</a></td>
122+
<td><a href="[preferred]/commons/lang/binaries/commons-lang3-3.19.0-bin.tar.gz">commons-lang3-3.19.0-bin.tar.gz</a></td>
123+
<td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.19.0-bin.tar.gz.sha512">sha512</a></td>
124+
<td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.19.0-bin.tar.gz.asc">pgp</a></td>
125125
</tr>
126126
<tr>
127-
<td><a href="[preferred]/commons/lang/binaries/commons-lang3-3.18.0-bin.zip">commons-lang3-3.18.0-bin.zip</a></td>
128-
<td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.18.0-bin.zip.sha512">sha512</a></td>
129-
<td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.18.0-bin.zip.asc">pgp</a></td>
127+
<td><a href="[preferred]/commons/lang/binaries/commons-lang3-3.19.0-bin.zip">commons-lang3-3.19.0-bin.zip</a></td>
128+
<td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.19.0-bin.zip.sha512">sha512</a></td>
129+
<td><a href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.19.0-bin.zip.asc">pgp</a></td>
130130
</tr>
131131
</table>
132132
</subsection>
133133
<subsection name="Source">
134134
<table>
135135
<tr>
136-
<td><a href="[preferred]/commons/lang/source/commons-lang3-3.18.0-src.tar.gz">commons-lang3-3.18.0-src.tar.gz</a></td>
137-
<td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.18.0-src.tar.gz.sha512">sha512</a></td>
138-
<td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.18.0-src.tar.gz.asc">pgp</a></td>
136+
<td><a href="[preferred]/commons/lang/source/commons-lang3-3.19.0-src.tar.gz">commons-lang3-3.19.0-src.tar.gz</a></td>
137+
<td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.19.0-src.tar.gz.sha512">sha512</a></td>
138+
<td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.19.0-src.tar.gz.asc">pgp</a></td>
139139
</tr>
140140
<tr>
141-
<td><a href="[preferred]/commons/lang/source/commons-lang3-3.18.0-src.zip">commons-lang3-3.18.0-src.zip</a></td>
142-
<td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.18.0-src.zip.sha512">sha512</a></td>
143-
<td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.18.0-src.zip.asc">pgp</a></td>
141+
<td><a href="[preferred]/commons/lang/source/commons-lang3-3.19.0-src.zip">commons-lang3-3.19.0-src.zip</a></td>
142+
<td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.19.0-src.zip.sha512">sha512</a></td>
143+
<td><a href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.19.0-src.zip.asc">pgp</a></td>
144144
</tr>
145145
</table>
146146
</subsection>

0 commit comments

Comments
 (0)