Apache Commons Lang Release Notes
Release History
| Version |
Date |
Description |
| 3.21.0 |
2026-09-25 |
This is a feature and maintenance release. Java 8 or later is required. |
| 3.20.0 |
2025-11-12 |
This is a feature and maintenance release. Java 8 or later is required. |
| 3.19.0 |
2025-09-19 |
This is a feature and maintenance release. Java 8 or later is required. |
| 3.18.0 |
2025-07-06 |
This is a feature and maintenance release. Java 8 or later is required. |
| 3.17.0 |
2024-08-24 |
This is a feature and maintenance release. Java 8 or later is required. |
| 3.16.0 |
2024-08-01 |
This is a feature and maintenance release. Java 8 or later is required. |
| 3.15.0 |
2024-07-13 |
New features and bug fixes (Java 8 or above). |
| 3.14.0 |
2023-11-18 |
New features and bug fixes (Java 8 or above). |
| 3.13.0 |
2023-07-23 |
New features and bug fixes (Java 8 or above). |
| 3.12.0 |
2021-02-26 |
New features and bug fixes (Java 8 or above). |
| 3.11 |
2020-07-12 |
New features and bug fixes (Java 8 or above). |
| 3.10 |
2020-03-22 |
New features and bug fixes. Requires Java 8 or above, supports Java 9, 10, 11. |
| 3.9 |
2019-04-09 |
New features and bug fixes. Requires Java 8 or above, supports Java 9, 10, 11. |
| 3.8.1 |
2018-09-19 |
This release is a bugfix for Restoring Bundle-SymbolicName in the MANIFEST.mf file. |
| 3.8 |
2018-08-15 |
New features and bug fixes. Requires Java 7, supports Java 8, 9, 10. |
| 3.7 |
2017-11-04 |
New features and bug fixes. Requires Java 7, supports Java 8, 9, 10. |
| 3.6 |
2017-06-08 |
New features and bug fixes. Requires Java 7. |
| 3.5 |
2016-10-13 |
New features including Java 9 detection |
| 3.4 |
2014-04-06 |
Feature and bugfix release |
| 3.3.2 |
2014-04-09 |
Bugfix for a bug in NumberUtils introduced in 3.3.1 |
| 3.3.1 |
2014-03-18 |
Bugfix release for 3.3 |
| 3.3 |
2014-03-04 |
Bug fixes and new features including: DifferenceBuilder, ClassPathUtils, RandomUtils and Jaro-Winkler String distance metric |
| 3.2.1 |
2014-01-05 |
Bug fix for 3.2 |
| 3.2 |
2014-01-01 |
Bug fixes and new features, at least requires Java 6.0 |
| 3.1 |
2011-11-14 |
November release |
| 3.0.1 |
2011-08-09 |
August release |
| 3.0 |
2011-07-18 |
Backwards incompatible update of Commons Lang to Java 5 |
| 2.6 |
2011-01-16 |
Bug Fixes/Enhancements for the 2.6 release (requires minimum of Java 1.3) |
| 2.5 |
2010-02-25 |
- |
| 2.4 |
2008-03-18 |
- |
| 2.3 |
2007-02-13 |
- |
| 2.2 |
2006-10-04 |
- |
| 2.1 |
2005-06-13 |
- |
| 2.0 |
2003-09-02 |
- |
| 1.0.1 |
2002-11-25 |
Quick bugfix to 1.0 |
| 1.0 |
2002-10-04 |
First release of Commons Lang |
Release 3.21.0 – 2026-09-25
| Type |
Changes |
By |
 |
Stop ExtendedMessageFormat seekNonWs reading past the pattern end. Thanks to Javid Khan, Gary Gregory. |
ggregory |
 |
Fix spelling and grammar in StringUtils #1486. Thanks to ThrawnCA. |
ggregory |
 |
Add ConversionTest assertions to increase coverage #1489. Thanks to Michael Hausegger, Gary Gregory. |
ggregory |
 |
Use Class<?> instead of Class<? extends Object> in MethodUtils #1491. Thanks to Boda65665, Gary Gregory. |
ggregory |
 |
ClassUtils now throws IllegalArgumentException if a class name represents an array with more dimensions than the JVM supports, 255:
getClass(ClassLoader, String, boolean),
ClassUtils.getClass(ClassLoader, String),
ClassUtils.getClass(String, boolean),
ClassUtils.getClass(String),
#1494. Thanks to Gary Gregory, Arnout Engelen, Piotr P. Karwasz, Vladimir Sitnikov, Gilles Sadowski. |
ggregory |
 |
ClassUtils now throws IllegalArgumentException if a class name length is greater than 65,535:
getClass(ClassLoader, String, boolean),
ClassUtils.getClass(ClassLoader, String),
ClassUtils.getClass(String, boolean),
ClassUtils.getClass(String),
#1495. Thanks to Gary Gregory, Arnout Engelen, Piotr P. Karwasz, Vladimir Sitnikov, Gilles Sadowski. |
ggregory |
 |
Fix console compiler warning: TypeUtils.java:[361,33] non-varargs call of varargs method with inexact argument type for last parameter. Thanks to Gary Gregory. |
ggregory |
 |
Fix console compiler warning: ReflectionDiffBuilderTest.java:[172,52] non-varargs call of varargs method with inexact argument type for last parameter. Thanks to Gary Gregory. |
ggregory |
 |
Fix Apache RAT plugin console warnings. Thanks to Gary Gregory. |
ggregory |
 |
Fix Javadoc description in CharUtils.isAsciiAlphanumeric() #1501. Fixes LANG-1793. Thanks to IcoreE. |
ggregory |
 |
Fix Javadoc for RandomUtils.secure(), it incorrectly mentions securerandom.strongAlgorithms #1503. Fixes LANG-1794. Thanks to IcoreE. |
ggregory |
 |
Fix NullPointerException in ReflectionDiffBuilder.getExcludeFieldNames() when instance created with ReflectionDiffBuilder.ReflectionDiffBuilder(T, T, ToStringStyle). Thanks to Gary Gregory. |
ggregory |
 |
Fail-fast for a null DiffBuilder in ReflectionDiffBuilder.ReflectionDiffBuilder(DiffBuilder, String[]) instead of getting a NullPointerException in ReflectionDiffBuilder instance methods. Thanks to Gary Gregory. |
ggregory |
 |
Fix NumberUtilsTest#testMaxDouble() and testMaxFloat() #4959. Thanks to Michael Hausegger, Gary Gregory. |
ggregory |
 |
Fix Javadoc for IEEE754rUtils.max(float...) and IEEE754rUtils.max(double...). Fixes LANG-1797. Thanks to IcoreE. |
ggregory |
 |
Fix StringUtilsSubstringTest.testCountMatches_char() to call the correct method. Fixes LANG-1798. Thanks to IcoreE, Gary Gregory. |
ggregory |
 |
Make private static variables final in RandomStringUtils #1513. Fixes LANG-1799. Thanks to IcoreE, Gary Gregory. |
ggregory |
 |
Speed up StringUtils.getDigits(String) #1515. Thanks to David Du, Gary Gregory. |
ggregory |
 |
Remove redundant length check in StringUtils.isBlank(CharSequence) #1516. Thanks to David Du, Gary Gregory. |
ggregory |
 |
Incorrect grammar and unclear wording in RandomStringUtils#random method #1520. Fixes LANG-1800. Thanks to IcoreE. |
ggregory |
 |
Fix collision in CharRange.hashCode(). Fixes LANG-1802. Thanks to Gary Gregory, IcoreE. |
ggregory |
 |
Fix race condition in Fraction.hashCode(). Thanks to Gary Gregory. |
ggregory |
 |
Fix race condition in Range.hashCode(). Thanks to Gary Gregory. |
ggregory |
 |
Document safer deserialization option in Javadoc for SerializationUtils. Thanks to Gary Gregory, Akshat_Agg. |
ggregory |
 |
NumberUtils.isParsable(String) returns true for full width Unicode digits for inputs with a decimal point. Fixes LANG-1729. Thanks to Gary Gregory, Andrei Anischevici, Akshat_Agg. |
ggregory |
 |
Fix incorrect method invocation in ObjectUtilsTest and Javadoc reference in RandomStringUtils. Fixes LANG-1803. Thanks to IcoreE. |
ggregory |
 |
Allow trailing decimal point in NumberUtils.isParsable(String) #1531. Fixes LANG-1695. Thanks to Guillaume Nodet, Harshit Goel, Gary Gregory. |
ggregory |
 |
Fix CharSet#getInstance returns null instead of EMPTY when input setStrs is null #1530. Fixes LANG-1804. Thanks to IcoreE, Gary Gregory. |
ggregory |
 |
Speedup CharSequenceUtils.toCharArray(CharSequence) for StringBuilder input: 160-205% improvement (2-3x faster), see CharSequenceUtilsBenchmark. Thanks to Gary Gregory. |
ggregory |
 |
Speedup CharSequenceUtils.toCharArray(CharSequence) for StringBuffer input: 300-4,250% improvement (4-44x faster), see CharSequenceUtilsBenchmark. Thanks to Gary Gregory. |
ggregory |
 |
Speedup CharSequenceUtils.toCharArray(CharSequence) for String input: ~1-2% improvement (essentially identical). Thanks to Gary Gregory. |
ggregory |
 |
Streamline StringUtils.truncate(String, int, int). Thanks to Gary Gregory. |
ggregory |
 |
Fix Javadoc comma spacing #1538. Thanks to Gary Gregory, sekharchowdary774. |
ggregory |
 |
Make private static variables final in RandomUtils. Fixes LANG-1807. Thanks to Zhongxin Yan, Gary Gregory. |
ggregory |
 |
Javadoc: Normalize some varargs examples. Fixes LANG-1448. Thanks to David W. Burhans, Gary Gregory, kamGP92. |
ggregory |
 |
Speedup StringUtils.join(AllPrimitiveTypes[], char, int, int), see StringUtilsJoinBenchmark, based on #1532. Also better StringBuilder allocation. Fixes LANG-1805. Thanks to Gary Gregory, jher235. |
ggregory |
 |
TypeUtils.isAssignable returns a wrong result for ParameterizedType when raw class is "Class" #1548. Fixes LANG-1749. Thanks to jinwoo choi, Gary Gregory, YuMing Ma, Ivan Šarić. |
ggregory |
 |
Improve handling of parameterized types and variable unrolling. Fixes LANG-1700. Thanks to seokhyeon moon, Gary Gregory, Ivan Šarić. |
ggregory |
 |
ArrayUtils.shuffle() throws NullPointerException for null array input. Fixes LANG-1811. Thanks to Raju Gupta, Gary Gregory. |
ggregory |
 |
[javadoc] Fix incorrect exception type in CharUtils Javadoc examples #1563. Thanks to Dennis Ginter, Gary Gregory. |
ggregory |
 |
[javadoc] Fix incorrect class names in RegExUtils Javadoc examples #1564. Fixes LANG-1806. Thanks to Dennis Ginter, Gary Gregory. |
ggregory |
 |
NumberUtils.isParsable("1.f") should return true #1560. Thanks to Gary Gregory, Jagdish Singh Bisht. |
ggregory |
 |
Simplify literal assignments in ArrayFillTest #1567. Thanks to Gary Gregory, David Du. |
ggregory |
 |
Make ArrayUtils methods implementation consistent with other overloads #1568. Thanks to Gary Gregory, David Du. |
ggregory |
 |
Fix handling of null marker in StringUtils.abbreviate(String, String, int, int) #1571. Thanks to ThrawnCA, Gary Gregory. |
ggregory |
 |
Better exception messages from FastDateParser.parse(String). Thanks to Gary Gregory. |
ggregory |
 |
Simplify NumberUtils.isParsable(String) #1570. Thanks to Gary Gregory, David Du. |
ggregory |
 |
RandomStringUtils.random() methods may not return when asked to generate only letters or only numbers while provided with a range that contains neither. Thanks to Gary Gregory. |
ggregory |
 |
Fix Javadoc parameter comments in StringUtils.truncate() methods #1536. Thanks to Gary Gregory, Akshat Upadhyay. |
ggregory |
 |
Improve test coverage for TypeUtils.isAssignable() #1574. Thanks to Gary Gregory, Dhaneesh.M. |
ggregory |
 |
Improve branch coverage for Processor (isAarch64, isRISCV); add ProcessorTest #1578. Thanks to Gary Gregory, Dhaneesh.M. |
ggregory |
 |
Fix ClassNotFoundException message in ClassUtils.getClass(String) #1577. Thanks to Gary Gregory, 烂泥扶上墙. |
ggregory |
 |
Fix Javadoc in DoubleRange.of(Double, Double) to reflect actual exception type thrown #1581. Thanks to Ivan Ponomarev. |
ggregory |
 |
RecursiveToStringStyle and MultilineRecursiveToStringStyle shouldn't recurse into a java.math.BigDecimal #1584. Fixes LANG-1452. Thanks to Gary Gregory, Aleksey Novozhilov, Sara. |
ggregory |
 |
ArrayUtils.subarray(..) may overflow index arithmetic and violate contract for extreme index values. Fixes LANG-1814. Thanks to Ivan Ponomarev. |
ggregory |
 |
ArrayUtils contains/indexOf/indexesOf with tolerance fail to match NaN values #1589. Fixes LANG-1816. Thanks to Ivan Ponomarev, Gary Gregory. |
ggregory |
 |
Fix StringIndexOutOfBoundsException message in StrBuilder.append(char[], int, int). Thanks to Ivan Ponomarev, Gary Gregory. |
ggregory |
 |
Fix ClassUtils.getShortClassName(Class) to correctly handle $ in valid class names #1591. Fixes LANG-1818. Thanks to Ivan Ponomarev, Gary Gregory. |
ggregory |
 |
ThreadUtils.sleepQuietly(Duration) now restores the current thread's interrupt flag when catching InterruptedException. Thanks to Ivan Ponomarev, Gary Gregory. |
ggregory |
 |
UncheckedFutureImpl clears thread interrupt status when wrapping InterruptedException #1590. Fixes LANG-1817. Thanks to Ivan Ponomarev, Gary Gregory. |
ggregory |
 |
Fix StringUtils.abbreviate(String, String, int) contract violations #1572. Thanks to ThrawnCA, Gary Gregory. |
ggregory |
 |
Add test coverage for negative-day adjustment in DurationFormatUtils #1596. Thanks to TK_ENDO, Arnout Engelen, Gary Gregory. |
ggregory |
 |
[Javadoc] Add usage examples to CharSet.contains(char) #1605. Thanks to Mohammad Bireybi, Gary Gregory. |
ggregory |
 |
CharSet now maintains iteration order. Thanks to Gary Gregory. |
ggregory |
 |
DateUtils.ceiling does not behave correctly for dates on the boundaries. Fixes LANG-771. Thanks to Ryan Holmes, Makarand Hinge, Gary Gregory. |
ggregory |
 |
[LANG-] Javadoc ArrayUtils.removeAll() null input behavior #1614. Fixes LANG-1819. Thanks to Partha Protim Paul, Gary Gregory. |
ggregory |
 |
ArrayUtils#hashCode() Javadoc incorrectly states “null returns zero” (actual result is 629). Fixes LANG-1813. Thanks to Ivan Ponomarev, Gary Gregory. |
ggregory |
 |
Deprecate Validate.Validate(). Thanks to Gary Gregory. |
ggregory |
 |
[javadoc] Fix ObjectUtils.anyNull(Object) for empty arrays. Fixes LANG-1820. Thanks to Partha Paul, Gary Gregory. |
ggregory |
 |
Fix StopWatch's stopInstant match stopTimeNanos when split is called #1610. Thanks to Lars Helge Øverland, Gary Gregory. |
ggregory |
 |
Fix NullPointerException in StopWatch.getStopTime(). Thanks to Gary Gregory. |
ggregory |
 |
Add "ppc64le" to ArchUtils #1625. See https://bugs.gentoo.org/972590
Bug 972590 - dev-java/commons-lang-3.20.0:
java.lang.NullPointerException: Cannot invoke
"org.apache.commons.lang3.arch.Processor.toString()" because "<local1>" Thanks to Volkmar W. Pogatzki, Gary Gregory. |
ggregory |
 |
NumberUtils.isCreatable(String) should match NumberUtils.createNumber(String), exactly #1626. Fixes LANG-1821. Thanks to FloydDsilva, Gary Gregory, Rob Tompkins. |
ggregory |
 |
NumberUtils.isCreatable fails for hexadecimal numbers with long type qualifier. Thanks to 尹茂椿萱, Gary Gregory. |
ggregory |
 |
NumberUtils.createNumber() performance: Short-circuit check based on pre-derived candidate Double #1628. Thanks to ax1nch, Gary Gregory. |
ggregory |
 |
LocaleUtils.toLocale cannot parse valid JDK Locale string containing '#' #1630. Fixes LANG-1823. Thanks to 尹茂椿萱, Gary Gregory. |
ggregory |
 |
LocaleUtils test fails with new Locale "ja_JP_JP_#u-ca-japanese" of JDK7. Fixes LANG-879. Thanks to Matthew T. Adams, Gary Gregory. |
ggregory |
 |
Fix typo in SystemProperties.JDK_XML_ENTITY_REPLACEMENT_LIMIT (#1631). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
Recompute Range cached hash codes on deserialization while retaining endpoint and comparator validation (#1633). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
Harden Fraction.readObject() to reject bad cached hash code (#1634). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
NumberUtils.createNumber(String): Float shortcut can bypass exact decimal parsing (#1635). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
StringUtils.joins() for primitive types can throw OOME before index check (#1636). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
Annotation lookup in MethodUtils.getAnnotation(Method, Class, boolean, boolean) matches unrelated overloads via assignable-parameter resolution (#1637). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
RandomStringUtils.random(...): A custom chars array throws IllegalArgumentException because validation loops treat the loop index as a char code point instead of an index into the chars array (#1638). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
RandomStringUtils.random(...): Can hang when the specified [start, end) range contains ONLY rejected code points (UNASSIGNED, PRIVATE_USE, SURROGATE). The loop increments count and retries indefinitely (#1638). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
TimedSemaphore.shutdown() must wake threads blocked in acquire() (#1639). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
NaN bypass in primitive double range validators (#1640). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
StringUtils.repeat(String, [String,] int) now throws IllegalArgumentException instead of NegativeArraySizeException (#1644). Fixes LANG-1826. Thanks to Cyl, Gary Gregory, Piotr Karwasz. |
ggregory |
 |
EqualsBuilder.reflectionAppend ttries to set visibility on excluded fields #1647. Fixes LANG-1825. Thanks to Daniel Skiles, Gary Gregory. |
ggregory |
 |
ToStringStyle.appendDetail(StringBuffer,String,Collection) bypass cycle registry. #1648. Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
ToStringStyle.appendDetail(StringBuffer,String,Map) bypass cycle registry. #1648. Thanks to Gary Gregory. |
ggregory |
 |
WordUtils.wrap() zero-width wrapOn regex match causes infinite loop (#1649).WordUtils.wrap() zero-width wrapOn regex match causes infinite loop (#1649). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
HashCodeBuilder.append(Object) StackOverflowError on mutually-referential objects (#1650). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
AtomicSafeInitializer.get() busy-spin without yield burns CPU during slow initialization (#1651). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
StrBuilder.readFrom(Readable) exposes stale internal buffer to Readable parameter (#1652). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
EqualsBuilder.reflectionEquals() array branch missing cycle guard causes stack overflow on self-referential Object arrays (#1653). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
WordUtils.wrap() leaves separator characters in the output when the wrapOn regex match is longer than one character (#1655). Thanks to Piotr Karwasz. |
pkarwasz |
 |
StringUtils.indexOfAny(CharSequence, int, char...) should not throw for a bad index (#1656). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
StrBuilder.deleteImpl(int, int, int) doesn't clear its unused bytes. (#1654). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
LocaleUtils.parseLocale(String) operator precedence bug allows invalid language with numeric country (#1658). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
DurationUtils.toMillisInt() throws ArithmeticException on long overflows before clamping (#1657). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
FastDatePrinter WeekYear rule calls Calendar.getWeekYear() may throw UnsupportedOperationException (#1659). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
DateUtils.parseDateWithLeniency() doesn't reset its time zone (#1660). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
FormattableUtils.append re-parses literal output as format string (#1661). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
ClassUtils.getShortClassName(String) can throw NoClassDefFoundError on malformed inner classes (#1665). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
TimeZones.GMT is a mutable public static final field (#1666). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
CompareToBuilder lacks cycle guard on Object[] recursion. (#1669). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
ClassUtils.toCleanName(String) resolves malformed array suffixes (#1670). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
StrBuilder.setLength(int) shrink-branch leaves residual chars in buffer tail (#1671). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
StrBuilder.replaceImpl() shrink-branch leaves residual chars in buffer tail (#1672). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
NumericEntityUnescaper.translate() throws IllegalArgumentException for values out of range (#1673). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
FastTimeZone.getGmtTimeZone() Javadoc promises null on no-match; regex always matches (#1674). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
Range.readObject() does not null-check comparator, minimum, or maximum (#1675). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
Make the StopWatch more reliable for tracking nanos, adjust suspend test (#1677). Thanks to Gary Gregory. |
ggregory |
 |
RandomStringUtils.random() does not strictly validate start and end (#1682). Fixes LANG-1801. Thanks to Zhongxin Yan, Gary Gregory. |
ggregory |
 |
Fix CharSequenceUtils.lastIndexOf for supplementary code points #1684. Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Range.readObject() does not re-assert the comparator/ordering invariant (#1686). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
Fraction.readObject() does not re-assert denominator != 0 (#1688). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
FastDateParser.readObject(ObjectInputStream) now validates the same (#1692). Thanks to Omkhar Arasaratnam, Gary Gregory. |
ggregory |
 |
Fix StringUtils.indexOfAny() matching an unpaired trailing high surrogate (#1687). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix LookupTranslator code point consumption for supplementary keys (#1691). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Re-assert CharRange start <= end invariant in readObject (#1693). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
FluentBitSet.readObject(ObjectInputStream) should validate constructor invariants (#1694). Thanks to Gary Gregory. |
ggregory |
 |
EventListenerSupport.readObject(ObjectInputStream) should validate constructor invariants (#1695). Thanks to Gary Gregory. |
ggregory |
 |
Correct JavaDoc in Strings.java concerning case-sensitivity (#1696). Thanks to mfg92. |
ggregory |
 |
Fix case-insensitive Strings.replace() dropping length-changing matches (#1697). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix int overflow in StringUtils.midString() and StrBuilder.midString() length handling (#1699). Thanks to alhudz. |
ggregory |
 |
Throw IllegalArgumentException for trailing whitespace in ExtendedMessageFormat argument index (#1701). Thanks to Gary Gregory, Javid Khan. |
ggregory |
 |
Reject doubled leading sign in NumberUtils.createBigInteger (#1702). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix RandomStringUtils.random() false rejection of letters and digits (#1703). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix substringAfter(Last) for supplementary code points (#1707). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Strip L suffix for oversized hex literals in createNumber (#1712). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix spurious overflow in Fraction.add/subtract for coprime denominators (#1709). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Drop trailing empty token from splitByWholeSeparator (#1710). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix indexOfDifference splitting a surrogate pair (#1713). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix int mask sign extension in BitField long methods (#1711). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Account for duplicate values in ObjectUtils.median() (#1715). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix silent int overflow in Fraction.getFraction(double) (#1717). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Find NaN in ArrayUtils.lastIndexOf for double and float arrays (#1718). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Reject sign characters in UnicodeUnescaper hex values (#1721). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Keep abbreviate and truncate off surrogate pair boundaries (#1719). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Keep initials from splitting a supplementary code point (#1722). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix int overflow in DurationFormatUtils.formatPeriod (#1720). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix CsvUnescaper bounds error on a single quote field (#1723). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix Strings.replace overflow on large replacements (#1716). Fixes LANG-1824. Thanks to Dhruv Aggarwal, Gary Gregory. |
ggregory |
 |
Classify supplementary code points in StringUtils is* predicates (#1724). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Emit surrogate pair for supplementary code points in UnicodeEscaper (#1726). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix MethodUtils.getMatchingMethod false ambiguity on boxed arguments (#1727). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fold supplementary code points in CharSequenceUtils.regionMatches (#1725). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix WordUtils.containsAllWords missing words across line breaks (#1732). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Handle supplementary code points in WordUtils case methods (#1728). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix StringUtils.getDigits dropping supplementary digits (#1729). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Keep StrBuilder.reverse from splitting surrogate pairs (#1730). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix NumberUtils min/max varargs dropping the sign of zero (#1733). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Handle supplementary code points in StringUtils.splitByCharacterType() (#1734). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix OOM in StringUtils.leftPad/rightPad when size is Integer.MIN_VALUE (#1736). Fixes LANG-1828. Thanks to Dhruv Aggarwal, Gary Gregory. |
ggregory |
 |
Fix Strings.CI.indexOf() returning out-of-range index for empty search (#1737). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Support escaped single quotes ('') in DurationFormatUtils format patterns (#1700). Fixes LANG-1827. Thanks to Sarankumar Baskar, Gary Gregory. |
ggregory |
 |
Keep DurationFormatUtils.lexx() from merging repeated fields split by a literal (#1738). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Reject hex letters in NumericEntityUnescaper decimal scan (#1739). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Keep FastDateParser numeric parse from throwing on int overflow (#1741). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Keep FastDateParser.parse error message intact for Japanese imperial locale (#1743). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Keep ExtendedMessageFormat from rejecting a quoted format style (#1744). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Match String case folding in StrBuilder.equalsIgnoreCase (#1745). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix FieldUtils.getField false ambiguity on inherited interface field (#1748). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Skip Chuvash locale parser tests on Java 27 (#1746). Thanks to Sarankumar Baskar, Gary Gregory. |
ggregory |
 |
Fix ArrayUtils.reverse range underflow on Integer.MIN_VALUE end (#1750). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix sign extension in BitField.getValue for top-bit fields (#1749). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix int overflow in FluentBitSet.setInclusive at Integer.MAX_VALUE (#1751). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Add messages when throwing NullPointerException. Thanks to Gary Gregory. |
ggregory |
 |
[Javadoc] Fix Failable class comment to clarify comparison of lambda versions (#1752). Thanks to Konrad Windszus. |
ggregory |
 |
Add tests for DateUtils.truncatedCompareTo and truncatedEquals (#1753). Fixes LANG-1829. Thanks to Maksym Korshun. |
ggregory |
 |
Avoid repeated regex compilation in ClassUtils.toCleanName() (#1754). Fixes LANG-1830. Thanks to Maksym Korshun. |
ggregory |
 |
Add missing test for ObjectUtils.isEmpty(Object) and wait(Object, Duration) (#1755, #1756). Thanks to Maksym Korshun, Gary Gregory. |
ggregory |
 |
Fix negative week year formatting in FastDatePrinter (#1762). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Keep abbreviateMiddle off surrogate pair boundaries (#1758). Thanks to kdelay, Gary Gregory. |
ggregory |
 |
Fix AnnotationUtils.equals for package-private annotations (#1760). Fixes LANG-1815. Thanks to Maksym Korshun, Gary Gregory. |
ggregory |
 |
Fix two Javadoc errors in StringUtils (#1763). Thanks to hunghhdev. |
ggregory |
 |
Reject non-ASCII hex characters in Conversion.hexDigitToInt (#1767). Thanks to alhuda, Gary Gregory. |
ggregory |
 |
Fix the overflow bound direction in Instants.toMillisSince(Instant) (#1766). Thanks to renechoi, Gary Gregory. |
ggregory |
 |
Fix spurious overflow in Fraction.multiplyBy for unreduced operands (#1769). Thanks to alhuda, Gary Gregory. |
ggregory |
 |
Fix low surrogate false match in StringUtils containsAny/containsNone/indexOfAny (#1771). Thanks to alhuda, Gary Gregory. |
ggregory |
 |
Keep StringUtils.chop from splitting a trailing surrogate pair (#1770). Thanks to alhuda, Gary Gregory. |
ggregory |
 |
Keep StringUtils stripStart and stripEnd off surrogate pair boundaries (#1773). Thanks to alhuda, Gary Gregory. |
ggregory |
 |
Fix the month/day example in DurationFormatUtils.formatPeriod Javadoc (#1772). Thanks to codeAnqiang-ma, Gary Gregory. |
ggregory |
 |
Fix typos in Javadoc and example comments (#1774). Thanks to gaurav kumar pandey, Gary Gregory. |
ggregory |
 |
Fix CharRange.contains(CharRange) for negated argument ranges (#1775). Thanks to alhuda, Gary Gregory. |
ggregory |
 |
Fix SpotBugs USO_UNSAFE_METHOD_SYNCHRONIZATION in CharSet. Thanks to Gary Gregory. |
ggregory |
 |
Keep StopWatch.formatSplitTime from clamping splits to int millis (#1777). Thanks to alhuda, Gary Gregory. |
ggregory |
 |
Keep StringUtils left, right, mid, and overlay off surrogate pair boundaries (#1776). Thanks to gaurav kumar pandey, Gary Gregory. |
ggregory |
 |
Align ReflectionDiffBuilder with AbstractReflection and add cycle detection to prevent StackOverflowError on cyclic object graphs. Thanks to Gaurav Pandey, Gary Gregory. |
ggregory |
 |
Fix DurationFormatUtils.formatPeriod() calculation when pattern omits 'M' (#1780). Thanks to gaurav kumar pandey, Gary Gregory. |
ggregory |
 |
FastDateParser parses 'Y' (week year) as plain calendar year; asymmetric with FastDatePrinter and with SimpleDateFormat; boundary dates shift by a full year, silently (f002). Thanks to Gary Gregory. |
ggregory |
 |
UnicodeUnescaper.unescapeJava/EcmaScript/Json: malformed \u sequences throw undeclared IllegalArgumentException, AND non-ASCII digit spellings of \u escapes are silently accepted; both arms of one missing ASCII-hex prescan (f004). Thanks to Gary Gregory. |
ggregory |
 |
StringUtils.replaceEachRepeatedly derives its recursion budget from the input itself; the documented StackOverflowError protection fails on large tables, and expanding rules amplify text 64x even at the default TTL (f005). Thanks to Gary Gregory. |
ggregory |
 |
EventUtils.EventBindingInvocationHandler.invoke() dispatches Object.hashCode/equals/toString into the bound business method (empty-eventTypes default), or returns null -> NPE from hash collections (non-empty) (f006). Thanks to Gary Gregory. |
ggregory |
 |
LocaleUtils static caches no longer grows on invalid input to LocaleUtils.countriesByLanguage(String) (f007). Thanks to Gary Gregory. |
ggregory |
 |
LocaleUtils static caches no longer grows on invalid input to LocaleUtils.countriesByLanguage(String) (f007). Thanks to Gary Gregory. |
ggregory |
 |
ExtendedMessageFormat.applyPattern() is quadratic: full pattern.toCharArray() per token (f008). Thanks to Gary Gregory. |
ggregory |
 |
WordUtils.wrap(wrapLongWords=false, the 2-arg default) copies the entire remaining string every iteration. (f009). Thanks to Gary Gregory. |
ggregory |
 |
FastDateParser.parse throws undeclared IllegalArgumentException, NullPointerException, and IllegalStateException on crafted date strings (f010). Thanks to Gary Gregory. |
ggregory |
 |
Memoizer: default caches the first failure forever, has no size bound or eviction, and runs the user computation inside the ConcurrentHashMap bin lock (blocking unrelated keys, deadlocking reentrant use) (f011). Thanks to Gary Gregory. |
ggregory |
 |
StringEscapeUtils.escapeEcmaScript() misses backtick/template-literal (`, ${) and inline-script parser-state sequences (<!--, <script) - claim 'Deals correctly with quotes' is falsified by ES6 (f012). Thanks to Gary Gregory. |
ggregory |
 |
StrSubstitutor (deprecated) recursive expansion has a cycle check but no fan-out, depth, or size bound (f013). Thanks to Gary Gregory. |
ggregory |
 |
DurationFormatUtils.formatPeriod walks the calendar one year per iteration, Long.MAX_VALUE endMillis forces ~292 million Calendar round trips on one thread (f014). Thanks to Gary Gregory. |
ggregory |
 |
JavaVersion.get() throws NumberFormatException where javadoc promises null (f015). Thanks to Gary Gregory. |
ggregory |
 |
Match Javadoc to code in SystemProperties.getProperty() and SystemUtils.getEnvironmentVariable() and update inline comments (f016). Thanks to Gary Gregory. |
ggregory |
 |
Fix LockingVisitors Javadoc to match code (f017). Thanks to Gary Gregory. |
ggregory |
 |
DoubleRange/Range accept NaN endpoints, silently producing a half-unbounded range, contains()/fit() fail open for every value above the minimum (f018). Thanks to Gary Gregory. |
ggregory |
 |
BitField long-mask fields silently mis-answer int/short/byte accessors: shifts masked mod 32, and sign extension makes above-bit-31 flags read as set on any negative holder (f019). Thanks to Gary Gregory. |
ggregory |
 |
ClassUtils.getClass() name normalization (whitespace stripping + dot-to-dollar rewriting) defeats host-side class-name string checks (f020). Thanks to Gary Gregory. |
ggregory |
 |
Fraction.getFraction(String) throws undeclared ArithmeticException on crafted numeric strings ('9999999999.5', '1/0', mixed-number overflow) (f021). Thanks to Gary Gregory. |
ggregory |
 |
StringEscapeUtils.escapeHtml4/3 apostrophe gap: single-quoted and unquoted HTML attribute contexts are trivially breakable, and the javadoc discloses the gap only as an HTML4 entity-legality footnote (f022). Thanks to Gary Gregory. |
ggregory |
 |
ArrayUtils.addAll/insert length arithmetic overflows (undeclared NegativeArraySizeException) while sibling concat is overflow-checked (f023). Thanks to Gary Gregory. |
ggregory |
 |
FormattableUtils.append pads right-justified output with insert(0) per char; O(width^2); '%500000s' costs ~1.25e11 char moves (f024). Thanks to Gary Gregory. |
ggregory |
 |
Attacker-controlled exception message forges frames in getRootCauseStackTrace output AND suppresses all real frames, beyond cosmetic log spoofing (f025). Thanks to Gary Gregory. |
ggregory |
 |
StrBuilder.indexOf materializes the whole builder as a String per call; deleteAll/replaceAll multiply it into ~750 GB churn on a 1 MB builder (f026). Thanks to Gary Gregory. |
ggregory |
 |
ThresholdCircuitBreaker accepts negative increments and overflows its accumulator, silently keeping the breaker closed (f027). Thanks to Gary Gregory. |
ggregory |
 |
ExceptionUtils.getThrowableList() cycle check is O(n^2) over deep cause chains; all chain-walking consumers inherit it (f031). Thanks to Gary Gregory. |
ggregory |
 |
Reflection builders' cycle registry unregisters per-visit: cycle-SAFE but DAG-exponential, a 40-level reference diamond drives ~2^40 traversals and unbounded output (f032). Thanks to Gary Gregory. |
ggregory |
 |
FastDateFormat static caches grow without bound per distinct pattern/zone/locale, untrusted patterns pin several KB each, forever (f033). Thanks to Gary Gregory. |
ggregory |
 |
Fix Fraction.add and subtract for operands not in lowest terms (#1784). Thanks to Jeff Lenamon, Gary Gregory. |
ggregory |
 |
Fix MethodUtils.invokeMethod on instances of non-public classes (#1783). Thanks to Jeff Lenamon, Gary Gregory. |
ggregory |
 |
Fraction.add and subtract return the reduced form when an operand is zero (#1787). Thanks to Jeff Lenamon, Gary Gregory. |
ggregory |
 |
Return null for out-of-range offset in FastTimeZone.getGmtTimeZone (#1788). Thanks to alhuda, Gary Gregory. |
ggregory |
 |
Fix TypeUtils.toString() recursion and bound handling on recursive generic types (#1789). Thanks to gaurav kumar pandey, Gary Gregory. |
ggregory |
 |
Fix Fraction reduction for Integer.MIN_VALUE (#1794). Fixes LANG-1834. Thanks to 尹茂椿萱, makarandhinge, Gary Gregory. |
ggregory |
 |
Defensively clone the TimeZone in FastDatePrinter and FastDateParser (#1795). Thanks to alhuda, Gary Gregory. |
ggregory |
 |
Defensively clone time zones used as FastDateFormat cache keys to prevent caller mutations from returning formatters with stale time zone rules. Thanks to Gary Gregory. |
ggregory |
 |
Fix ConstructorUtils.getMatchingAccessibleConstructor on non-public classes (#1793). Thanks to gaurav kumar pandey, Gary Gregory. |
ggregory |
 |
Fix NumberUtils.createNumber() and isCreatable() for positive Long literals with explicit '+' sign (#1796). Thanks to gaurav kumar pandey, Gary Gregory. |
ggregory |
 |
Add JavaVersion.JAVA_27. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_27. Thanks to Gary Gregory. |
ggregory |
 |
JavaVersion.get(String) now support Java 26, 27 and 28. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate ArrayUtils.SOFT_MAX_ARRAY_LENGTH in favor of SAFE_MAX_ARRAY_LENGTH #1559. Fixes LANG-1810. Thanks to Yelim Koo, Gary Gregory. |
ggregory |
 |
Add long support to BitField #1561. Thanks to Gary Gregory, Theodora Anastasia Lazaridou. |
ggregory |
 |
Add ArrayUtils.getDimensions(Object). Thanks to Gary Gregory. |
ggregory |
 |
Add ArrayUtils.concat() methods for concatenating multiple arrays #1519. Fixes LANG-1707. Thanks to Ivan Malutin, Gilles Sadowski, Gary Gregory. |
ggregory |
 |
Add FailableConsumer.accept(FailableConsumer, T) (#1641). Thanks to Gary Gregory. |
ggregory |
 |
Add AutoCloseables #1643. Thanks to Gary Gregory. |
ggregory |
 |
Make object accessibility optional with AbstractReflection.AbstractBuilder.setForceAccessible(boolean) (#1558). Fixes LANG-1711. Thanks to Gary Gregory. |
ggregory |
 |
Add ArrayFill.clear(char[]) (#1667). Thanks to Gary Gregory. |
ggregory |
 |
Add DurationUtils.toMillisLong(Duration) (#1679). Thanks to Gary Gregory. |
ggregory |
 |
Add Instants.toEpochMillis(Instant) (#1680). Thanks to Gary Gregory. |
ggregory |
 |
Add StringUtils.trimAsciiControl(String) (#1681). Thanks to Gary Gregory. |
ggregory |
 |
Add Instants.toMillisSince(Instant) (#1683). Thanks to Gary Gregory. |
ggregory |
 |
Add CharUtils isHex(int), isAsciiNumeric(int), isOctal(int) (#1685). Thanks to Gary Gregory. |
ggregory |
 |
Add and use Instants.toInstant(Instant[, Instant]) (#1690). Thanks to Gary Gregory. |
ggregory |
 |
Handle ParsePosition index beyond source string length cleanly (#1757). Fixes LANG-1833. Thanks to Maksym Korshun. |
ggregory |
 |
Fix StrBuilder.lastIndexOf(String) start index for an empty search (#1759). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Fix int overflow in Conversion count and position bounds guards (#1779). Thanks to alhudz, Gary Gregory. |
ggregory |
 |
Add ClassUtils.getClassStrict(ClassLoader, String, boolean) (f020). Thanks to Gary Gregory. |
ggregory |
 |
Add ClassUtils.getClassStrict(String) (f020). Thanks to Gary Gregory. |
ggregory |
 |
Fix TypeUtils.isAssignable() for wildcards with multiple upper bounds (#1782). Thanks to Gary Gregory, gaurav kumar pandey. |
ggregory |
 |
Add JavaVersion.JAVA_28. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_28. Thanks to Gary Gregory. |
ggregory |
 |
Preserve serialization compatibility with 3.20.0 for Range, IntegerRange, LongRange, and DoubleRange by retaining Range serialVersionUID 1L. Streams written by 3.21.0 RC1 with UID 2L require reading with RC1 and exporting endpoint and comparator values before rebuilding ranges with this release. Thanks to Gary Gregory. |
ggregory |
 |
Bump org.apache.commons:commons-parent from 92 to 105 #1498. Thanks to Gary Gregory, Dependabot. |
ggregory |
 |
[test] Bump org.apache.commons:commons-text from 1.14.0 to 1.15.0. Thanks to Gary Gregory. |
ggregory |
Release 3.20.0 – 2025-11-12
| Type |
Changes |
By |
 |
Optimize ObjectToStringComparator.compare() method #1449. Thanks to mayuming, Gary Gregory. |
ggregory |
 |
[javadoc] Improve StringUtils Javadoc #1450. Thanks to Marcono1234, Gary Gregory. |
ggregory |
 |
Fix internal inverted logic in private isEnum() method and correct its usage in getFirstEnum() #1454. Thanks to mayuming, Gary Gregory. |
ggregory |
 |
Use accessors in ToStringStyle so subclasses can effectively override them. Thanks to William Degrange, Gary Gregory, Rob Spoor. |
ggregory |
 |
`LocaleUtils.toLocale(String)` for a 2 letter country code now returns a value instead of throwing an `IllegalArgumentException`. Thanks to jack5505, Gary Gregory. |
ggregory |
 |
Fix typo in StringUtils.truncate() IllegalArgumentException message and test assertion messages. Thanks to mayuming, Gary Gregory. |
ggregory |
 |
Fix test fixture in ReflectionDiffBuilderTest.testTransientFieldDifference() #1464. Thanks to mayuming, Gary Gregory. |
ggregory |
 |
NullPointerException when generating NoSuchMethodException in MethodUtils. Fixes LANG-1789. Thanks to Hylke van der Schaaf, Gary Gregory. |
ggregory |
 |
Map deprecated TimeZone short IDs and avoid JRE WARNINGs to the console #1483. Fixes LANG-1786. Thanks to Daniel Migowski, Gary Gregory, Lenny Primak. |
ggregory |
 |
TypeUtils.toString() skips angle brackets for Class type. Fixes LANG-1792. Thanks to Mykhailo Hryb, Gary Gregory. |
ggregory |
 |
Mention JDK 25 LTS as a tested version in the release notes #1485. Thanks to Sebastian Peters, Gary Gregory. |
ggregory |
 |
Add SystemProperties.getPath(String, Supplier<Path>). Thanks to Gary Gregory. |
ggregory |
 |
Add JavaVersion.JAVA_25. Thanks to Gary Gregory. |
ggregory |
 |
Add JavaVersion.JAVA_26. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_25. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_26. Thanks to Gary Gregory. |
ggregory |
 |
Add MutablePair.ofNonNull(Map.Entry). Thanks to jack5505, Gary Gregory. |
ggregory |
 |
Add TimedSemaphore.builder(), Builder, and deprecate constructors. Thanks to Gary Gregory. |
ggregory |
 |
Adding labels and history to split StopWatch #1473. Fixes LANG-1504. Thanks to Edwin Delgado H, Gary Gregory. |
ggregory |
 |
Bump org.apache.commons:commons-parent from 88 to 92 #1472, #1484. Thanks to Gary Gregory, Dependabot. |
ggregory |
 |
[test] Bump commons-io:commons-io from 2.21.0 to 2.22.0. Thanks to Gary Gregory. |
ggregory |
Release 3.19.0 – 2025-09-19
| Type |
Changes |
By |
 |
MethodUtils.getMatchingMethod() doesn't respect the hierarchy of methods #1414. Fixes LANG-1778. Thanks to wuwu2000. |
ggregory |
 |
MethodUtils.getMethodObject(Class<?>, String, Class<?>...) now returns null instead of throwing a NullPointerException, as it does for other exception types. Thanks to Gary Gregory. |
ggregory |
 |
Reduce spurious failures in ArrayUtilsTest methods that test ArrayUtils.shuffle() methods. Thanks to Gary Gregory. |
ggregory |
 |
MethodUtils cannot find or invoke a public method on a public class implemented in its package-private superclass. Thanks to Gary Gregory. |
ggregory |
 |
AtomicSafeInitializer.get() can spin internally if the FailableSupplier given to AbstractConcurrentInitializer.AbstractBuilder.setInitializer(FailableSupplier) throws a RuntimeException. Thanks to Stanislav Fort, Gary Gregory. |
ggregory |
 |
WordUtils.containsAllWords() may throw PatternSyntaxException. Fixes LANG-1783. Thanks to Arnout Engelen, Stanislav Fort, Gary Gregory. |
ggregory |
 |
MethodUtils cannot find or invoke vararg methods without providing vararg types or values #1427. Fixes LANG-1782. Thanks to Joe Ferner, Gary Gregory. |
ggregory |
 |
MethodUtils cannot find or invoke vararg methods of interface types. Thanks to Joe Ferner, Gary Gregory. |
ggregory |
 |
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. |
ggregory |
 |
Invocation fails because matching varargs method found but then discarded. Fixes LANG-1597. Thanks to Richard Eckart de Castilho, Gary Gregory. |
ggregory |
 |
Don't check accessibility twice in MemberUtils.setAccessibleWorkaround(T). Thanks to Gary Gregory. |
ggregory |
 |
Improve handling of ClassUtils.getShortCanonicalName() for invalid input #1437. Fixes LANG-1774. Thanks to Zhongxin Yan, Madhur Lathi, Yudan Liu, Gary Gregory. |
ggregory |
 |
Improve Javadocs for Conversion. Fixes LANG-1720. Thanks to Sheung Chi Chan, Arthur Chan, Gary Gregory, Elliotte Rusty Harold. |
ggregory |
 |
Fix CalendarUtils.toLocalDate() Javadoc return type description #1440. Thanks to mayuming. |
ggregory |
 |
Fix the method name in Javadoc examples for CharUtils.isHex() #1444. Thanks to mayuming. |
ggregory |
 |
Deprecate NumberUtils.compare(byte, byte) in favor of Byte.compare(byte, byte). Thanks to Gary Gregory. |
ggregory |
 |
Deprecate NumberUtils.compare(int, int) in favor of Integer.compare(int, int). Thanks to Gary Gregory. |
ggregory |
 |
Deprecate NumberUtils.compare(long, long) in favor of Long.compare(long, long). Thanks to Gary Gregory. |
ggregory |
 |
Deprecate NumberUtils.compare(short, short) in favor of Short.compare(short, short). Thanks to Gary Gregory. |
ggregory |
 |
Deprecate obsolete system property constant SystemProperties.AWT_TOOLKIT. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate obsolete system property constant SystemProperties.JAVA_AWT_FONTS. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate obsolete system property constant SystemProperties.JAVA_AWT_GRAPHICSENV. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate obsolete system property constant SystemProperties.JAVA_AWT_HEADLESS. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate obsolete system property constant SystemProperties.JAVA_AWT_PRINTERJOB. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate obsolete system property constant SystemProperties.JAVA_COMPILER. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate obsolete system property constant SystemProperties.JAVA_ENDORSED_DIRS. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate obsolete system property constant SystemProperties.JAVA_EXT_DIRS. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate method for obsolete system property constant SystemProperties.getAwtToolkit() Thanks to Gary Gregory. |
ggregory |
 |
Deprecate method for obsolete system property constant SystemProperties.getJavaAwtFonts() Thanks to Gary Gregory. |
ggregory |
 |
Deprecate method for obsolete system property constant SystemProperties.getJavaAwtGraphicsenv() Thanks to Gary Gregory. |
ggregory |
 |
Deprecate method for obsolete system property constant SystemProperties.getJavaAwtHeadless() Thanks to Gary Gregory. |
ggregory |
 |
Deprecate method for obsolete system property constant SystemProperties.getJavaAwtPrinterjob() Thanks to Gary Gregory. |
ggregory |
 |
Deprecate method for obsolete system property constant SystemProperties.getJavaCompiler() Thanks to Gary Gregory. |
ggregory |
 |
Deprecate method for obsolete system property constant SystemProperties.getJavaEndorsedDirs() Thanks to Gary Gregory. |
ggregory |
 |
Deprecate method for obsolete system property constant SystemProperties.getJavaExtDirs() Thanks to Gary Gregory. |
ggregory |
 |
Deprecate method for obsolete system property constant SystemUtils.isJavaAwtHeadless() Thanks to Gary Gregory. |
ggregory |
 |
Deprecate constants for obsolete system property SystemUtils.JAVA_AWT_FONTS. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate constants for obsolete system property SystemUtils.JAVA_AWT_GRAPHICSENV. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate constants for obsolete system property SystemUtils.JAVA_AWT_HEADLESS. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate constants for obsolete system property SystemUtils.JAVA_AWT_PRINTERJOB. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate constants for obsolete system property SystemUtils.JAVA_COMPILER. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate constants for obsolete system property SystemUtils.JAVA_ENDORSED_DIRS. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate constants for obsolete system property SystemUtils.JAVA_EXT_DIRS. Thanks to Gary Gregory. |
ggregory |
 |
[javadoc] General improvements. Thanks to Gary Gregory. |
ggregory |
 |
[javadoc] Fix thrown exception documentation for MethodUtils.getMethodObject(Class<?>, String, Class<?>...). Thanks to Gary Gregory. |
ggregory |
 |
[javadoc] Strings::equalsAny: CI doc string should show it's insensitive #1416. Thanks to Scott Parish. |
ggregory |
 |
[javadoc] General Javadoc improvements. Thanks to Gary Gregory. |
ggregory |
 |
[javadoc] Fix Strings Javadoc #1419. Fixes LANG-1780. Thanks to tza. |
ggregory |
 |
[javadoc] Fix typo in Javadoc of Strings instances #1406. Thanks to Sebastian Steiner. |
ppkarwasz |
 |
[javadoc] Fix Javadocs in ClassUtils #1410. Thanks to Hassan A Hashim. |
ggregory |
 |
[javadoc] Fix @deprecated link for StringUtils#startsWithAny #1424. Thanks to mfg92. |
ggregory |
 |
Replace old feather logotype with new oak logotype. Thanks to Gary Gregory. |
ggregory |
 |
Add ArrayUtils.SOFT_MAX_ARRAY_LENGTH. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_OS_NETWARE. Thanks to Gary Gregory. |
ggregory |
 |
Add MethodUtils.getAccessibleMethod(Class, Method). Thanks to Gary Gregory. |
ggregory |
 |
Add documentation to site for CVE-2025-48924 ClassUtils.getClass(...) can throw a StackOverflowError on very long inputs. Thanks to Gary Gregory. |
ggregory |
 |
Add StringUtils.indexOfAny(CharSequence, int, char...). Thanks to Gary Gregory. |
ggregory |
 |
Add ConcurrentException.ConcurrentException(String). Thanks to Gary Gregory. |
ggregory |
 |
Add DateUtils.toLocalDateTime(Date[, TimeZone]) #1385. Thanks to Finger, Gary Gregory, Piotr P. Karwasz. |
ggregory |
 |
Add DateUtils.toOffsetDateTime(Date[, TimeZone]). Thanks to Gary Gregory. |
ggregory |
 |
Add DateUtils.toZonedDateTime(Date[, TimeZone]). Thanks to Gary Gregory. |
ggregory |
 |
Add ByteConsumer. Thanks to Gary Gregory. |
ggregory |
 |
Add ByteSupplier. Thanks to Gary Gregory. |
ggregory |
 |
Add FailableByteConsumer. Thanks to Gary Gregory. |
ggregory |
 |
Add FailableByteSupplier. Thanks to Gary Gregory. |
ggregory |
 |
Add Functions methods for null-safe mapping and chaining #1435. Fixes LANG-1784. Thanks to Rich Dougherty, Gary Gregory. |
ggregory |
 |
Add Failable methods for null-safe mapping and chaining #1435. Fixes LANG-1784. Thanks to Rich Dougherty, Gary Gregory. |
ggregory |
 |
Add DoubleRange.fit(double). Thanks to Gary Gregory. |
ggregory |
 |
Add IntegerRange.fit(int). Thanks to Gary Gregory. |
ggregory |
 |
Add LongRange.fit(long). Thanks to Gary Gregory. |
ggregory |
 |
Add DurationUtils.get(String, TemporalUnit, long). Thanks to Gary Gregory. |
ggregory |
 |
Add DurationUtils.getMillis(String, long). Thanks to Gary Gregory. |
ggregory |
 |
Add DurationUtils.getSeconds(String, long). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties.getBoolean(Class, String, boolean). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties.getInt(Class, String, int). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties.getLong(Class, String, long). Thanks to Gary Gregory. |
ggregory |
 |
[test] Bump org.apache.commons:commons-text from 1.13.1 to 1.14.0. Thanks to Gary Gregory. |
ggregory |
 |
Bump org.apache.commons:commons-parent from 85 to 88. Thanks to Gary Gregory. |
ggregory |
Release 3.18.0 – 2025-07-06
| Type |
Changes |
By |
 |
Fix flaky FileUtilsWaitForTest.testWaitForNegativeDuration(). Thanks to Gary Gregory. |
ggregory |
 |
Pick up exec-maven-plugin version from parent POM. Thanks to Gary Gregory. |
ggregory |
 |
Speed up and sanitize StopWatchTest. Thanks to Gary Gregory. |
ggregory |
 |
Fix handling of non-ASCII letters and numbers in RandomStringUtils #1273. Thanks to Fabrice Benhamouda. |
ggregory |
 |
Rewrite ClassUtils.getClass(...) without recursion to avoid StackOverflowError on very long inputs.
OSS-Fuzz Issue 42522972: apache-commons-text:StringSubstitutorInterpolatorFuzzer: Security exception in ClassUtils.getClass. Thanks to OSS-Fuzz, Gary Gregory. |
ggregory |
 |
Remove trailing whitespace in StopWatch exception messages. Thanks to Gary Gregory. |
ggregory |
 |
Use getAllSuperclassesAndInterfaces() in getMatchingMethod() #1289. Fixes LANG-1754. Thanks to vhbcm. |
ggregory |
 |
Add details to the ArrayFill Javadoc. Thanks to Gary Gregory. |
ggregory |
 |
Add details to the ArraySorter Javadoc. Thanks to Gary Gregory. |
ggregory |
 |
Fix broken URL to project location in Maven Central #1296. Thanks to Capt. Cutlass. |
ggregory |
 |
StringUtils.replaceEachRepeatedly regression in 3.11+ #1297. Fixes LANG-1753. Thanks to Capt. Cutlass. |
ggregory |
 |
Use simplified JUnit assertion methods #1298. Thanks to Capt. Cutlass. |
ggregory |
 |
Javadoc and test: Use Strings.CI.startsWithAny method instead #1299. Fixes LANG-1682. Thanks to Capt. Cutlass. |
ggregory |
 |
Fix NullPointerException in FastDateParser.TimeZoneStrategy.setCalendar(FastDateParser, Calendar, String) on Java 23. Thanks to Gary Gregory. |
ggregory |
 |
Fix NullPointerException in MethodUtils.getMatchingAccessibleMethod((Class, String, Class...)). Fixes LANG-1757. Thanks to Gary Gregory. |
ggregory |
 |
Fix StackOverflowError in TypeUtils.typeVariableToString(TypeVariable), TypeUtils.toString(Type) on Java 17 and up. Fixes LANG-1698. Thanks to Jan Arne Sparka, Gary Gregory. |
ggregory |
 |
SystemUtils is missing important documentation. Fixes LANG-1511. Thanks to david cogen, Gary Gregory, Bruno P. Kinoshita. |
ggregory |
 |
Make Failable.run(FailableRunnable) null-safe. Thanks to Gary Gregory. |
ggregory |
 |
Make Failable.accept(*) null-safe. Thanks to Gary Gregory. |
ggregory |
 |
Improve container detection by mimicking systemd #1323. Thanks to maxxedev, Piotr P. Karwasz, Gary Gregory. |
ggregory |
 |
Make LangCollectors.collect(...) null-safe. Thanks to Gary Gregory. |
ggregory |
 |
Make LangCollectors.collect(...) null-safe. Thanks to Gary Gregory. |
ggregory |
 |
Fix names of UTF-16 surrogate character test fixture constants, see also #1326. Thanks to IBue, Gary Gregory. |
ggregory |
 |
Moditect plugin generates split package warnings. Thanks to Gary Gregory. |
ggregory |
 |
LocaleUtils.availableLocaleSet() uses predictable iteration order. Thanks to Gary Gregory. |
ggregory |
 |
SerializationUtils.clone(Object) throws ClassCastException when called with a Serializable lambda. Fixes LANG-1759. Thanks to Maxim Butov, Gary Gregory. |
ggregory |
 |
[StringUtils::indexOfAnyBut] redesign due to inconsistent/faulty behavior regarding UTF-16 surrogates #1327. Fixes LANG-1759. Thanks to IBue, Gary Gregory, Piotr P. Karwasz. |
ggregory |
 |
Undeprecate ObjectUtils.toString(Object). Thanks to Gary Gregory. |
ggregory |
 |
Fix Spotbugs [ERROR] Medium: The field DiffBuilder$SDiff.leftSupplier is transient but isn't set by deserialization [DiffBuilder$SDiff] In DiffBuilder.java SE_TRANSIENT_FIELD_NOT_RESTORED. Thanks to Gary Gregory. |
ggregory |
 |
Fix Spotbugs [ERROR] Medium: The field DiffBuilder$SDiff.rightSupplier is transient but isn't set by deserialization [DiffBuilder$SDiff] In DiffBuilder.java SE_TRANSIENT_FIELD_NOT_RESTORED. Thanks to Gary Gregory. |
ggregory |
 |
StopWatch methods should not delegate to deprecated methods. Fixes LANG-1762. Thanks to Alonso Gonzalez, Gary Gregory. |
ggregory |
 |
Don't call TypeUtils.toString(Type) on every array item in TypeUtils.parameterize[WithOwner](Type, Class, Map, Type>) unless required. Thanks to Gary Gregory. |
ggregory |
 |
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. |
ggregory |
 |
Instead of throwing a NullPointerException, ArrayUtils.toStringArray(Object[]) should return "null" for null elements like ArrayUtils.toStringArray(Object[], String) returns its valueForNullElements. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate NumericEntityUnescaper.OPTION in favor of Apache Commons Text. Fixes LANG-1764. Thanks to Gary Gregory. |
ggregory |
 |
Several hash collisions in Fraction class. Thanks to Gary Gregory. |
ggregory |
 |
MutableLong and friends should provide better parsing exceptions Javadocs. Fixes LANG-1768. Thanks to Wang Hailong, Gary Gregory. |
ggregory |
 |
Reimplement StringUtils.toCodePoints(CharSequence) to use java.lang.CharSequence.codePoints(). Thanks to Gary Gregory. |
ggregory |
 |
Reimplement StringUtils.capitalize(String) to use java.lang.CharSequence.codePoints(). Thanks to Gary Gregory. |
ggregory |
 |
Reimplement StringUtils.uncapitalize(String) to use java.lang.CharSequence.codePoints(). Thanks to Gary Gregory. |
ggregory |
 |
ClassUtils.getCanonicalName(String) now throws an IllegalArgumentException for array dimensions greater than 255. Thanks to Gary Gregory. |
ggregory |
 |
Fix Javadoc typo and improve clarity in defaultIfBlank method #1376. Thanks to Sridhar Balijepalli, Piotr P. Karwasz. |
ggregory |
 |
Apache Commons Lang no longer builds on Android #1381. Fixes LANG-1773. Thanks to Éamonn McManus, Gary Gregory. |
ggregory |
 |
Restrict size of cache to prevent overflow errors #1379. Fixes LANG-1772. Thanks to James Winters, Piotr P. Karwasz, Gary Gregory. |
ggregory |
 |
Reimplement ClassUtils.hierarchy(Class, Interfaces) using an AtomicReference. Fixes LANG-1772. Thanks to Gary Gregory. |
ggregory |
 |
Fix Javadoc code examples in DiffBuilder and ReflectionDiffBuilder #1400. Thanks to Ken Dombeck. |
ggregory |
 |
Fix generics in Streams.toArray(Class) signature. Thanks to Gary Gregory. |
ggregory |
 |
EventListenerSupport doesn't document ordering of events. Fixes LANG-1727. Thanks to Elliotte Rusty Harold, Gary Gregory. |
ggregory |
 |
Fix edge-case NullPointerException in SystemUtils.IS_OS_ANDROID. Thanks to Gary Gregory. |
ggregory |
 |
Fix edge-case NullPointerException in SystemUtils.isJavaVersionAtLeast(JavaVersion). Thanks to Gary Gregory. |
ggregory |
 |
Fix edge-case NullPointerException in SystemUtils.isJavaVersionAtMost(JavaVersion). Thanks to Gary Gregory. |
ggregory |
 |
Return the default enum if a SecurityException is caught in getEnumSystemProperty(). Thanks to Gary Gregory. |
ggregory |
 |
Fix edge-case NullPointerException in EnumUtils.getEnum(Class, String, E). Thanks to Gary Gregory. |
ggregory |
 |
EnumUtils.getFirstEnumIgnoreCase(Class, String, Function, E) now returns the given default enum on null enumClass input. Thanks to Gary Gregory. |
ggregory |
 |
EnumUtils.getEnumIgnoreCase(Class, String, E) now returns the given default enum on null enumClass input. Thanks to Gary Gregory. |
ggregory |
 |
EnumUtils.getEnumIgnoreCase(Class, String) now returns the given default enum on null enumClass input. Thanks to Gary Gregory. |
ggregory |
 |
Fix NullPointerException in ComparableUtils.ComparableCheckBuilder.equalTo(A). Thanks to Gary Gregory. |
ggregory |
 |
Fix NullPointerException in ComparableUtils.ComparableCheckBuilder.greaterThan(A). Thanks to Gary Gregory. |
ggregory |
 |
Fix NullPointerException in ComparableUtils.ComparableCheckBuilder.greaterThanOrEqualTo(A). Thanks to Gary Gregory. |
ggregory |
 |
Fix NullPointerException in ComparableUtils.ComparableCheckBuilder.lessThan(A). Thanks to Gary Gregory. |
ggregory |
 |
Fix NullPointerException in ComparableUtils.ComparableCheckBuilder.lessThanOrEqualTo(A). Thanks to Gary Gregory. |
ggregory |
 |
Use GitHub URL in POM for improved automation support. Fixes LANG-1776. |
pkarwasz |
 |
Add Strings and refactor StringUtils. Thanks to Gary Gregory. |
ggregory |
 |
Add StopWatch.run([Failable]Runnable) and get([Failable]Supplier). Fixes LANG-1747. Thanks to Oliver B. Fischer, Gary Gregory. |
ggregory |
 |
Add JavaVersion.JAVA_23. Thanks to Gary Gregory. |
ggregory |
 |
Add JavaVersion.JAVA_24. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_23. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_24. Thanks to Gary Gregory. |
ggregory |
 |
Add IntegerRange.toIntStream(). Thanks to Gary Gregory. |
ggregory |
 |
Add LongRange.toLongStream(). Thanks to Gary Gregory. |
ggregory |
 |
Add IntStreams.of(int...). Thanks to Gary Gregory. |
ggregory |
 |
Add ArrayUtils.containsAny(int[], int...). Thanks to Gary Gregory. |
ggregory |
 |
Add CalendarUtils.toLocalDate() #725. Thanks to asgh, Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_OS_MAC_OSX_SEQUOIA. Thanks to Gary Gregory. |
ggregory |
 |
Add BasicThreadFactory.builder() and deprecate BasicThreadFactory.Builder(). Thanks to Gary Gregory. |
ggregory |
 |
Add BasicThreadFactory.daemon(). Thanks to Gary Gregory. |
ggregory |
 |
Add ArrayUtils.startsWith. Thanks to Gary Gregory. |
ggregory |
 |
Add Predicates. Thanks to Gary Gregory. |
ggregory |
 |
Add RegExUtils methods typed to CharSequence input and deprecate old versions typed to String. Thanks to Gary Gregory. |
ggregory |
 |
Add IterableStringTokenizer. Thanks to Gary Gregory. |
ggregory |
 |
Add FailableIntToFloatFunction. Thanks to Gary Gregory. |
ggregory |
 |
Add Validate.isTrue(boolean, Supplier<String>). Thanks to Gary Gregory. |
ggregory |
 |
Add EnumUtils.getFirstEnum(Class<E>, int, ToIntFunction<E>, E). Thanks to Gary Gregory. |
ggregory |
 |
Add FailableToBooleanFunction. Thanks to Gary Gregory. |
ggregory |
 |
Add the @FunctionalInterface annotation to Computable. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.getJavaIoTmpDirPath(). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.getJavaHomePath(). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.getUserDirPath(). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.getUserHomePath(). Thanks to Gary Gregory. |
ggregory |
 |
Add ArrayFill.fill(T[], FailableIntFunction)). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties.JAVA_SECURITY_DEBUG. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties.JAVA_SECURITY_KERBEROS_CONF. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties.JAVA_SECURITY_KERBEROS_KDC. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties.JAVA_SECURITY_KERBEROS_REAL. Thanks to Gary Gregory. |
ggregory |
 |
Add ArrayFill.fill(boolean[], boolean) #1386. Thanks to kommalapatiraviteja. |
ggregory |
 |
Add ObjectUtils.getIfNull(Object, Object) and deprecate defaultIfNull(Object, Object). Thanks to Pankraz76, Gary Gregory. |
ggregory |
 |
Mutable now extends Supplier. Thanks to Gary Gregory. |
ggregory |
 |
Add CharUtils.isHex(char). Thanks to Gary Gregory. |
ggregory |
 |
Add CharUtils.isOctal(char). Thanks to Gary Gregory. |
ggregory |
 |
Add LockingVisitors.reentrantLockVisitor(Object). Thanks to Gary Gregory. |
ggregory |
 |
Add LockingVisitors.create(Object, ReentrantLock). Thanks to Gary Gregory. |
ggregory |
 |
Add LockingVisitors.ReentrantLockVisitor. Thanks to Gary Gregory. |
ggregory |
 |
Add builders for LockingVisitors implementations. Thanks to Gary Gregory. |
ggregory |
 |
Add EnumSet.stream(Class). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties.isPropertySet(String). Thanks to Gary Gregory. |
ggregory |
 |
Bump org.apache.commons:commons-parent from 73 to 85 #1267, #1277, #1283, #1288, #1302, #1377. Thanks to Gary Gregory, Dependabot. |
ggregory |
 |
[site] Bump org.codehaus.mojo:taglist-maven-plugin from 3.1.0 to 3.2.1 #1300. Thanks to Gary Gregory, Dependabot. |
ggregory |
 |
[test] Bump org.easymock:easymock from 5.4.0 to 5.6.0 #1317, #1387. Thanks to Gary Gregory, Dependabot. |
ggregory |
 |
[test] Bump org.apache.commons:commons-text from 1.12.0 to 1.13.1 #1336. Thanks to Gary Gregory, Dependabot. |
ggregory |
Release 3.17.0 – 2024-08-24
| Type |
Changes |
By |
 |
Using RandomStringUtils.insecure() still leads to using the secure() random. Fixes LANG-1760. Thanks to Marco Hoek, Gary Gregory. |
ggregory |
 |
Deprecate static RandomUtils.next*() methods in favor or .secure() and .insecure() versions. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate static RandomStringUtils.random*() methods in favor or .secure() and .insecure() versions. Thanks to Gary Gregory. |
ggregory |
 |
RandomUtils.secure() now uses SecureRandom() instead of SecureRandom.getInstanceStrong(). Thanks to Gary Gregory. |
ggregory |
 |
RandomStringUtils.secure() now uses SecureRandom() instead of SecureRandom.getInstanceStrong(). Thanks to Gary Gregory. |
ggregory |
 |
Remove unused exception from deprecated StringUtils.toString(byte[], String). Thanks to Gary Gregory. |
ggregory |
 |
Make RandomUtils.insecure() public. Thanks to Gary Gregory. |
ggregory |
 |
Add RandomUtils.secureStrong(). Thanks to Gary Gregory. |
ggregory |
 |
Add RandomStringUtils.secureStrong(). Thanks to Gary Gregory. |
ggregory |
 |
Add CalendarUtils.toLocalDateTime(Calendar). Thanks to Gary Gregory. |
ggregory |
 |
Add CalendarUtils.toLocalDateTime(). Thanks to Gary Gregory. |
ggregory |
 |
Add CalendarUtils.toZonedDateTime(Calendar). Thanks to Gary Gregory. |
ggregory |
 |
Add CalendarUtils.toZonedDateTime(). Thanks to Gary Gregory. |
ggregory |
 |
Add CalendarUtils.toOffsetDateTime(Calendar). Thanks to Gary Gregory. |
ggregory |
 |
Add CalendarUtils.toOffsetDateTime(). Thanks to Gary Gregory. |
ggregory |
 |
Bump org.hamcrest:hamcrest from 2.2 to 3.0 #1255. Thanks to Gary Gregory, Dependabot. |
ggregory |
 |
Bump org.easymock:easymock from 5.3.0 to 5.4.0 #1256. Thanks to Gary Gregory, Dependabot. |
ggregory |
 |
Bump org.codehaus.mojo:exec-maven-plugin from 3.3.0 to 3.4.1 #1262, #1264. Thanks to Gary Gregory, Dependabot. |
ggregory |
 |
Bump org.apache.commons:commons-parent from 72 to 73 #1265. Thanks to Gary Gregory, Dependabot. |
ggregory |
Release 3.16.0 – 2024-08-01
| Type |
Changes |
By |
 |
Reimplement StopWatch internals to use java.time. Thanks to Gary Gregory. |
ggregory |
 |
RandomStringUtils.random() with a negative character index should throw IllegalArgumentException. Fixes LANG-1745. Thanks to Wang Hailong, Gary Gregory. |
ggregory |
 |
LocaleUtils.toLocale(String) cannot parse four segments. Fixes LANG-1741. Thanks to Wang Hailong, Gary Gregory. |
ggregory |
 |
Use fewer intermediary strings in DefaultExceptionContext.getFormattedExceptionMessage(String). Thanks to Gary Gregory. |
ggregory |
 |
Fix Javadoc in StringUtils.splitPreserveAllTokens() #1251. Thanks to Václav Haisman. |
ggregory |
 |
Deprecate ArraySort constructor for removal. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate CharEncoding constructor for removal. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate Conversion constructor for removal. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate Conversion constructor for removal. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate EntityArrays constructor for removal. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate ObjectToStringComparator constructor for removal. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate RuntimeEnvironment constructor for removal. Thanks to Gary Gregory. |
ggregory |
 |
Add StopWatch.getSplitDuration() and deprecate getSplitTime(). Thanks to Gary Gregory. |
ggregory |
 |
Add StopWatch.getStartInstant() and deprecate getStartTime(). Thanks to Gary Gregory. |
ggregory |
 |
Add StopWatch.getStopInstant() and deprecate getStopTime(). Thanks to Gary Gregory. |
ggregory |
 |
Add StopWatch.getDuration() and deprecate getTime(). Thanks to Gary Gregory. |
ggregory |
 |
Add Javadoc links from StopWatch to DurationUtils #1249. Thanks to Oliver B. Fischer, Gary Gregory. |
ggregory |
 |
Add LangCollectors.collect(Collector, T...). Thanks to Gary Gregory. |
ggregory |
 |
Add RandomStringUtils.secure(). Thanks to Gary Gregory. |
ggregory |
 |
Add RandomStringUtils.insecure(). Thanks to Gary Gregory. |
ggregory |
 |
Bump org.apache.commons:commons-parent from 71 to 72 #1253. Thanks to Gary Gregory, Dependabot. |
ggregory |
Release 3.15.0 – 2024-07-13
| Type |
Changes |
By |
 |
Customize text pattern in DiffResult#toString(). Fixes LANG-1724. Thanks to Gary Gregory, Dennis Baerten. |
ggregory |
 |
Add DiffBuilder.Builder. Thanks to Gary Gregory. |
ggregory |
 |
Add DiffBuilder.builder(). Thanks to Gary Gregory. |
ggregory |
 |
Add ReflectionDiffBuilder.Builder. Thanks to Gary Gregory. |
ggregory |
 |
Add ReflectionDiffBuilder.builder(). Thanks to Gary Gregory. |
ggregory |
 |
Add test in TypeUtilsTest #1151. Thanks to Elliotte Rusty Harold. |
ggregory |
 |
Add Streams.failableStream(T), non-varargs variant. Thanks to Gary Gregory. |
ggregory |
 |
Add Streams.nonNull(T), non-varargs variant. Thanks to Gary Gregory. |
ggregory |
 |
Add ArrayUtils.nullTo(T[], T[]). Thanks to Gary Gregory. |
ggregory |
 |
Add T ArrayUtils.arraycopy(T, int, T, int, int) fluent style. Thanks to Gary Gregory. |
ggregory |
 |
Add T ArrayUtils.arraycopy(T, int, int, int, Function) fluent style. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_22. Thanks to Gary Gregory. |
ggregory |
 |
Add JavaVersion.JAVA_22. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties.getUserName(Supplier<String>). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties.getLineSeparator(Supplier<String>). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties.getJavaSpecificationVersion(Supplier<String>). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemProperties constants and methods for system properties as of Java 22. Thanks to Gary Gregory. |
ggregory |
 |
Add MethodUtils.getMethodObject(Class, String, Class...). Thanks to Gary Gregory. |
ggregory |
 |
Add null-safe Consumers.accept() and Functions.apply() #1215. Fixes LANG-1733. Thanks to Jongjin Bae, Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_OS_ANDROID. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_OS_MAC_OSX_SONOMA. Thanks to Gary Gregory. |
ggregory |
 |
Add RuntimeEnvironment.inContainer() #1241. Thanks to Gary Gregory. |
ggregory |
 |
Add AppendableJoiner and refactor string joining #1244. Thanks to Gary Gregory. |
ggregory |
 |
Improve Javadoc in ExceptionUtils #1136. Thanks to Miklós Karakó, Gary Gregory. |
ggregory |
 |
Fixed two non-deterministic tests in EnumUtilsTest.java #1131. Thanks to Saiharshith Karuneegar Ramesh, Gary Gregory. |
ggregory |
 |
Fix wrong number check that cause StringIndexOutOfBoundsException #1140. Fixes LANG-1721. Thanks to Arthur Chan, Gary Gregory. |
ggregory |
 |
Rethrow NegativeArraySizeException as SerializationException in SerializationUtils.deserialize(InputStream) #1141. Fixes LANG-1722. Thanks to Arthur Chan. |
ggregory |
 |
Throw NumberFormatException instead of IndexOutOfBoundsException in NumberUtils.getMantissa(String, int) #1145. Fixes LANG-1723. Thanks to Arthur Chan, Gary Gregory. |
ggregory |
 |
Minor grammar fixes #1143. Thanks to Paranoïd User. |
ggregory |
 |
ArrayUtils will return null when adding two null arrays, but undocumented. Fixes LANG-1713. Thanks to John Hendrikx, Gary Gregory. |
ggregory |
 |
Let parent POM figure out commons.spdx.version. Thanks to Gary Gregory. |
ggregory |
 |
Undeprecate ExceptionUtils.rethrow(Throwable). Fixes LANG-1726. Thanks to Václav Haisman, Gary Gregory. |
ggregory |
 |
Test the Conversion class #1155. Fixes LANG-1702. Thanks to Elliotte Rusty Harold. |
ggregory |
 |
Address minor redundancies after code inspection #1148. Thanks to ParanoidUser, Elliotte Rusty Harold, Gary Gregory. |
ggregory |
 |
Allow EventListenerSupport to handle (and ignore) exception from listeners allowing invocation of all listeners #1167. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate AnnotationUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate ArchUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate ArrayUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate BooleanUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate CharSequenceUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate CharSetUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate CharUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate ClassLoaderUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate ClassPathUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate ClassUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate ConstructorUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate DateFormatUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate DateUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate Diff.getType(). Thanks to Gary Gregory. |
ggregory |
 |
Deprecate DiffBuilder.DiffBuilder(T, T, ToStringStyle). Thanks to Gary Gregory. |
ggregory |
 |
Deprecate DiffBuilder.DiffBuilder(T, T, ToStringStyle, boolean). Thanks to Gary Gregory. |
ggregory |
 |
Deprecate DurationFormatUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate DurationUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate EnumUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate EventUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate FieldUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate IEEE754rUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate InheritanceUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate IntStreams 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate LocaleUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate LockingVisitors 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate MemberUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate MethodUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate NumberUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate ObjectUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate RandomStringUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate RandomUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate ReflectionDiffBuilder.ReflectionDiffBuilder(T, T, ToStringStyle). Thanks to Gary Gregory. |
ggregory |
 |
Deprecate RegExUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate SerializationUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate Streams 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate StringEscapeUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate StringUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate Suppliers 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate SystemProperties 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate ThreadUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Deprecate TypeUtils 0-argument constructor. Thanks to Gary Gregory. |
ggregory |
 |
Make ArrayFill null-safe. Thanks to Gary Gregory. |
ggregory |
 |
Make ArraySorter null-safe. Thanks to Gary Gregory. |
ggregory |
 |
Make ArrayUtils.removeAll() null-safe. Thanks to Gary Gregory. |
ggregory |
 |
Fix Java version in README.md #1170. Thanks to Philipp Trulson, Gary Gregory. |
ggregory |
 |
StringUtils.stripAccents() should handle ligatures, UTF32 math blocks, etc. #1201. Thanks to Stephan Peters, Gary Gregory, Bernd. |
ggregory |
 |
TypeUtils.toString(Type) StackOverflowError for an inner class in the inner class parameterized enclosing class #657. Fixes LANG-1524. Thanks to kijong.youn, Aakash Gupta, Gary Gregory. |
ggregory |
 |
Deprecate SystemUtils.getUserName(String) in favor of SystemProperties.getUserName(Supplier). Thanks to Gary Gregory. |
ggregory |
 |
Make LockVisitor.acceptReadLocked(FailableConsumer) null-safe. Thanks to Gary Gregory. |
ggregory |
 |
Make LockVisitor.applyWriteLocked(FailableConsumer) null-safe. Thanks to Gary Gregory. |
ggregory |
 |
Make ObjectUtils.getFirstNonNull(Supplier...) null-safe. Thanks to Gary Gregory. |
ggregory |
 |
Make SystemProperties.getLineSeparator(Supplier). Thanks to Gary Gregory. |
ggregory |
 |
StringUtils.stripAccents(String) doesn't handle "\u0111" and "\u0110" (Vietnamese) #1216. Thanks to hunghhdev. |
ggregory |
 |
StringUtils.stripAccents(String) doesn't handle I with bar. Thanks to Gary Gregory. |
ggregory |
 |
StringUtils.stripAccents(String) doesn't handle U with bar. Thanks to Gary Gregory. |
ggregory |
 |
StringUtils.stripAccents(String) doesn't handle T with stroke. Thanks to Gary Gregory. |
ggregory |
 |
Fix Javadoc for FluentBitSet.setInclusive(int, int) #1222. Fixes LANG-1735. Thanks to Tobias Kiecker. |
ggregory |
 |
Same Javadoc changes as [TEXT-234] #1223. Thanks to Tobias Kiecker. |
ggregory |
 |
Remove duplicate static data in SerializationUtils.ClassLoaderAwareObjectInputStream. Thanks to Gary Gregory. |
ggregory |
 |
Reimplement RandomUtils and RandomStringUtils on top of SecureRandom#getInstanceStrong() #1235. Thanks to Gary Gregory, Henri Yandell, Fabrice Benhamouda. |
ggregory |
 |
DiffBuilder: Type constraint for method append(..., DiffResult) too strict #786. Fixes LANG-1657. Thanks to Matthias Welz, Andrew Thomas, Gary Gregory. |
ggregory |
 |
Bump commons-parent from 64 to 71 #1194, #1233. Thanks to Dependabot, Gary Gregory. |
sebb |
 |
Bump org.codehaus.mojo:exec-maven-plugin from 3.1.1 to 3.3.0 #1175, #1224. Thanks to Dependabot. |
ggregory |
 |
Bump org.apache.commons:commons-text from 1.11.0 to 1.12.0 #1200. Thanks to Dependabot. |
ggregory |
 |
Bump org.easymock:easymock from 5.2.0 to 5.3.0 #1232. Thanks to Dependabot. |
ggregory |
 |
Bump org.codehaus.mojo:taglist-maven-plugin from 3.0.0 to 3.1.0 #1242. Thanks to Dependabot. |
ggregory |
 |
Drop obsolete JDK 13 Maven profile #1142. Thanks to Paranoïd User. |
ggregory |
Release 3.14.0 – 2023-11-18
| Type |
Changes |
By |
 |
Rename variable names from 'clss' to 'clazz' #1087. Thanks to remeio. |
ggregory |
 |
[Javadoc] ComparableUtils'c1' to 'comparable1', 'c2' to ' Thanks to remeio. |
ggregory |
 |
[Javadoc] Remove 2.1 specific comment #1091. Thanks to Elliotte Rusty Harold. |
ggregory |
 |
ImmutablePair and ImmutableTriple implementation don't match final in Javadoc. Fixes LANG-1704. Thanks to Dan Ziemba, Gilles Sadowski, Alex Herbert, Gary Gregory. |
ggregory |
 |
[Javadoc] Fix Incorrect Description in Processor isAarch64() #1093. Thanks to Sung Ho Yoon. |
ggregory |
 |
[Javadoc] Point to right getShortClassName flavor in Javadoc for relevant notes #1097. Thanks to ljacqu. |
ggregory |
 |
Improve performance of StringUtils.isMixedCase() #1096. Thanks to hduelme. |
ggregory |
 |
ThreadUtils find methods should not return null items #1098. Fixes LANG-1706. Thanks to Alberto Fernández. |
ggregory |
 |
ReflectionToStringBuilder changes in version 3.13.0 has broken the logic for overriding classes. Fixes LANG-1710. Thanks to Shashank Sharma, Gary Gregory, Oksana. |
ggregory |
 |
Return "null" instead of NPE in ClassLoaderUtils.toString(ClassLoader). Thanks to Gary Gregory. |
ggregory |
 |
Return "null" instead of NPE in ClassLoaderUtils.toString(URLClassLoader). Thanks to Gary Gregory. |
ggregory |
 |
Return ToStringStyle.nullText instead of NPE for ReflectionToStringBuilder.toString(). Thanks to Gary Gregory. |
ggregory |
 |
Fix ThresholdCircuitBreaker#checkState() #1100. Thanks to yichinzhu, Gary Gregory. |
ggregory |
 |
Use ConcurrentInitializer implementations without subclassing. #1123. Thanks to Benjamin Confino, Gary Gregory. |
ggregory |
 |
Update critical value for chi-square test #1125. Thanks to Alex Herbert. |
ggregory |
 |
Fix Javadoc syntax errors #1129. Thanks to Sung Ho Yoon. |
ggregory |
 |
Add Functions#function(Function). Thanks to Rob Spoor, Gary Gregory. |
ggregory |
 |
Add FailableFunction#function(FailableFunction). Thanks to Rob Spoor, Gary Gregory. |
ggregory |
 |
Add CalendarUtils.getInstance(). Thanks to Gary Gregory. |
ggregory |
 |
Add syntax for optional tokens to DurationFormatUtils #1062. Thanks to Dan Watson. |
aherbert |
 |
Add ArrayFill. Thanks to Gary Gregory. |
ggregory |
 |
Add FastDateParser.TimeZoneStrategy.TzInfo.toString(). Thanks to Gary Gregory. |
ggregory |
 |
Add LocaleUtils.isLanguageUndetermined(Locale). Thanks to Gary Gregory. |
ggregory |
 |
Add ObjectUtils.toString(Supplier<Object>, Supplier<String>). Thanks to Gary Gregory. |
ggregory |
 |
Add LazyInitializer.isInitialized(). Thanks to Gary Gregory. |
ggregory |
 |
Add ConcurrentInitializer#isInitialized() #1120. Thanks to Benjamin Confino, Gary Gregory. |
ggregory |
 |
Add Streams.failableStream(T...). Thanks to Gary Gregory. |
ggregory |
 |
Add FailableSupplier.nul(). Thanks to Gary Gregory. |
ggregory |
 |
Add Suppliers.nul(). Thanks to Gary Gregory. |
ggregory |
 |
Add ExceptionUtils.throwUnchecked(T) where T extends Throwable, and deprecate Object version. Thanks to Gary Gregory. |
ggregory |
 |
Add ExceptionUtils.rethrowRuntimeException(T), and deprecate rethrow(T). Thanks to Gary Gregory. |
ggregory |
 |
ConcurrentInitializer implementations can now be instantiated and configured with allocation and release lambdas. Fixes LANG-1716. Thanks to Benjamin Confino, Gary Gregory. |
ggregory |
 |
Add support for RISC-V in ArchUtils #1128. Fixes LANG-1717. Thanks to Levi Zim, Gary Gregory. |
ggregory |
 |
Bump commons-parent from 58 to 64. Thanks to Gary Gregory. |
ggregory |
 |
Bump org.easymock:easymock from 5.1.0 to 5.2.0 #1104. Thanks to Gary Gregory. |
ggregory |
 |
Bump commons-text from 1.10.0 to 1.11.0. Thanks to Gary Gregory. |
ggregory |
 |
Bump org.codehaus.mojo:exec-maven-plugin from 3.1.0 to 3.1.1 #1135. Thanks to Gary Gregory. |
ggregory |
Release 3.13.0 – 2023-07-23
| Type |
Changes |
By |
 |
NumberUtils.createNumber() to recognize hex integers prefixed with +. Fixes LANG-1645. Thanks to Alex Herbert. |
aherbert |
 |
NumberUtils.createNumber() to return requested floating point type for zero. Fixes LANG-1646. Thanks to Alex Herbert. |
aherbert |
 |
DMI: Random object created and used only once (DMI_RANDOM_USED_ONLY_ONCE); Better multi-threaded behavior. Thanks to SpotBugs, Gary Gregory. |
ggregory |
 |
Redundant Collection operation. Use Collections.emptyIterator() #738. Fixes LANG-1646. Thanks to Arturo Bernal. |
aherbert |
 |
Make Streams.stream(Collection) null-safe. Thanks to Gary Gregory. |
ggregory |
 |
Allow tests to access java.util classes such as ArrayList in Java 16 #788. Fixes LANG-1667. Thanks to Andrew Thomas. |
ggregory |
 |
OpenJDK 16 Day Period Parsing #791. Fixes LANG-1669. Thanks to Andrew Thomas. |
ggregory |
 |
Update documentation to list correct exception for null array parameters #785. Fixes LANG-1663. Thanks to Andrew Thomas. |
ggregory |
 |
Fixing reversed Javadoc descriptions in StopWatch #781. Thanks to Thunderforge. |
ggregory |
 |
Fix typos in Javadoc #795. Fixes LANG-1670. Thanks to Igor Shuvalov. |
ggregory |
 |
Simplify assertions with equivalent but more simple. #792. Thanks to Arturo Bernal. |
ggregory |
 |
Avoid multiple equivalent occurrences of the same expression. #797. Thanks to Arturo Bernal. |
ggregory |
 |
Remove redundant initializers #800. Thanks to Arturo Bernal. |
ggregory |
 |
Fix ObjectUtils Javadocs #755. Thanks to Arturo Bernal. |
ggregory |
 |
Add test idea for RangeTest from PR #815 by Rushi98, but with a new comment. Thanks to Rushi98, Gary Gregory. |
ggregory |
 |
Make Range constructors more generic #810. Fixes LANG-1674. Thanks to singhbaljit, Gary Gregory. |
ggregory |
 |
Use final and Remove redundant String. #813, #816. Thanks to Arturo Bernal. |
ggregory |
 |
Use Set instead of List for checking the contains() method #734. Thanks to CiprianBodnarescu. |
ggregory |
 |
Javadoc for StringUtils.substringBefore(String str, int separator) doesn't mention that the separator is an int. Thanks to Roland Kreuzer. |
kinow |
 |
Fix NullPointerException in ThreadUtils.getSystemThreadGroup() when the current thread is stopped. Thanks to Gary Gregory. |
ggregory |
 |
ArrayUtils.toPrimitive(Boolean...) null array elements map to false, like Boolean.parseBoolean(null) and its callers return false. Thanks to Gary Gregory. |
ggregory |
 |
StrBuilder.StrBuilderReader.skip(long): Throw an exception when an implicit narrowing conversion in a compound assignment would result in information loss or a numeric error such as an overflows. Thanks to CodeQL, Gary Gregory. |
ggregory |
 |
Deprecate Validate#notNull(Object) in favor of using Objects#requireNonNull(Object, String). Thanks to Gary Gregory. |
ggregory |
 |
Use TimeZone from calendar in DateFormatUtils. Fixes LANG-1462. Thanks to Lijun Liang, Arun Avanathan, Tai Dupree, Maria Buiakova, Gary Gregory. |
ggregory |
 |
Updating javadoc for NullPointerException when Validate.notNull() is called #870. Thanks to Diego Marcilio. |
ggregory |
 |
Fixing and adding DateUtils exception Javadocs #871. Thanks to Diego Marcilio. |
ggregory |
 |
Improve performance of StringUtils.unwrap(String, String) #844. Fixes LANG-1679. Thanks to clover. |
ggregory |
 |
Improve performance of StringUtils.join for primitives #812. Fixes LANG-1675. Thanks to clover. |
ggregory |
 |
Fixed NPE getting Stack Trace if Throwable is null #733. Fixes LANG-1675. Thanks to Arturo Bernal. |
ggregory |
 |
Make Validate.isAssignableFrom() check null inputs. Thanks to Gary Gregory, Arturo Bernal. |
ggregory |
 |
Fix Javadoc for Validate.isAssignableFrom(). Thanks to Arturo Bernal. |
ggregory |
 |
Make final mappingFunction variable #876. Thanks to Arturo Bernal. |
ggregory |
 |
Remove unnecessary variable creations #882. Thanks to Arturo Bernal. |
ggregory |
 |
Minor changes #769. Thanks to Arturo Bernal. |
ggregory |
 |
FastDateFormat does not support the 'L'-Pattern from SimpleDateFormat. Fixes LANG-1680. Thanks to Michael Krause, Steve Bosman, Gary Gregory. |
ggregory |
 |
Increase test coverage of ComparableUtils from 71% to 100% #898. Thanks to Steve Bosman, Gary Gregory. |
ggregory |
 |
Increase method test coverage of MultilineRecursiveToStringStyle #899. Thanks to Steve Bosman. |
ggregory |
 |
Fix unstable coverage of CharSequenceUtils tests noticed during merge of PRs 898 and 899 #901. Thanks to Steve Bosman. |
ggregory |
 |
Rewrite Conversion.binaryBeMsb0ToHexDigit to invert logic of binaryToHexDigit. Thanks to Arturo Bernal. |
aherbert |
 |
Allow extension of previously final classes ImmutablePair and ImmutableTriple. Thanks to Gary Gregory. |
ggregory |
 |
Update ClassUtils Javadoc with some missing throws NPE #912. Thanks to shalk, Bruno P. Kinoshita, Gary Gregory. |
ggregory |
 |
Javadoc: StringUtils.repeat("", "x", 3) = "xx"; #918. Thanks to guicaiyue. |
ggregory |
 |
Fix typos #920, #923. Thanks to Marc Wrobel. |
ggregory |
 |
Simplify condition #925. Thanks to Bhimantoro Suryo Admodjo. |
ggregory |
 |
StringUtils.join(Iterable, String) should only return null when the Iterable is null. Thanks to Gary Gregory. |
ggregory |
 |
StringUtils.join(Iterator, String) should only return null when the Iterator is null. Thanks to Gary Gregory. |
ggregory |
 |
Add tests to increase coverage #904. Thanks to Arturo Bernal. |
ggregory |
 |
Extends Object clauses are redundant #937. Thanks to Arturo Bernal. |
ggregory |
 |
Simplify conditional expression. #941. Thanks to Arturo Bernal. |
ggregory |
 |
Fix some Javadoc comments #938. Thanks to Arturo Bernal. |
ggregory |
 |
Deprecate getNanosOfMiili() method with typo and create proper getNanosOfMilli() #940. Thanks to Arturo Bernal, Gary Gregory. |
ggregory |
 |
Deprecate ThreadUtils code that defines custom function interfaces in favor of stock java.util.function.Predicate usage. Thanks to Gary Gregory. |
ggregory |
 |
Fix links in Javadoc and documentation #926. Thanks to Marc Wrobel. |
ggregory |
 |
Deprecate RandomUtils in favor of Apache Commons RNG UniformRandomProvider #942. Fixes LANG-1604. Thanks to Gilles Sadowski, Maksym Bohachov, Gary Gregory. |
ggregory |
 |
Added docs regarding week year support #924. Fixes LANG-1638. Thanks to Shailendra Soni, Michael Osipov, Arun Avanathan, Andrew Thomas, Bruno P. Kinoshita, Gary Gregory. |
ggregory |
 |
ClassUtils.getShortCanonicalName doesn't use the canonicalName #949. Fixes LANG-1691. Thanks to Thiyagarajan, Gary Gregory. |
ggregory |
 |
Validate: Get error messages without using String.format when varargs is empty. Thanks to Piotr Stawirej. |
aherbert |
 |
Simplify expression (length is never < 0) #962. Thanks to Arturo Bernal. |
ggregory |
 |
Fix simple broken javadoc. #981. Thanks to Arturo Bernal. |
ggregory |
 |
Fix typo #1001. Thanks to LeeJuHyun. |
ggregory |
 |
Use Objects.requireNonNull() directly #1022. Thanks to Arturo Bernal. |
ggregory |
 |
MethodUtils.getMatchingMethod() fails with "Found multiple candidates" #1033. Fixes LANG-1694. Thanks to SeasonPan. |
ggregory |
 |
Construct ArrayList with better default size #1041. Fixes LANG-1643. Thanks to laurentschoelens. |
ggregory |
 |
ThreadUtilsTest#testThreadGroups will test failed when using Junit5 parallel test #1051. Thanks to remeio. |
ggregory |
 |
Swap the order of assertion args (first excepted then actual) #1054. Thanks to remeio. |
ggregory |
 |
Fix the comment of Failable, redundant "-" #1056. Thanks to remeio. |
aherbert |
 |
Fix the comment of ComparableUtils, using "smallest", not "largest" #1058. Thanks to remeio. |
aherbert |
 |
AnnotationUtilsTest and FormattableUtilsTest Only use static imports to import assert methods in tests #1052. Thanks to remeio. |
ggregory |
 |
[LANG-1681] Fix some FieldUtils Javadocs #1047. Thanks to laurentschoelens, Bruno P. Kinoshita, Diego Marcilio. |
ggregory |
 |
Remove unnecessary statement in DurationFormatUtils #965. Thanks to Arturo Bernal. |
ggregory |
 |
Corrected value of SystemUtils.JAVA_VENDOR #1066. Fixes LANG-1699. Thanks to Darren Coleman. |
ggregory |
 |
[StepSecurity] ci: Harden GitHub Actions #1067. Thanks to step-security-bot, Gary Gregory. |
ggregory |
 |
Update Javadoc for the insert methods in ArrayUtils #1078. Thanks to Dimitrios Efthymiou. |
ggregory |
 |
Deprecate ExceptionUtils.ExceptionUtils(). Thanks to Gary Gregory. |
ggregory |
 |
TypeUtils.getRawType() throws a NullPointerException on Wildcard GenericArrayType. Fixes LANG-1697. Thanks to Jan Arne Sparka, Gary Gregory. |
ggregory |
 |
Throw IllegalArgumentException instead of InternalError in the builder package. Thanks to Gary Gregory. |
ggregory |
 |
Avoid NPE in MutableObject#equals() for null content. Thanks to Gary Gregory. |
ggregory |
 |
SystemUtils fix and updates related to macOS #1085. Thanks to Ali Khaleqi Yekta, Gary Gregory. |
ggregory |
 |
ThreadLocalRandom should be used in utility classes. Fixes LANG-1254. Thanks to John Mark, Gary Gregory. |
ggregory |
 |
MethodUtils.getAnnotation fails with "Found multiple candidates for method ...". Fixes LANG-1648. Thanks to Michele Preti, Eric Ballet Baz, Gary Gregory. |
ggregory |
 |
Add GitHub coverage.yml. Thanks to Gary Gregory. |
ggregory |
 |
Add EnumUtils.getEnumSystemProperty(...). Thanks to Gary Gregory. |
ggregory |
 |
Add TriConsumer. Thanks to Gary Gregory. |
ggregory |
 |
Add and use EnumUtils.getFirstEnumIgnoreCase(Class, String, Function, E). Thanks to Gary Gregory. |
ggregory |
 |
Add and use Suppliers. Thanks to Gary Gregory. |
ggregory |
 |
Add and use ArrayUtils.getComponentType(T[]). Thanks to Gary Gregory. |
ggregory |
 |
Add and use ClassUtils.getComponentType(Class>T[]>). Thanks to Gary Gregory. |
ggregory |
 |
Add and use ObjectUtils.getClass(T). Thanks to Gary Gregory. |
ggregory |
 |
Add and use ArrayUtils.newInstance(Class>T>, int). Thanks to Gary Gregory. |
ggregory |
 |
Add and use null-safe Streams.of(T...). Thanks to Gary Gregory. |
ggregory |
 |
Add ClassUtils.comparator(). Thanks to Gary Gregory. |
ggregory |
 |
Add and use ThreadUtils.sleepQuietly(Duration). Thanks to Gary Gregory. |
ggregory |
 |
Add and use ArrayUtils.setAll(T[], IntFunction). Thanks to Gary Gregory. |
ggregory |
 |
Add and use ArrayUtils.setAll(T[], Supplier). Thanks to Gary Gregory. |
ggregory |
 |
Add BooleanConsumer. Thanks to Gary Gregory. |
ggregory |
 |
Add IntToCharFunction. Thanks to Gary Gregory. |
ggregory |
 |
Add IntStreams. Thanks to Gary Gregory. |
ggregory |
 |
Add UncheckedFuture. Thanks to Gary Gregory. |
ggregory |
 |
Add UncheckedException. Thanks to Gary Gregory. |
ggregory |
 |
Add UncheckedExecutionException. Thanks to Gary Gregory. |
ggregory |
 |
Add UncheckedTimeoutException. Thanks to Gary Gregory. |
ggregory |
 |
Add UncheckedInterruptedException. Thanks to Gary Gregory. |
ggregory |
 |
Add TimeZones.GMT. Thanks to Gary Gregory. |
ggregory |
 |
Add ObjectUtils.identityHashCodeHex(Object). Thanks to Gary Gregory. |
ggregory |
 |
Add ObjectUtils.hashCodeHex(Object). Thanks to Gary Gregory. |
ggregory |
 |
Add StringUtils.removeStart(String, char). Thanks to Gary Gregory. |
ggregory |
 |
Add null-safe ObjectUtils.isArray() #754. Fixes LANG-1659. Thanks to Arturo Bernal, Gary Gregory. |
ggregory |
 |
Add ComparableUtils.max(A, A) and ComparableUtils.min(A, A). Thanks to Gary Gregory. |
ggregory |
 |
Add UncheckedReflectiveOperationException. Thanks to Gary Gregory. |
ggregory |
 |
Add and use ClassUtils.isPublic(Class). Thanks to Gary Gregory. |
ggregory |
 |
Add UncheckedIllegalAccessException. Thanks to Gary Gregory. |
ggregory |
 |
Add MethodInvokers. Thanks to Gary Gregory. |
ggregory |
 |
Add Streams.nullSafeStream(Collection). Thanks to Gary Gregory. |
ggregory |
 |
Add Streams.toStream(Collection). Thanks to Gary Gregory. |
ggregory |
 |
Add Streams.failableStream(Collection) and deprecate misnamed stream(Collection). Thanks to Gary Gregory. |
ggregory |
 |
Add Streams.failableStream(Stream) and deprecate misnamed stream(Stream). Thanks to Gary Gregory. |
ggregory |
 |
Add EnumUtils.getEnumMap(Class, Function). #730 Thanks to Maxwell Cody, Gary Gregory. |
ggregory |
 |
Add FluentBitSet. Thanks to Gary Gregory. |
ggregory |
 |
Add Streams.instancesOf(Class, Collection). Thanks to Gary Gregory. |
ggregory |
 |
Add ImmutablePair.ofNonNull(L, R). Thanks to Gary Gregory. |
ggregory |
 |
Add ImmutableTriple.ofNonNull(L, M, R). Thanks to Gary Gregory. |
ggregory |
 |
Add MutablePair.ofNonNull(L, R). Thanks to Gary Gregory. |
ggregory |
 |
Add MutableTriple.ofNonNull(L, M, R). Thanks to Gary Gregory. |
ggregory |
 |
Add Pair.ofNonNull(L, R). Thanks to Gary Gregory. |
ggregory |
 |
Add Triple.ofNonNull(L, M, R). Thanks to Gary Gregory. |
ggregory |
 |
Add ArrayUtils.containsAny(Object[], Object...). Thanks to Gary Gregory. |
ggregory |
 |
Add Processor.Type.AARCH_64. Thanks to Gary Gregory. |
ggregory |
 |
Add Processor.isAarch64(). Thanks to Gary Gregory. |
ggregory |
 |
Update ArchUtils.getProcessor(String) for "aarch64". Thanks to Gary Gregory. |
ggregory |
 |
Add JavaVersion.JAVA_18. Thanks to Gary Gregory. |
ggregory |
 |
Add JavaVersion.JAVA_19. Thanks to Emmanuel Bourg. |
ebourg |
 |
Add JavaVersion.JAVA_20. Thanks to Emmanuel Bourg. |
ebourg |
 |
Add JavaVersion.JAVA_21. Thanks to Emmanuel Bourg. |
ebourg |
 |
Add TimeZones.toTimeZone(TimeZone). Thanks to Gary Gregory. |
ggregory |
 |
Add FutureTasks. Thanks to Gary Gregory. |
ggregory |
 |
Add Memoizer(Function) and Memoizer(Function, boolean). Thanks to Gary Gregory. |
ggregory |
 |
Add Consumers. Thanks to Gary Gregory. |
ggregory |
 |
Add github/codeql-action. Thanks to Gary Gregory. |
ggregory |
 |
Add coverage.yml. Thanks to Gary Gregory. |
ggregory |
 |
Add DurationUtils.since(Temporal). Thanks to Gary Gregory. |
ggregory |
 |
Add DurationUtils.of(FailableConsumer|FailableRunnbale). Thanks to Gary Gregory. |
ggregory |
 |
Add ExceptionUtils.forEach(Throwable, Consumer<Throwable>). Thanks to Gary Gregory. |
ggregory |
 |
Add ExceptionUtils.stream(Throwable). Thanks to Gary Gregory. |
ggregory |
 |
Add ExceptionUtils.getRootCauseStackTraceList(Throwable). Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_OS_WINDOWS_11. Thanks to Will Herrmann, Gary Gregory, Roland Kreuzer. |
ggregory |
 |
Add SystemUtils.IS_JAVA_16. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_17. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_18. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_19. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_20. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_21. Thanks to Emmanuel Bourg. |
ebourg |
 |
Add ArrayUtils.oneHot(). Fixes LANG-1627. Thanks to Alberto Scotto, Avijit Chakraborty, Steve Bosman, Bruno P. Kinoshita, Gary Gregory. |
ggregory |
 |
Let ReflectionToStringBuilder only reflect given field names #849. Fixes LANG-1662. Thanks to Daniel Augusto Veronezi Salvador, Gary Gregory, Bruno P. Kinoshita. |
ggregory |
 |
Add Streams.of(Enumeration<E>). Thanks to Gary Gregory. |
ggregory |
 |
Add Streams.of(Iterable<E>). Thanks to Gary Gregory. |
ggregory |
 |
Add Streams.of(Iterator<E>). Thanks to Gary Gregory. |
ggregory |
 |
Simple support for Optional in ObjectUtils#isEmpty() #933. Fixes LANG-1689. Thanks to Joseph Hendrix, Gary Gregory. |
ggregory |
 |
Add Processor.Type.getLabel(). Thanks to Gary Gregory. |
ggregory |
 |
Add Processor.toString(). Thanks to Gary Gregory. |
ggregory |
 |
Add HashCodeBuilder.equals(Object). Thanks to Gary Gregory. |
ggregory |
 |
Add BooleanUtils.values() and forEach(). Thanks to Gary Gregory. |
ggregory |
 |
Add ClassPathUtils.packageToPath(String) and pathToPackage(String) Thanks to Gary Gregory. |
ggregory |
 |
Add CalendarUtils#getDayOfYear() #968 Thanks to Arturo Bernal. |
ggregory |
 |
Add NumberRange, DoubleRange, IntegerRange, LongRange. Thanks to Gary Gregory. |
ggregory |
 |
Add missing exception javadoc/tests for some null arguments #869. Thanks to Diego Marcilio, Bruno P. Kinoshita, Gary Gregory. |
ggregory |
 |
Add ClassLoaderUtils.getSystemURLs() and getThreadURLs(). Thanks to Gary Gregory. |
ggregory |
 |
Add RegExUtils.dotAll() and dotAllMatcher(). Thanks to Gary Gregory. |
ggregory |
 |
Add Pair.accept(FailableBiConsumer). Thanks to Gary Gregory. |
ggregory |
 |
Add Pair.apply(FailableBiFunction). Thanks to Gary Gregory. |
ggregory |
 |
Add ReflectionDiffBuilder.setExcludeFieldNames(...) and DiffExclude a… #838. Fixes LANG-1677. Thanks to Dennis Baerten, Gary Gregory. |
ggregory |
 |
Add and ExceptionUtils.isChecked() and isUnchecked() #1069. Fixes LANG-1647. Thanks to Arturo Bernal, Dimitrios Efthymiou, Gary Gregory. |
ggregory |
 |
Add and use ExceptionUtils.throwUnchecked(throwable). Thanks to Gary Gregory. |
ggregory |
 |
Add LockingVisitors.create(O, ReadWriteLock). Thanks to Gary Gregory. |
ggregory |
 |
Bump actions/cache from 2.1.4 to 3.0.10 #742, #752, #764, #833, #867, #959, #964. Thanks to Dependabot, XenoAmess, Gary Gregory. |
ggregory |
 |
Bump actions/checkout from 2 to 3.1.0 #819, #825, #859, #963. Thanks to Dependabot, Gary Gregory. |
ggregory |
 |
Bump actions/setup-java from v1.4.3 to 3.5.1 #879. Thanks to Gary Gregory. |
ggregory |
 |
Bump spotbugs-maven-plugin from 4.2.0 to 4.7.3.0 #735, #808, #822, #834, #868, #895, #919, #927, #946, #989. Thanks to Dependabot, Gary Gregory. |
ggregory |
 |
Bump spotbugs from 4.2.2 to 4.7.3 #744, #917, #947, #973. Thanks to Dependabot, Gary Gregory. |
ggregory |
 |
Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #943. Thanks to Dependabot, Gary Gregory. |
ggregory |
 |
Bump checkstyle from 8.41 to 9.3 #739, #768, #787, #811, #824, #843. Thanks to Dependabot, Gary Gregory. |
ggregory |
 |
Bump easymock from 4.2 to 5.1.0 #746, #972, #986, #1012. Thanks to Dependabot. |
ggregory |
 |
Bump commons.jacoco.version from 0.8.6 to 0.8.8. Thanks to Gary Gregory. |
ggregory |
 |
Bump commons.japicmp.version from 0.15.2 to 0.16.0. Thanks to Gary Gregory. |
ggregory |
 |
Bump junit-pioneer from 1.3.8 to 1.9.1 #749, #767, #832, #883, #988, #991, #995. Thanks to Dependabot, Gary Gregory. |
ggregory |
 |
Bump junit-bom from 5.7.1 to 5.9.1 #761, #805, #807, #836, #928, #955. Thanks to Dependabot. |
ggregory |
 |
Bump maven-javadoc-plugin from 3.2.0 to 3.4.1. Thanks to Dependabot, Gary Gregory. |
ggregory |
 |
Bump jmh.version from 1.27 to 1.36 #794, #842, #872, #990. Thanks to Dependabot. |
ggregory |
 |
Bump maven-pmd-plugin from 3.14.0 to 3.19.0 #802, #858, #909, #948. Thanks to Dependabot. |
ggregory |
 |
Bump pmd from 6.40.0 to 6.52.0 #837, #861, #873, #905, #915, #932, #944. Thanks to Dependabot. |
ggregory |
 |
Bump biz.aQute.bndlib from 5.3.0 to 6.3.1 #814, #835. Thanks to Dependabot, Gary Gregory. |
ggregory |
 |
Bump maven-bundle-plugin from 5.1.1 to 5.1.2. Thanks to Dependabot. |
ggregory |
 |
Bump animal-sniffer-maven-plugin from 1.19 to 1.21. Thanks to Dependabot. |
ggregory |
 |
Bump exec-maven-plugin from 1.6.0 to 3.1.0 #590, #922. Thanks to Dependabot. |
ggregory |
 |
Bump maven-surefire-plugin from 3.0.0-M5 to 3.0.0-M7 #880, #910. Thanks to Dependabot. |
kinow |
 |
Bump apache-rat from 0.13 to 0.14. Thanks to Gary Gregory. |
ggregory |
 |
Bump commons-parent from 53 to 58 #954, #1000, #1011, #1061. Thanks to Dependabot, Gary Gregory. |
ggregory |
 |
Bump commons-text from 1.9 to 1.10.0 #957. Thanks to Dependabot. |
ggregory |
 |
Bump commons.pmd-impl.version from 6.49.0 to 6.51.0 #961. Thanks to Dependabot, Gary Gregory. |
kinow |
Release 3.12.0 – 2021-02-26
| Type |
Changes |
By |
 |
Correct implementation of RandomUtils.nextLong(long, long). Fixes LANG-1592. Thanks to Huang Pingcai, Alex Herbert. |
aherbert |
 |
Restore handling of collections for non-JSON ToStringStyle #610. Fixes LANG-1600. Thanks to Michael F. |
ggregory |
 |
ContextedException Javadoc add missing semicolon #581. Thanks to iamchao1129. |
ggregory |
 |
Resolve JUnit pioneer transitive dependencies using JUnit BOM. Fixes LANG-1608. Thanks to Edgar Asatryan. |
aherbert |
 |
NumberUtilsTest - incorrect types in min/max tests #634. Thanks to HubertWo, Gary Gregory. |
aherbert |
 |
Improve StringUtils.stripAccents conversion of remaining accents. Fixes LANG-1579. Thanks to XenoAmess. |
aherbert |
 |
StringUtils.countMatches - clarify Javadoc. Fixes LANG-1606. Thanks to Rustem Galiev. |
sebb |
 |
Remove redundant argument from substring call. Fixes LANG-1591. Thanks to bhawna94. |
kinow |
 |
BigDecimal is created when you pass it the min and max values, #642. Fixes LANG-1613. Thanks to Arturo Bernal, Gary Gregory. |
ggregory |
 |
ArrayUtils.contains() and indexOf() fail to handle Double.NaN #647. Fixes LANG-1541. Thanks to Arturo Bernal, Gary Gregory. |
ggregory |
 |
ArrayUtils contains() and indexOf() fail to handle Float.NaN # #561. Fixes LANG-1615. Thanks to Arturo Bernal, Gary Gregory. |
ggregory |
 |
Fix potential NPE in TypeUtils.isAssignable(Type, ParameterizedType, Map, Type>). Thanks to Gary Gregory. |
ggregory |
 |
TypeUtils.isAssignable returns wrong result for GenericArrayType and ParameterizedType, #643. Fixes LANG-1420. Thanks to Gordon Fraser, Rostislav Krasny, Arturo Bernal, Gary Gregory. |
ggregory |
 |
testGetAllFields and testGetFieldsWithAnnotation sometimes fail. Fixes LANG-1612. Thanks to XinT, Gary Gregory. |
ggregory |
 |
Fix Javadoc for SystemUtils.isJavaVersionAtMost() #638. Thanks to John R. D'Orazio. |
ggregory |
 |
Fix StringUtils.unwrap throws StringIndexOutOfBoundsException #636. Fixes LANG-1610. Thanks to Tony Liang. |
ggregory |
 |
Fix formatting of isAnyBlank() and isAnyEmpty(). #513. Thanks to Isira Seneviratne. |
ggregory |
 |
TypeUtils. containsTypeVariables does not support GenericArrayType #661. Fixes LANG-1618. Thanks to Arturo Bernal. |
ggregory |
 |
Javadoc of some methods incorrectly refers to another method, #667, #668. #670. Fixes LANG-1622. Thanks to Kanak Sony, anomen-s. |
ggregory |
 |
Refine StringUtils.lastIndexOfIgnoreCase #664. Fixes LANG-1620. Thanks to Arturo Bernal. |
ggregory |
 |
Refine StringUtils.abbreviate #663. Fixes LANG-1619. Thanks to Arturo Bernal. |
ggregory |
 |
Refine StringUtils.isNumericSpace #573. Fixes LANG-1584. Thanks to Arturo Bernal. |
ggregory |
 |
Refine StringUtils.deleteWhitespace #569. Fixes LANG-1580. Thanks to Arturo Bernal. |
ggregory |
 |
Correction in Javadoc of some methods. #673. Fixes LANG-1626. Thanks to Kanak Sony. |
ggregory |
 |
Javadoc for RandomStringUtils.random() letters, numbers parameters is wrong. Fixes LANG-1628. Thanks to Jarkko Rantavuori. |
kinow |
 |
Correct markup in Javadoc for unbalanced braces #679. Thanks to Felix Schumacher. |
ggregory |
 |
MethodUtils.invokeMethod NullPointerException in case of null in args list #680. Fixes LANG-1544. Thanks to Peter Nagy, Michael Buck, Gary Gregory. |
kinow |
 |
Fix 2 digit week year formatting #688. Fixes LANG-1637. Thanks to Uri Gonen, Gary Gregory, Michael Osipov. |
ggregory |
 |
Fix broken Javadoc links to commons-text #712. Thanks to Chris Smowton. |
ggregory |
 |
Add and use ThreadUtils.sleep(Duration). Thanks to Gary Gregory. |
ggregory |
 |
Add and use ThreadUtils.join(Thread, Duration). Thanks to Gary Gregory. |
ggregory |
 |
Add ObjectUtils.wait(Duration). Thanks to Gary Gregory. |
ggregory |
 |
Add BooleanUtils.booleanValues(). Thanks to Gary Gregory. |
ggregory |
 |
Add BooleanUtils.primitiveValues(). Thanks to Gary Gregory. |
ggregory |
 |
Add StringUtils.containsAnyIgnoreCase(CharSequence, CharSequence...). Fixes LANG-1535. Thanks to Gary Gregory, Isira Seneviratne. |
ggregory |
 |
Add StopWatch.getStopTime(). Fixes LANG-1359. Thanks to Gary Gregory, Keegan Witt. |
ggregory |
 |
More test coverage for CharSequenceUtils. #631. Thanks to Edgar Asatryan. |
ggregory |
 |
ArrayUtils.toPrimitive(Object) does not support boolean and other types #607. Fixes LANG-1596. Thanks to Richard Eckart de Castilho. |
aherbert |
 |
Add fluent-style ArraySorter. Thanks to Gary Gregory. |
ggregory |
 |
Add and use LocaleUtils.toLocale(Locale) to avoid NPEs. Thanks to Gary Gregory. |
ggregory |
 |
Add FailableShortSupplier, handy for JDBC APIs. Thanks to Gary Gregory. |
ggregory |
 |
Add JavaVersion.JAVA_17. Thanks to Gary Gregory. |
ggregory |
 |
Add missing boolean[] join method #686. Fixes LANG-1636. |
ggregory |
 |
Add StringUtils.substringBefore(String, int). Thanks to Gary Gregory. |
ggregory |
 |
Add Range.INTEGER. Thanks to Gary Gregory. |
ggregory |
 |
Add DurationUtils. Thanks to Gary Gregory. |
ggregory |
 |
Introduce the use of @Nonnull, and @Nullable, and the Objects class as a helper tool. |
jochen |
 |
Add and use true and false String constants #714. Thanks to Arturo Bernal, Gary Gregory. |
ggregory |
 |
Add and use ObjectUtils.requireNonEmpty() #716. Thanks to Arturo Bernal, Gary Gregory. |
ggregory |
 |
Enable Dependabot #587. Thanks to Gary Gregory. |
ggregory |
 |
Bump junit-jupiter from 5.6.2 to 5.7.0. |
chtompki |
 |
Bump spotbugs from 4.1.2 to 4.2.2, #627, #671, #708, #726. Thanks to chtompki, Dependabot. |
chtompki |
 |
Bump spotbugs-maven-plugin from 4.0.0 to 4.2.0, #593, #596, #609, #623, #632, #692. Thanks to Dependabot. |
ggregory |
 |
Bump biz.aQute.bndlib from 5.1.1 to 5.3.0 #592, #628, #715. Thanks to Dependabot. |
ggregory |
 |
Bump junit-pioneer from 0.6.0 to 1.1.0, #589, #597, #600, #624, #625, #662. Thanks to Dependabot. |
ggregory |
 |
Bump checkstyle from 8.34 to 8.41, #594, #614, #637, #665, #706, #722. Thanks to Dependabot. |
ggregory |
 |
Bump actions/checkout from v2.3.1 to v2.3.4 #601, #639. Thanks to Dependabot. |
ggregory |
 |
Bump actions/setup-java from v1.4.0 to v1.4.2 #612. Thanks to Dependabot. |
ggregory |
 |
Update commons.jacoco.version 0.8.5 to 0.8.6 (Fixes Java 15 builds). Thanks to Gary Gregory. |
ggregory |
 |
Update maven-surefire-plugin 2.22.2 -> 3.0.0-M5. Thanks to Gary Gregory. |
ggregory |
 |
Bump maven-pmd-plugin from 3.13.0 to 3.14.0 #660. Thanks to Dependabot. |
ggregory |
 |
Bump jmh.version from 1.21 to 1.27 #674. Thanks to Dependabot. |
kinow |
 |
Update commons.japicmp.version 0.14.3 -> 0.15.2. Thanks to Gary Gregory. |
ggregory |
 |
Processor.java: check enum equality with == instead of .equals() method #690. Thanks to Ali K. Nouri. |
ggregory |
 |
Bump junit-pioneer from 1.1.0 to 1.3.8, #702, #721. Thanks to Dependabot. |
ggregory |
 |
Bump maven-checkstyle-plugin from 3.1.1 to 3.1.2 #705. Thanks to Dependabot. |
ggregory |
 |
Bump actions/cache from v2 to v2.1.4 #710. Thanks to Dependabot. |
ggregory |
 |
Bump junit-bom from 5.7.0 to 5.7.1 #707. Thanks to Dependabot. |
ggregory |
 |
Minor Improvements #701. Thanks to Arturo Bernal. |
ggregory |
 |
Minor Improvement: Add final variable.try to make the code read-only #700. Thanks to Arturo Bernal. |
ggregory |
 |
Minor Improvement: Remove redundant initializer #699. Thanks to Arturo Bernal. |
ggregory |
 |
Use own validator ObjectUtils.anyNull to check null String input #718. Thanks to Arturo Bernal. |
ggregory |
 |
Bump commons-parent from 52 to 53 #885. Thanks to Dependabot. |
kinow |
Release 3.11 – 2020-07-12
| Type |
Changes |
By |
 |
Refine test output for FastDateParserTest Thanks to Jin Xu. |
chtompki |
 |
CharSequenceUtils.lastIndexOf : remake it. Fixes LANG-1549. Thanks to Jin Xu. |
chtompki |
 |
remove encoding and docEncoding and use inherited values from commons-parent Thanks to XenoAmess. |
kinow |
 |
Fix Javadoc for StringUtils.appendIfMissingIgnoreCase() #507. Thanks to contextshuffling. |
kinow |
 |
Simplify null checks in Pair.hashCode() using Objects.hashCode(). #517. Thanks to Isira Seneviratne, Bruno P. Kinoshita. |
ggregory |
 |
Simplify null checks in Triple.hashCode() using Objects.hashCode(). #516. Thanks to Isira Seneviratne, Bruno P. Kinoshita. |
ggregory |
 |
Simplify some if statements in StringUtils. #521. Thanks to Isira Seneviratne, Bruno P. Kinoshita. |
ggregory |
 |
Simplify a null check in the private replaceEach() method of StringUtils. #514. Fixes LANG-1537. Thanks to Isira Seneviratne, Bruno P. Kinoshita. |
ggregory |
 |
Replace some usages of the ternary operator with calls to Math.max() and Math.min() #512. Fixes LANG-1534. Thanks to Isira Seneviratne, Bruno P. Kinoshita. |
ggregory |
 |
(Javadoc) Fix return tag for throwableOf*() methods #518. Thanks to Arend v. Reinersdorff, Bruno P. Kinoshita. |
ggregory |
 |
Add ArrayUtils.isSameLength() to compare more array types #430. Thanks to XenoAmess, Gary Gregory. |
ggregory |
 |
CharSequenceUtils.regionMatches is wrong dealing with Georgian. Fixes LANG-1545. Thanks to XenoAmess, Gary Gregory. |
ggregory |
 |
Added the Locks class as a convenient possibility to deal with locked objects. |
jochen |
 |
Add to Functions: FailableBooleanSupplier, FailableIntSupplier, FailableLongSupplier, FailableDoubleSupplier, and so on. Fixes LANG-1568. |
ggregory |
 |
Add ArrayUtils.get(T[], index, T) to provide an out-of-bounds default value. Fixes LANG-1569. |
ggregory |
 |
Optimize ArrayUtils::isArrayIndexValid method. #551. Fixes LANG-1550. Thanks to Edgar Asatryan. |
ggregory |
 |
Use List.sort instead of Collection.sort #546. Fixes LANG-1561. Thanks to XenoAmess. |
ggregory |
 |
Use StandardCharsets.UTF_8 #548. Fixes LANG-1563. Thanks to XenoAmess. |
ggregory |
 |
Use Collections.singletonList insteadof Arrays.asList when there be only one element. #549. Fixes LANG-1564. Thanks to XenoAmess. |
ggregory |
 |
Refine Javadoc #545. Fixes LANG-1560. Thanks to XenoAmess. |
ggregory |
 |
Change array style from `int a[]` to `int[] a` #537. Fixes LANG-1553. Thanks to XenoAmess. |
ggregory |
 |
Change from addAll to constructors for some List #536. Fixes LANG-1552. Thanks to XenoAmess. |
ggregory |
 |
Fix typos #539. Fixes LANG-1554. Thanks to XenoAmess. |
ggregory |
 |
Ignored exception `ignored`, should not be called so #540. Fixes LANG-1555. Thanks to XenoAmess. |
ggregory |
 |
Simplify if as some conditions are covered by others #543. Fixes LANG-1558. Thanks to XenoAmess. |
ggregory |
 |
StringUtils.replaceEachRepeatedly gives IllegalStateException #505. Fixes LANG-1528. Thanks to Edwin Delgado H. |
ggregory |
 |
Add JavaVersion enum constants for Java 14 and 15. #553. Fixes LANG-1570. Thanks to Edgar Asatryan. |
ggregory |
 |
Add JavaVersion enum constants for Java 16. Thanks to Gary Gregory. |
ggregory |
 |
Use Java 8 lambdas and Map operations. Fixes LANG-1556. Thanks to XenoAmess. |
ggregory |
 |
Change removeLastFieldSeparator to use endsWith #550. Fixes LANG-1565. Thanks to XenoAmess. |
ggregory |
 |
Change a Pattern to a static final field, for not letting it compile each time the function invoked. #542. Fixes LANG-1557. Thanks to XenoAmess, Gary Gregory. |
ggregory |
 |
Add ImmutablePair factory methods left() and right(). |
ggregory |
 |
Add ObjectUtils.toString(Object, Supplier<String>). |
ggregory |
 |
Fixed Javadocs for setTestRecursive() #556. Fixes LANG-1567. Thanks to Miguel Muñoz, Bruno P. Kinoshita, Gary Gregory. |
ggregory |
 |
ToStringBuilder.reflectionToString - Wrong JSON format when object has a List of Enum. Fixes LANG-1542. Thanks to Trần Ngọc Khoa, Gary Gregory. |
ggregory |
 |
[JSON string for maps] ToStringBuilder.reflectionToString doesn't render nested maps correctly. Fixes LANG-1543. Thanks to Swaraj Pal, Wander Costa, Gary Gregory. |
ggregory |
 |
Make CharSequenceUtils.toCharArray(CharSequence) public. |
ggregory |
 |
Add StringUtils.substringAfter(String, int). |
ggregory |
 |
Add StringUtils.substringAfterLast(String, int). |
ggregory |
 |
Correct Javadocs of methods that use Validate.notNull() and replace some uses of Validate.isTrue() with Validate.notNull(). #525. Thanks to Isira Seneviratne. |
ggregory |
 |
Add allNull() and anyNull() methods to ObjectUtils. #522. Fixes LANG-1539. Thanks to Isira Seneviratne. |
ggregory |
 |
org.apache.commons:commons-parent 50 -> 51. |
ggregory |
 |
org.junit-pioneer:junit-pioneer 0.5.4 -> 0.6.0. |
ggregory |
 |
org.junit.jupiter:junit-jupiter 5.6.0 -> 5.6.2. |
ggregory |
 |
com.github.spotbugs:spotbugs 4.0.0 -> 4.0.6. |
ggregory |
 |
com.puppycrawl.tools:checkstyle 8.29 -> 8.34. |
ggregory |
 |
commons.surefire.version 3.0.0-M4 -> 3.0.0-M5. |
ggregory |
Release 3.10 – 2020-03-22
| Type |
Changes |
By |
 |
Make test more stable by wrapping assertions in hashset. Fixes LANG-1514. Thanks to contextshuffling. |
kinow |
 |
Generate Javadoc jar on build. Fixes LANG-1450. |
chtompki |
 |
Add ExceptionUtils.throwableOfType(Throwable, Class) and friends. Fixes LANG-1457. |
ggregory |
 |
Add EMPTY_ARRAY constants to classes in org.apache.commons.lang3.tuple. Fixes LANG-1458. |
ggregory |
 |
Add null-safe StringUtils APIs to wrap String#getBytes([Charset|String]). Fixes LANG-1461. |
ggregory |
 |
Add zero arg constructor for NotImplementedException. Fixes LANG-1467. |
ggregory |
 |
Add ArrayUtils.addFirst() methods. Fixes LANG-1470. |
ggregory |
 |
Remove redundant if statements in join methods #411. Fixes LANG-1437. Thanks to Andrei Troie. |
ggregory |
 |
Trivial: year of release for 3.9 says 2018, should be 2019. Fixes LANG-1460. Thanks to Larry West. |
kinow |
 |
Use synchronize on a set created with Collections.synchronizedSet before iterating. Fixes LANG-1476. Thanks to emopers. |
kinow |
 |
Add Range.fit(T) to fit a value into a range. Fixes LANG-1479. |
ggregory |
 |
commons.japicmp.version 0.13.1 -> 0.14.1. |
ggregory |
 |
junit-jupiter 5.5.0 -> 5.5.1. |
ggregory |
 |
Added Functions.as*, and tests thereof, as suggested by Peter Verhas. Fixes LANG-1477. |
jochen |
 |
StringUtils.unwrap incorrect throw StringIndexOutOfBoundsException. Fixes LANG-1475. Thanks to stzx. |
kinow |
 |
Add getters for lhs and rhs objects in DiffResult #451. Fixes LANG-1485. Thanks to nicolasbd. |
ggregory |
 |
Generify builder classes Diffable, DiffBuilder, and DiffResult #452. Fixes LANG-1486. Thanks to Gary Gregory. |
ggregory |
 |
Add ClassLoaderUtils with toString() implementations #453. Fixes LANG-1487. Thanks to Gary Gregory. |
ggregory |
 |
Add null-safe APIs as StringUtils.toRootLowerCase(String) and StringUtils.toRootUpperCase(String) #456. Fixes LANG-1489. Thanks to Gary Gregory. |
ggregory |
 |
StringIndexOutOfBoundsException in StringUtils.replaceIgnoreCase #423. Fixes LANG-1406. Thanks to geratorres. |
ggregory |
 |
StringUtils.removeIgnoreCase("İa", "a") throws IndexOutOfBoundsException #423. Fixes LANG-1453. Thanks to geratorres. |
ggregory |
 |
junit-jupiter 5.5.1 -> 5.5.2. |
ggregory |
 |
Corrected usage examples in Javadocs #458. Fixes LANG-1426. Thanks to Brower, Mikko Maunu, Suraj Gautam. |
ggregory |
 |
Improve Javadoc based on the discussion of the GitHub PR #459. Thanks to Jonathan Leitschuh, Bruno P. Kinoshita, Rob Tompkins, Gary Gregory. |
ggregory |
 |
maven-checkstyle-plugin 3.0.0 -> 3.1.0. |
ggregory |
 |
Update documentation and tests related to the issue LANG-696 #449. Fixes LANG-696. Thanks to Peter Verhas. |
ggregory |
 |
AnnotationUtils little cleanup #467. Thanks to Peter Verhas. |
ggregory |
 |
Add org.apache.commons.lang3.time.Calendars. Fixes LANG-1494. Thanks to Gary Gregory. |
ggregory |
 |
Add EnumUtils getEnum() methods with default values #475. Fixes LANG-1495. Thanks to Cheong Voon Leong. |
ggregory |
 |
Added indexesOf methods and simplified removeAllOccurences #471. Fixes LANG-1177. Thanks to Liel Fridman. |
ggregory |
 |
Add support of lambda value evaluation for defaulting methods #416. Fixes LANG-1498. Thanks to Lysergid, Gary Gregory. |
ggregory |
 |
StringUtils abbreviate returns String of length greater than maxWidth #477. Fixes LANG-1463. Thanks to bbeckercscc, Gary Gregory. |
ggregory |
 |
Test may fail due to a different order of fields returned by reflection api #480. Fixes LANG-1500. Thanks to contextshuffling. |
ggregory |
 |
Update test dependency: org.easymock:easymock 4.0.2 -> 4.1. Thanks to Gary Gregory. |
ggregory |
 |
Update test dependency: org.hamcrest:hamcrest 2.1 -> 2.2. Thanks to Gary Gregory. |
ggregory |
 |
Update test dependency: org.junit-pioneer:junit-pioneer 0.3.0 -> 0.4.2. Thanks to Gary Gregory. |
ggregory |
 |
Update build dependency: com.puppycrawl.tools:checkstyle 8.18 -> 8.27. Thanks to Gary Gregory. |
ggregory |
 |
Sort fields in ReflectionToStringBuilder for deterministic order #481. Fixes LANG-1501. Thanks to contextshuffling. |
ggregory |
 |
Update POM parent: org.apache.commons:commons-parent 48 -> 50. Thanks to Gary Gregory. |
ggregory |
 |
BooleanUtils Javadoc #469. Thanks to Peter Verhas. |
ggregory |
 |
Functions Javadoc #466. Thanks to Peter Verhas. |
ggregory |
 |
Add factory methods to Pair classes with Map.Entry input. #454. Fixes LANG-1503. Thanks to XenoAmess, Gary Gregory. |
ggregory |
 |
Add StopWatch convenience APIs to format times and create a simple instance. Fixes LANG-1505. Thanks to Gary Gregory. |
ggregory |
 |
Allow a StopWatch to carry an optional message. Fixes LANG-1506. Thanks to Gary Gregory. |
ggregory |
 |
Add ComparableUtils #398. Fixes LANG-1507. Thanks to Sam Kruglov, Mark Dacek, Marc Magon, Pascal Schumacher, Rob Tompkins, Bruno P. Kinoshita, Amey Jadiye, Gary Gregory. |
ggregory |
 |
Add SystemUtils.getUserName(). Fixes LANG-1508. Thanks to Gary Gregory. |
ggregory |
 |
Add ObjectToStringComparator. #483. Fixes LANG-1509. Thanks to Gary Gregory. |
ggregory |
 |
Add Processor.Arch.getLabel(). Fixes LANG-1510. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_14. Fixes LANG-1512. Thanks to Gary Gregory. |
ggregory |
 |
Add SystemUtils.IS_JAVA_15. Fixes LANG-1512. Thanks to Gary Gregory. |
ggregory |
 |
ObjectUtils: Get first non-null supplier value. Fixes LANG-1513. Thanks to Bernhard Bonigl, Gary Gregory. |
ggregory |
 |
Added the Streams class, and Functions.stream() as an accessor thereof. |
jochen |
 |
org.easymock:easymock 4.1 -> 4.2. Thanks to Gary Gregory. |
ggregory |
 |
org.junit-pioneer:junit-pioneer 0.4.2 -> 0.5.4. Thanks to Gary Gregory. |
ggregory |
 |
org.junit.jupiter:junit-jupiter 5.5.2 -> 5.6.0. Thanks to Gary Gregory. |
ggregory |
 |
Use Javadoc {@code} instead of pre tags. #490. Thanks to Peter Verhas. |
ggregory |
 |
ExceptionUtilsTest to 100% #486. Thanks to Peter Verhas. |
ggregory |
 |
MethodUtils will throw a NPE if invokeMethod() is called for a var-args method #407. Fixes LANG-1433. Thanks to Christian Franzen. |
ggregory |
 |
Reuse own code in Functions.java #493. Thanks to Peter Verhas. |
ggregory |
 |
MethodUtils.getAnnotation() with searchSupers = true does not work if super is generic #494. Fixes LANG-1518. Thanks to Michele Preti, Bruno P. Kinoshita, Gary Gregory. |
ggregory |
 |
Avoid unnecessary allocation in StringUtils.wrapIfMissing. #496. Fixes LANG-1523. Thanks to Edgar Asatryan, Bruno P. Kinoshita, Gary Gregory. |
ggregory |
 |
Internally use Validate.notNull(foo, ...) instead of Validate.isTrue(foo != null, ...). Fixes LANG-1525. Thanks to Edgar Asatryan, Bruno P. Kinoshita, Gary Gregory. |
ggregory |
 |
Add 1 and 0 in toBooleanObject(final String str) #502. Fixes LANG-1526. Thanks to Dominik Schramm. |
ggregory |
 |
Remove a redundant argument check in NumberUtils #504. Fixes LANG-1527. Thanks to Pengyu Nie. |
ggregory |
 |
Deprecate ArrayUtils.removeAllOccurences(*) for ArrayUtils.removeAllOccurrences(*). Fixes LANG-1529. Thanks to Gary Gregory, BillCindy, Bruno P. Kinoshita. |
ggregory |
Release 3.9 – 2019-04-09
| Type |
Changes |
By |
 |
FieldUtils.removeFinalModifier(Field, boolean), in java 12
throw exception because the final modifier is no longer mutable. Fixes LANG-1447. |
chtompki |
 |
Switch coverage from cobertura to jacoco. Fixes LANG-1446. |
chtompki |
 |
Javadoc pointing to Commons RNG. Fixes LANG-1442. |
chtompki |
 |
Add more SystemUtils.IS_JAVA_XX variants. Fixes LANG-1416. |
britter |
 |
Adding the Functions class. |
jochen |
 |
Update to JUnit 5. Fixes LANG-1416. |
britter |
 |
Add @FunctionalInterface to ThreadPredicate and ThreadGroupPredicate. Fixes LANG-1417. |
britter |
 |
Update Java Language requirement to 1.8. Fixes LANG-1415. |
britter |
 |
Add isEmpty method to ObjectUtils. Fixes LANG-1411. Thanks to Alexander Tsvetkov. |
britter |
 |
Add null-safe StringUtils.valueOf(char[]) to delegate to String.valueOf(char[]). Fixes LANG-1422. |
ggregory |
 |
Add API SystemUtils.isJavaVersionAtMost(JavaVersion). Fixes LANG-1427. |
ggregory |
 |
Consolidate the StringUtils equals and equalsIgnoreCase Javadoc and implementation. Fixes LANG-1436. |
aherbert |
 |
(doc) Fix javadoc for 'startIndex' parameter of StringUtils.join() methods. GitHub PR #412. Thanks to Andrei Troie aft90. |
ggregory |
Release 3.8.1 – 2018-09-19
| Type |
Changes |
By |
 |
Restore BundleSymbolicName for OSGi. Fixes LANG-1419. |
chtompki |
Release 3.8 – 2018-08-15
| Type |
Changes |
By |
 |
FastDateParser too strict on abbreviated short month symbols. Fixes LANG-1380. Thanks to Markus Jelsma. |
chas |
 |
JsonToStringStyle does not escape string names. Fixes LANG-1396. |
sebb |
 |
JsonToStringStyle does not escape double quote in a string value. Fixes LANG-1395. Thanks to Jim Gan. |
sebb |
 |
New Java version ("11") must be handled. Fixes LANG-1384. Thanks to Ian Young. |
erans |
 |
ExceptionUtils#getRootCause(Throwable t) should return t if no lower level cause exists. Fixes LANG-1364. Thanks to Zheng Xie. |
pschumacher |
 |
NumberUtils.isNumber assumes number starting with Zero. Fixes LANG-1060. Thanks to Piotr Kosmala. |
pschumacher |
 |
defaultString(final String str) in StringUtils to reuse defaultString(final String str, final String defaultStr). Fixes LANG-1375. Thanks to Jerry Zhao. |
kinow |
 |
Parsing Json Array failed. Fixes LANG-1374. Thanks to Jaswanth Bala. |
kinow |
 |
Fix TypeUtils#parameterize to work correctly with narrower-typed array. Fixes LANG-1371. Thanks to Dmitry Ovchinnikov. |
pschumacher |
 |
Fix EventCountCircuitBreaker increment batch. Fixes LANG-1370. Thanks to Andre Dieb. |
kinow |
 |
NumberUtils.createNumber() throws StringIndexOutOfBoundsException instead of NumberFormatException. Fixes LANG-1385. Thanks to Rohan Padhye. |
ggregory |
 |
WordUtils.wrap throws StringIndexOutOfBoundsException when wrapLength is Integer.MAX_VALUE. Fixes LANG-1397. Thanks to Takanobu Asanuma. |
ggregory |
 |
Typo in Javadoc for lastIndexOf. Fixes LANG-1401. Thanks to Roman Golyshev, Alex Mamedov. |
pschumacher |
 |
ObjectUtils.identityToString(Object) and friends should allocate builders and buffers with a size. Fixes LANG-1367. Thanks to Gary Gregory. |
ggregory |
 |
EnumUtils.getEnumIgnoreCase and isValidEnumIgnoreCase methods added. Fixes LANG-1352. Thanks to Ruslan Sibgatullin. |
pschumacher |
 |
Add ToStringSummary annotation. Fixes LANG-1372. Thanks to Sérgio Ozaki. |
pschumacher |
 |
Add bypass option for classes to recursive and reflective EqualsBuilder. Fixes LANG-1356. Thanks to Yathos UG. |
pschumacher |
 |
Improve Javadoc for StringUtils.isAnyEmpty(null). Fixes LANG-1391. Thanks to Sauro Matulli, Oleg Chubaryov. |
ggregory |
 |
Add API SystemUtils.String getEnvironmentVariable(final String name, final String defaultValue). Fixes LANG-1393. Thanks to Gary Gregory. |
ggregory |
 |
SystemUtils should not write to System.err. Fixes LANG-1394. Thanks to Sebb, Gary Gregory. |
ggregory |
 |
Add RegexUtils class instead of overloading methods in StringUtils that take a regex to take precompiled Pattern. Fixes LANG-1238. Thanks to Christopher Cordeiro, Gary Gregory, Bruno P. Kinoshita, Oleg Chubaryov. |
ggregory |
 |
StringUtils.join() with support for List<?> with configurable start/end indices. Fixes LANG-1390. Thanks to Jochen Schalanda. |
ggregory |
 |
Methods for getting first non-empty or non-blank value. Fixes LANG-1392. Thanks to Jeff Nelson. |
pschumacher |
 |
Remove checks for java versions below the minimum supported one. Fixes LANG-1405. Thanks to Lars Grefer. |
ggregory |
 |
Null/index safe get methods for ArrayUtils. Fixes LANG-1402. Thanks to Mark Dacek. |
chtompki |
 |
Rounding utilities for converting to BigDecimal. Fixes LANG-1408. |
chtompki |
Release 3.7 – 2017-11-04
| Type |
Changes |
By |
 |
Fix tests DateUtilsTest for Java 9 with en_GB locale. Fixes LANG-1362. Thanks to Stephen Colebourne. |
ggregory |
 |
Fix NullPointerException in isJavaVersionAtLeast on Java 10, add SystemUtils.IS_JAVA_10, add JavaVersion.JAVA_10. Fixes LANG-1365. Thanks to Gary Gregory. |
ggregory |
 |
StackOverflowError on TypeUtils.toString(...) for a generic return type of Enum.valueOf. Fixes LANG-1348. Thanks to mbusso. |
pschumacher |
 |
ConstructorUtils.invokeConstructor(Class, Object...) regression. Fixes LANG-1350. Thanks to Brett Kail. |
ggregory |
 |
EqualsBuilder#isRegistered: swappedPair construction bug. Fixes LANG-1349. Thanks to Naman Nigam. |
pschumacher |
 |
FastDateParser should use toUpperCase(Locale). Fixes LANG-1357. Thanks to BruceKuiLiu. |
ggregory |
 |
Improve StringUtils#replace throughput. Fixes LANG-1358. Thanks to Stephane Landelle. |
pschumacher |
 |
Remove deprecation from RandomStringUtils. Fixes LANG-1346. |
pschumacher |
 |
ExceptionUtils.getThrowableList() is using deprecated ExceptionUtils.getCause(). Fixes LANG-1361. Thanks to Ana. |
ggregory |
 |
TimeZone.getTimeZone() in FastDateParser causes resource contention (PR #296.). Fixes LANG-1355. Thanks to Chas Honton. |
ggregory |
 |
Add methods to ObjectUtils to get various forms of class names in a null-safe manner. Fixes LANG-1360. Thanks to Gary Gregory. |
ggregory |
Release 3.6 – 2017-06-08
| Type |
Changes |
By |
 |
Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility. Fixes LANG-1338. |
britter |
 |
Add NUL Byte To CharUtils. Fixes LANG-1336. Thanks to Beluga Behr. |
britter |
 |
Fix test failures in IBM JDK 8 for ToStringBuilderTest. Fixes LANG-1337. |
kinow |
 |
Add method in StringUtils to determine if string contains both mixed cased characters. Fixes LANG-1304. Thanks to Andy Klimczak. |
pschumacher |
 |
Deprecate CharEncoding in favour of java.nio.charset.StandardCharsets. Fixes LANG-1334. |
djones |
 |
MultilineRecursiveToStringStyle StackOverflowError when object is an array. Fixes LANG-1319. |
djones |
 |
Increase test coverage of ToStringBuilder class to 100%. Fixes LANG-1325. Thanks to Arshad Basha. |
kinow |
 |
Add a method in StringUtils to extract only digits out of input string. Fixes LANG-1307. Thanks to Arshad Basha. |
pschumacher |
 |
Implement HashSetvBitSetTest using JMH. Fixes LANG-1110. Thanks to Bruno P. Kinoshita. |
pschumacher |
 |
Add JMH maven dependencies. Fixes LANG-1256. Thanks to C0rWin. |
pschumacher |
 |
Add null filter to ReflectionToStringBuilder. Fixes LANG-1167. Thanks to Mark Dacek. |
chtompki |
 |
LocaleUtils#toLocale does not support language followed by UN M.49 numeric-3 area code followed by variant. Fixes LANG-1320. |
britter |
 |
Clarify or improve behavior of int-based indexOf methods in StringUtils. Fixes LANG-1300. Thanks to Mark Dacek. |
chtompki |
 |
Add method for converting string to an array of code points. Fixes LANG-1299. |
djones |
 |
RandomStringUtils random method can overflow and return characters outside the specified range. Fixes LANG-1286. |
djones |
 |
Add methods to insert arrays into arrays at an index. Fixes LANG-660. |
djones |
 |
WordUtils.wrap throws StringIndexOutOfBoundsException. Fixes LANG-1292. |
djones |
 |
RandomStringUtils#random can enter infinite loop if end parameter is to small. Fixes LANG-1287. Thanks to Ivan Morozov. |
pschumacher |
 |
NullPointerException in FastDateParser$TimeZoneStrategy. Fixes LANG-1285. Thanks to Francesco Chicchiriccò. |
pschumacher |
 |
Javadoc of StringUtils.ordinalIndexOf is contradictory. Fixes LANG-1281. Thanks to Andreas Lundblad. |
pschumacher |
 |
StringUtils#join(T...): warning: [unchecked] Possible heap pollution from parameterized vararg type T. Fixes LANG-1188. |
pschumacher |
 |
Multiple calls of LazyInitializer.initialize() are possible. Fixes LANG-1144. Thanks to Waldemar Maier, Gary Gregory. |
ggregory |
 |
StrBuilder#replaceAll ArrayIndexOutOfBoundsException. Fixes LANG-1276. Thanks to Andy Klimczak. |
pschumacher |
 |
BooleanUtils javadoc issues. Fixes LANG-1278. Thanks to Duke Yin. |
pschumacher |
 |
ArrayUtils#add confusing example in javadoc. Fixes LANG-1070. Thanks to Paul Pogonyshev. |
pschumacher |
 |
StringUtils#isAnyEmpty and #isAnyBlank should return false for an empty array. Fixes LANG-1271. Thanks to Pierre Templier. |
pschumacher |
 |
Add StringUtils#unwrap. Fixes LANG-1155. Thanks to Saif Asif, Thiago Andrade. |
pschumacher |
 |
Add support for recursive comparison to EqualsBuilder#reflectionEquals. Fixes LANG-1034. Thanks to Yathos UG. |
pschumacher |
 |
Add a reflection-based variant of DiffBuilder. Fixes LANG-1067. |
pschumacher |
 |
Implementation of a Memoizer. Fixes LANG-740. Thanks to James Sawle. |
pschumacher |
 |
Add ArrayUtils#toStringArray method. Fixes LANG-1258. Thanks to IG, Grzegorz Rożniecki. |
pschumacher |
 |
StringUtils#abbreviate should support 'custom ellipses' parameter. Fixes LANG-1160. |
kinow |
 |
Add StringUtils#isAllEmpty and #isAllBlank methods. Fixes LANG-1293. Thanks to Pierre Templier, Martin Tarjanyi. |
pschumacher |
 |
Increase test coverage of ArrayUtils. Fixes LANG-1290. Thanks to Andrii Abramov. |
pschumacher |
 |
StrSubstitutor should state its thread safety. Fixes LANG-1274. |
pschumacher |
 |
StringUtils#getLevenshteinDistance reduce memory consumption. Fixes LANG-1277. Thanks to yufcuy. |
pschumacher |
 |
Update Java requirement from Java 6 to 7. Fixes LANG-1279. |
ggregory |
 |
StringUtils should use toXxxxCase(int) rather than toXxxxCase(char). Fixes LANG-1143. Thanks to sebb. |
pschumacher |
 |
Add SystemUtils.getHostName() API. Fixes LANG-1297. |
ggregory |
 |
Moving apache-rat-plugin configuration into pluginManagement. Fixes LANG-1301. Thanks to Karl Heinz Marbaise. |
pschumacher |
 |
TypeUtils.toString() doesn't handle primitive and Object arrays correctly. Fixes LANG-1311. Thanks to Aaron Digulla. |
pschumacher |
 |
LocaleUtils#toLocale does not support language followed by UN M.49 numeric-3 area code. Fixes LANG-1312. |
pschumacher |
 |
Build failures when building with Java 9 EA. Fixes LANG-1265. |
pschumacher |
 |
javadoc creation broken with Java 8. Fixes LANG-1314. Thanks to Allon Murienik. |
pschumacher |
 |
Deprecate classes/methods moved to commons-text. Fixes LANG-1316. |
pschumacher |
 |
MethodUtils.invokeMethod throws ArrayStoreException if using varargs arguments and smaller types than the method defines. Fixes LANG-1310. Thanks to Don Jeba. |
pschumacher |
 |
Add ArchUtils - An utility class for the "os.arch" system property. Fixes LANG-1313. Thanks to Tomschi. |
pschumacher |
 |
Add shuffle methods to ArrayUtils. Fixes LANG-1272. |
ebourg |
 |
Add MethodUtils#findAnnotation and extend MethodUtils#getMethodsWithAnnotation for non-public, super-class and interface methods. Fixes LANG-1317. Thanks to Yasser Zamani. |
pschumacher |
 |
Add ImmutablePair.nullPair(). Fixes LANG-1331. |
ggregory |
 |
Add ImmutableTriple.nullTriple(). Fixes LANG-1332. |
ggregory |
Release 3.5 – 2016-10-13
| Type |
Changes |
By |
 |
Added a tryAcquire() method to TimedSemaphore. Fixes LANG-1275. |
oheger |
 |
Added a new property IS_OS_MAC_OSX_EL_CAPITAN in SystemUtils. Fixes LANG-1273. Thanks to Jake Wang. |
ebourg |
 |
Add DateUtils.toCalendar(Date, TimeZone). Fixes LANG-1255. Thanks to Kaiyuan Wang. |
britter |
 |
Add WordUtils.wrap overload with customizable breakable character. Fixes LANG-1023. Thanks to Marko Bekhta. |
britter |
 |
Add method removeIgnoreCase(String, String) to StringUtils. Fixes LANG-787. Thanks to Gokul Nanthakumar C. |
pschumacher |
 |
ArrayUtils.contains returns false for instances of subtypes. Fixes LANG-1261. |
pschumacher |
 |
Prepare Java 9 detection. Fixes LANG-1197. |
pschumacher |
 |
Rename NumberUtils.isNumber, isCreatable to better reflect createNumber. Also, accommodated for "+" symbol as prefix in isCreatable and isNumber. Fixes LANG-1252. Thanks to Rob Tompkins. |
chtompki |
 |
CompareToBuilder.append(Object, Object, Comparator) method is too big to be inlined. Fixes LANG-1262. Thanks to Ruslan Cheremin. |
pschumacher |
 |
Remove unnecessary synchronization from registry lookup in EqualsBuilder and HashCodeBuilder. Fixes LANG-1230. Thanks to Philippe Marschall. |
pschumacher |
 |
Extend RandomStringUtils with methods that generate strings between a min and max length. Fixes LANG-1224. Thanks to Caleb Cushing. |
pschumacher |
 |
Handle "void" in ClassUtils.getClass(). Fixes LANG-1214. Thanks to Henry Tung. |
pschumacher |
 |
SerializationUtils#deserialize has unnecessary code and a comment for that. Fixes LANG-1250. Thanks to Glease Wang. |
pschumacher |
 |
Javadoc for ArrayUtils.isNotEmpty() is slightly misleading. Fixes LANG-1259. Thanks to Dominik Stadler. |
britter |
 |
Add APIs StringUtils.wrapIfMissing(String, char|String). Fixes LANG-1257. Thanks to Gary Gregory. |
ggregory |
 |
TypeUtils.isAssignable throws NullPointerException when fromType has type variables and toType generic superclass specifies type variable. Fixes LANG-1190. Thanks to pschumacher. |
pschumacher |
 |
StringUtils#normalizeSpace does not trim the string anymore. Fixes LANG-1226. Thanks to pschumacher. |
pschumacher |
 |
SerializationUtils.ClassLoaderAwareObjectInputStream should use static initializer to initialize primitiveTypes map. Fixes LANG-1251. Thanks to Takuya Ueshin. |
pschumacher |
 |
[GitHub issue #170] Add RandomUtils#nextBoolean() method. Fixes LANG-1253. Thanks to adilek. |
ggregory |
 |
FastDatePrinter memory allocation regression. Fixes LANG-1248. Thanks to Benoit Wiart. |
chas |
 |
FastDatePrinter generates extra Date objects. Fixes LANG-1247. Thanks to Benoit Wiart. |
chas |
 |
Fix precision loss on NumberUtils.createNumber(String). Fixes LANG-1018. Thanks to Nick Manley. |
pschumacher |
 |
HashCodeBuilder.append(Object,Object) is too big to be inlined, which prevents whole builder to be scalarized. Fixes LANG-1229. Thanks to Ruslan Cheremin. |
pschumacher |
 |
Add a circuit breaker implementation. Fixes LANG-1085. Thanks to oheger / kinow. |
oheger |
 |
Add StringUtils.truncate(). Fixes LANG-1013. Thanks to Thiago Andrade. |
pschumacher |
 |
Enhance MethodUtils to allow invocation of private methods. Fixes LANG-1195. Thanks to Derek C. Ashmore. |
pschumacher |
 |
Fix implementation of StringUtils.getJaroWinklerDistance(). Fixes LANG-1199. Thanks to M. Steiger. |
pschumacher |
 |
Fix dead links in StringUtils.getLevenshteinDistance() javadoc. Fixes LANG-1244. Thanks to jjbankert. |
pschumacher |
 |
"\u2284":"nsub" mapping missing from EntityArrays#HTML40_EXTENDED_ESCAPE. Fixes LANG-1242. Thanks to Neal Stewart. |
pschumacher |
 |
Simplify ArrayUtils removeElements by using new decrementAndGet() method. Fixes LANG-1243. |
sebb |
 |
Add getAndIncrement/getAndDecrement/getAndAdd/incrementAndGet/decrementAndGet/addAndGet in Mutable* classes. Fixes LANG-1189. Thanks to haiyang li / Matthew Bartenschlag. |
sebb |
 |
Optimize BitField constructor implementation. Fixes LANG-1240. Thanks to zhanhb. |
pschumacher |
 |
Improve CharSetUtils.squeeze() performance. Fixes LANG-1206. Thanks to Mohammed Alfallaj. |
pschumacher |
 |
Add RandomStringUtils#randomGraph and #randomPrint which match corresponding regular expression class. Fixes LANG-1225. Thanks to Caleb Cushing. |
pschumacher |
 |
StringUtils#startsWithAny/endsWithAny is case-sensitive - documented as case insensitive. Fixes LANG-901. Thanks to Matthew Bartenschlag. |
pschumacher |
 |
Add StopWatch#getTime(TimeUnit). Fixes LANG-1223. Thanks to Nick Manley. |
pschumacher |
 |
Add methods to ObjectUtils class to check for null elements in the array. Fixes LANG-781. Thanks to Krzysztof Wolny. |
pschumacher |
 |
Prefer Throwable.getCause() in ExceptionUtils.getCause(). Fixes LANG-1228. Thanks to Brad Hess. |
pschumacher |
 |
DiffBuilder add method to allow appending from a DiffResult. Fixes LANG-1233. Thanks to Nick Manley. |
pschumacher |
 |
Improve ArrayUtils removeElements time complexity to O(n). Fixes LANG-1176. Thanks to Jeffery Yuan. |
pschumacher |
 |
getLevenshteinDistance with a threshold: optimize implementation if the strings lengths differ more than the threshold. Fixes LANG-1234. Thanks to Jonatan Jönsson. |
pschumacher |
 |
Add SystemUtils.IS_OS_WINDOWS_10 property. Fixes LANG-1168. Thanks to pschumacher. |
pschumacher |
 |
DiffBuilder: Add null check on fieldName when appending Object or Object[]. Fixes LANG-1232. Thanks to Nick Manley. |
pschumacher |
 |
ArrayUtils.removeAll(Object array, int... indices) should do the clone, not its callers. Fixes LANG-1178. Thanks to Henri Yandell. |
pschumacher |
 |
Performance improvements for NumberUtils.isParsable. Fixes LANG-1151. Thanks to Juan Pablo Santos Rodríguez. |
pschumacher |
 |
StringUtils.stripAccents should remove accents from "Ł" and "ł". Fixes LANG-1120. Thanks to kaching88. |
pschumacher |
 |
EqualsBuilder.append(Object,Object) is too big to be inlined, which prevents whole builder to be scalarized. Fixes LANG-1218. Thanks to Ruslan Cheremin. |
ggregory |
 |
NumberUtils.createNumber() behaves inconsistently with NumberUtils.isNumber(). Fixes LANG-1205. Thanks to pbrose. |
chas |
 |
Add support for varargs in ConstructorUtils, MemberUtils, and MethodUtils. Fixes LANG-1115. Thanks to Jim Lloyd, Joe Ferner. |
chas |
 |
Add methods to check numbers against NaN and infinite to Validate. Fixes LANG-1134. Thanks to Alan Smithee. |
chas |
 |
Fix for incorrect comment on StringUtils.containsIgnoreCase method. Fixes LANG-1222. Thanks to Adam J.. |
ggregory |
 |
Fix typo on appendIfMissing javadoc. Fixes LANG-1221. Thanks to Pierre Templier. |
ggregory |
 |
Add tests for missed branches in DateUtils. Fixes LANG-1220. Thanks to Casey Scarborough. |
kinow |
 |
parseDateStrictly doesn't pass specified locale. Fixes LANG-1202. Thanks to Markus Jelsma. |
chas |
 |
FastDateFormat doesn't respect summer daylight in some localized strings. Fixes LANG-1219. Thanks to Jarek. |
chas |
 |
z/OS identification in SystemUtils. Fixes LANG-1146. Thanks to Gabor Liptak. |
ggregory |
 |
StringUtils#startsWithAny has error in Javadoc. Fixes LANG-1210. Thanks to Matthias Niehoff. |
ggregory |
 |
StrSubstitutor can preserve escapes. Fixes LANG-1208. Thanks to Samuel Karp. |
bayard |
 |
Remove Ant-based build. Fixes LANG-1175. Thanks to Benedikt Ritter. |
wikier |
 |
FastDateFormat support of the week-year component (uppercase 'Y'). Fixes LANG-1192. Thanks to Dominik Stadler. |
chas |
 |
Limit max heap memory for consistent Travis CI build. Fixes LANG-1194. |
chas |
 |
Fix NullPointerException in FastDateParser$TimeZoneStrategy. Fixes LANG-1186. Thanks to NickManley. |
chas |
 |
ordinalIndexOf("abc", "ab", 1) gives incorrect answer of -1 (correct answer should be 0); revert fix for LANG-1077. Fixes LANG-1193. Thanks to Qin Li. |
sebb |
 |
Clarify Javadoc of StringUtils.containsAny(). Fixes LANG-1182. Thanks to Larry West, Pascal Schumacher. |
britter |
 |
Add StringUtils methods to compare a string to multiple strings. Fixes LANG-1169. Thanks to Rafal Glowinski, Robert Parr, Arman Sharif. |
lguibert |
 |
Add remove by regular expression methods in StringUtils. Fixes LANG-1185. |
lguibert |
 |
Making replacePattern/removePattern methods null safe in StringUtils. Fixes LANG-1183. |
lguibert |
 |
Add replace by regular expression methods in StringUtils. Fixes LANG-1139. |
lguibert |
 |
Add compare methods in StringUtils. Fixes LANG-1171. |
lguibert |
 |
Add sugar to RandomUtils. Fixes LANG-1174. Thanks to Punkratz312. |
britter |
 |
Replace StringBuilder with String concatenation for better optimization. Fixes LANG-1057. Thanks to Otávio Santana. |
chas |
 |
Deprecate SystemUtils.FILE_SEPARATOR and SystemUtils.PATH_SEPARATOR. Fixes LANG-1075. |
chas |
 |
FastDateFormat APIs that use a StringBuilder. Fixes LANG-1154. Thanks to Gary Gregory. |
chas |
 |
Ability to throw checked exceptions without declaring them. Fixes LANG-1149. Thanks to Gregory Zak. |
chas |
 |
Several predefined ISO FastDateFormats in DateFormatUtils are incorrect. Fixes LANG-1002. Thanks to Michael Osipov. |
chas |
 |
StringIndexOutOfBoundsException or field over-write for large year fields in FastDateParser. Fixes LANG-1152. Thanks to Pas Filip. |
chas |
 |
Implement ParsePosition api for FastDateParser. Fixes LANG-1153. |
chas |
 |
StrLookup.systemPropertiesLookup() no longer reacts on changes on system properties. Fixes LANG-1141. |
oheger |
 |
EnumUtils *BitVector issue with more than 32 values Enum. Fixes LANG-1147. Thanks to Loic Guibert. |
sebb |
 |
Capitalize javadoc is incorrect. Fixes LANG-1059. Thanks to Colin Casey. |
sebb |
 |
Add check for duplicate event listener in EventListenerSupport. Fixes LANG-1137. Thanks to Matthew Aguirre. |
britter |
 |
FastDateParser_TimeZoneStrategyTest#testTimeZoneStrategyPattern fails on Windows with German Locale. Fixes LANG-1133. Thanks to Pascal Schumacher. |
chas |
 |
Add method containsAllWords to WordUtils. Fixes LANG-1135. Thanks to Eduardo Martins. |
britter |
 |
ReflectionToStringBuilder doesn't throw IllegalArgumentException when the constructor's object param is null. Fixes LANG-1132. Thanks to Jack Tan. |
britter |
 |
Inconsistent behavior of swap for malformed inputs. Fixes LANG-1122. Thanks to Adrian Ber. |
britter |
 |
StringUtils join with var args. Fixes LANG-701. Thanks to James Sawle. |
britter |
 |
Fix critical issues reported by SonarQube. Fixes LANG-1130. |
britter |
 |
StrBuilder.equals(StrBuilder) doesn't check for null inputs. Fixes LANG-1131. |
britter |
 |
Add ThreadUtils - A utility class which provides helper methods related to java.lang.Thread. Fixes LANG-1105. Thanks to Hendrik Saly. |
britter |
 |
Add annotations to exclude fields from ReflectionEqualsBuilder, ReflectionToStringBuilder and ReflectionHashCodeBuilder. Fixes LANG-1031. Thanks to Felipe Adorno. |
britter |
 |
Use JUnit rules to set and reset the default Locale and TimeZone. Fixes LANG-1127. |
chas, britter |
 |
JsonToStringStyle doesn't handle chars and objects correctly. Fixes LANG-1128. Thanks to Jack Tan. |
britter |
 |
DateFormatUtilsTest.testSMTP depends on the default Locale. Fixes LANG-1126. |
britter |
 |
Unit test FastDatePrinterTimeZonesTest needs a timezone set. Fixes LANG-1123. Thanks to Christian P. Momon. |
chas |
 |
CLONE - DateFormatUtils.format does not correctly change Calendar TimeZone in certain situations. Fixes LANG-916. Thanks to Christian P. Momon. |
chas |
 |
DateUtilsTest.testLang530 fails for some timezones. Fixes LANG-1116. Thanks to Aaron Sheldon. |
chas |
 |
TypeUtils.ParameterizedType#equals doesn't work with wildcard types. Fixes LANG-1114. Thanks to Andy Coates. |
britter |
 |
Add rotate(string, int) method to StringUtils. Fixes LANG-1119. Thanks to Loic Guibert. |
britter |
 |
StringUtils.repeat('z', -1) throws NegativeArraySizeException. Fixes LANG-1118. Thanks to Loic Guibert. |
britter |
 |
Add swap and shift operations for arrays to ArrayUtils. Fixes LANG-1099. Thanks to Adrian Ber. |
britter |
 |
TypeUtils.parameterizeWithOwner - wrong format descriptor for "invalid number of type parameters". Fixes LANG-979. Thanks to Bruno P. Kinoshita. |
britter |
 |
MultilineRecursiveToStringStyle largely unusable due to being package-private. Fixes LANG-1112. |
britter |
 |
StringUtils.uncapitalize performance improvement. Fixes LANG-1058. Thanks to Leo Wang. |
djones |
 |
CharSet.getInstance documentation does not clearly explain how to include negation character in set. Fixes LANG-1069. Thanks to Arno Noordover. |
djones |
 |
Change nullToEmpty methods to generics. Fixes LANG-1050. Thanks to James Sawle. |
djones |
 |
Fix FindBugs warnings in DurationFormatUtils. Fixes LANG-1111. |
chas |
 |
Add a method to ArrayUtils for removing all occurrences of a given element. Fixes LANG-1074. Thanks to Haiyang Li. |
djones |
 |
Fix parsing edge cases in FastDateParser. Fixes LANG-1107. |
chas |
 |
StringUtils#equals fails with Index OOBE on non-Strings with identical leading prefix. Fixes LANG-1162. |
sebb |
 |
There are no tests for CharSequenceUtils.regionMatches. Fixes LANG-1163. |
sebb |
 |
StringUtils.ordinalIndexOf: Add missing right parenthesis in Javadoc example. Fixes LANG-1200. Thanks to BarkZhang. |
ggregory |
 |
Incorrect Javadoc StringUtils.containsAny(CharSequence, CharSequence...). Fixes LANG-1191. Thanks to qed, Brent Worden, Gary Gregory. |
ggregory |
 |
Added new property IS_OS_MAC_OSX_EL_CAPITAN in SystemUtils Thanks to Jake Wang. |
ebourg |
Release 3.4 – 2014-04-06
| Type |
Changes |
By |
 |
Support OS X versions in SystemUtils. Fixes LANG-821. Thanks to Timo Kockert. |
britter |
 |
SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect. Fixes LANG-794. Thanks to Timo Kockert. |
britter |
 |
Parse test fails for TimeZone America/Sao_Paulo. Fixes LANG-1104. |
chas |
 |
Add SystemUtils.IS_JAVA_1_9. Fixes LANG-1103. |
britter |
 |
Make logic for comparing OS versions in SystemUtils smarter. Fixes LANG-1102. |
britter |
 |
Shutdown thread pools in test cases. Fixes LANG-1091. Thanks to Fabian Lange. |
britter |
 |
FastDateParser and FastDatePrinter support 'X' format. Fixes LANG-1101. |
chas |
 |
Avoid memory allocation when using date formatting to StringBuffer. Fixes LANG-1100. Thanks to mbracher. |
chas |
 |
Possible performance improvement on string escape functions. Fixes LANG-935. Thanks to Fabian Lange, Thomas Neidhart. |
britter |
 |
Exception while using ExtendedMessageFormat and escaping braces. Fixes LANG-948. Thanks to Andrey Khobnya. |
britter |
 |
Avoid String allocation in StrBuilder.append(CharSequence). Fixes LANG-1098. Thanks to Mikhail Mazurskiy, Fabian Lange. |
britter |
 |
Update maven-checkstyle-plugin to 2.14. Fixes LANG-1098. Thanks to Michał Kordas. |
britter |
 |
Update org.easymock:easymock to 3.3.1. Fixes LANG-1097. Thanks to Michał Kordas. |
britter |
 |
Update maven-pmd-plugin to 3.4. Fixes LANG-1096. Thanks to Michał Kordas. |
britter |
 |
Update maven-antrun-plugin to 1.8. Fixes LANG-1095. Thanks to Michał Kordas. |
britter |
 |
Wrong formatting of time zones with daylight saving time in FastDatePrinter. Fixes LANG-1092. |
britter |
 |
Performance improvements for StringEscapeUtils. Fixes LANG-877. Thanks to Fabian Lange. |
britter |
 |
Add ClassUtils.getAbbreviatedName(). Fixes LANG-1093. Thanks to Fabian Lange. |
britter |
 |
FastDateParser does not set error indication in ParsePosition. Fixes LANG-1090. |
sebb |
 |
FastDateParser does not handle excess hours as per SimpleDateFormat. Fixes LANG-1089. |
sebb |
 |
FastDateParser error - timezones not handled correctly. Fixes LANG-1061. Thanks to dmeneses. |
sebb |
 |
NumberUtils#createNumber() returns positive BigDecimal when negative Float is expected. Fixes LANG-1087. Thanks to Renat Zhilkibaev. |
britter |
 |
DiffBuilder.append(String, Object left, Object right) does not do a left.equals(right) check. Fixes LANG-1081. Thanks to Jonathan Baker. |
britter |
 |
StrSubstitutor.replaceSystemProperties does not work consistently. Fixes LANG-1055. Thanks to Jonathan Baker. |
britter |
 |
Add option to disable the "objectsTriviallyEqual" test in DiffBuilder. Fixes LANG-1082. Thanks to Jonathan Baker. |
britter |
 |
Add (T) casts to get unit tests to pass in old JDK. Fixes LANG-1083. Thanks to Jonathan Baker. |
britter |
 |
Add JsonToStringStyle implementation to ToStringStyle. Fixes LANG-1015. Thanks to Thiago Andrade. |
britter |
 |
Add NoClassNameToStringStyle implementation of ToStringStyle. Fixes LANG-1080. Thanks to Innokenty Shuvalov. |
britter |
 |
Fix wrong examples in Javadoc of StringUtils.replaceEachRepeatedly(...), StringUtils.replaceEach(...). Fixes LANG-1071. Thanks to Arno Noordover. |
britter |
 |
Add StringUtils.containsAny(CharSequence, CharSequence...) method. Fixes LANG-883. Thanks to Daniel Stewart. |
britter |
 |
Read wrong component type of array in add in ArrayUtils. Fixes LANG-1073. Thanks to haiyang li. |
kinow |
 |
StringUtils.ordinalIndexOf("aaaaaa", "aa", 2) != 3 in StringUtils. Fixes LANG-1077. Thanks to haiyang li. |
kinow |
 |
Duplicated "0x" check in createBigInteger in NumberUtils. Fixes LANG-1072. Thanks to haiyang li. |
sebb |
 |
StringUtils.abbreviate description doesn't agree with the examples. Fixes LANG-1064. Thanks to B.J. Herbison. |
djones |
 |
Multiline recursive to string style. Fixes LANG-1052. Thanks to Jan Matèrne. |
britter |
 |
Add isSorted() to ArrayUtils. Fixes LANG-536. Thanks to James Sawle. |
djones |
 |
Fix MethodUtilsTest so it does not depend on JDK method ordering. Fixes LANG-1041. Thanks to Alexandre Bartel. |
britter |
 |
CompareToBuilder's doc doesn't specify precedence of fields it uses in performing comparisons. Fixes LANG-827. |
djones |
 |
ParseException when trying to parse UTC dates with Z as zone designator using DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT. Fixes LANG-1000. |
djones |
 |
Javadoc for EqualsBuilder.reflectionEquals() is unclear. Fixes LANG-1035. |
djones |
 |
Improve performance of normalize space. Fixes LANG-1020. Thanks to Libor Ondrusek. |
britter |
 |
Add StringUtils.countMatches(CharSequence, char). Fixes LANG-1033. |
ggregory |
 |
SystemUtils#isJavaVersionAtLeast should return true by default. Fixes LANG-1027. |
rmannibucau |
 |
Provide methods to retrieve all fields/methods annotated with a specific type. Fixes LANG-1021. Thanks to Alexander Müller. |
britter |
 |
Bring static method references in StringUtils to consistent style. Fixes LANG-1026. Thanks to Alex Yursha. |
britter |
 |
NumberUtils#isParsable method(s). Fixes LANG-1016. Thanks to Juan Pablo Santos Rodríguez. |
britter |
 |
Use non-ASCII digits in Javadoc examples for StringUtils.isNumeric. Fixes LANG-1017. Thanks to Christoph Schneegans. |
britter |
 |
Change min/max methods in NumberUtils/IEEE754rUtils from array input parameters to varargs. Fixes LANG-1008. Thanks to Thiago Andrade. |
britter |
 |
Add fuzzy String matching logic to StringUtils. Fixes LANG-999. Thanks to Ben Ripkens. |
britter |
 |
Add wrap (with String or char) to StringUtils. Fixes LANG-1006. Thanks to Thiago Andrade. |
britter |
 |
Extend DurationFormatUtils#formatDurationISO default pattern to match #formatDurationHMS. Fixes LANG-1005. Thanks to Michael Osipov. |
britter |
 |
Fixing NumberUtils JAVADoc comments for max methods. Fixes LANG-1007. Thanks to Thiago Andrade. |
britter |
 |
Better Javadoc for BitField class. Fixes LANG-731. |
djones |
 |
DurationFormatUtils#formatDurationHMS implementation does not correspond to Javadoc and vice versa. Fixes LANG-1004. Thanks to Michael Osipov. |
britter |
 |
DurationFormatUtils are not able to handle negative durations/periods. Fixes LANG-1003. |
britter |
 |
ISO 8601 misspelled throughout the Javadocs. Fixes LANG-1001. Thanks to Michael Osipov. |
ggregory |
 |
Add zero copy read method to StrBuilder. Fixes LANG-994. Thanks to Mikhail Mazursky. |
britter |
 |
Add zero copy write method to StrBuilder. Fixes LANG-993. Thanks to Mikhail Mazursky. |
britter |
 |
Javadoc is not clear on preferred pattern to instantiate FastDateParser / FastDatePrinter. Fixes LANG-998. |
chas |
 |
FastDateParser should be case insensitive. Fixes LANG-1088. |
chas |
 |
Fix bug with stripping spaces on last line in WordUtils.wrap(). Fixes LANG-995. Thanks to Andrey Khobnya. |
britter |
 |
Add MethodUtils.invokeExactMethod(Object, String). Fixes LANG-1044. |
ggregory |
 |
Add MethodUtils.invokeMethod(Object, String). Fixes LANG-1045. |
ggregory |
Release 3.3.2 – 2014-04-09
| Type |
Changes |
By |
 |
NumberUtils#isNumber() returns false for "0.0", "0.4790", et al. Fixes LANG-992. |
niallp |
 |
Add SystemUtils.IS_JAVA_1_8. Fixes LANG-989. |
ggregory |
Release 3.3.1 – 2014-03-18
| Type |
Changes |
By |
 |
DateUtils.getFragmentInDays(Date, Calendar.MONTH) returns wrong days. Fixes LANG-987. |
djones |
 |
DurationFormatUtils does not describe format string fully. Fixes LANG-983. |
sebb |
 |
DurationFormatUtils#lexx does not detect unmatched quote char. Fixes LANG-981. |
sebb |
 |
DurationFormatUtils does not handle large durations correctly. Fixes LANG-984. |
sebb |
 |
DurationFormatUtils.formatDuration(61999, "s.SSSS") - ms field size should be 4 digits. Fixes LANG-982. |
sebb |
 |
Failing tests with Java 8 b128. Fixes LANG-978. |
sebb |
Release 3.3 – 2014-03-04
| Type |
Changes |
By |
 |
ReflectionToStringBuilder.toString does not debug 3rd party object fields within 3rd party object. Fixes LANG-621. Thanks to Philip Hodges, Thomas Neidhart. |
kinow |
 |
Add methods for removing all invalid characters according to XML 1.0 and XML 1.1 in an input string to StringEscapeUtils. Fixes LANG-955. Thanks to Adam Hooper. |
britter |
 |
NumericEntityEscaper incorrectly encodes supplementary characters. Fixes LANG-977. Thanks to Chris Karcher. |
britter |
 |
Make some private fields final. Fixes LANG-973. |
sebb |
 |
NumberUtils#isNumber(String) fails to reject invalid Octal numbers. Fixes LANG-971. |
sebb |
 |
NumberUtils#isNumber does not allow for hex 0XABCD. Fixes LANG-972. |
sebb |
 |
StringUtils.toEncodedString(byte[], Charset) needlessly throws UnsupportedEncodingException. Fixes LANG-969. Thanks to Matt Bishop. |
ggregory |
 |
Add APIs MutableBoolean setTrue() and setFalse(). Fixes LANG-970. |
ggregory |
 |
ConstantInitializerTest fails when building with IBM JDK 7. Fixes LANG-946. |
britter |
 |
Add SerializationUtils.roundtrip(T extends Serializable) to serialize then deserialize. Fixes LANG-962. |
ggregory |
 |
FieldUtils.removeFinalModifier(Field) does not clean up after itself. Fixes LANG-961. |
ggregory |
 |
FastDateParser javadoc incorrectly states that SimpleDateFormat is used internally. Fixes LANG-958. |
chas |
 |
There should be a DifferenceBuilder with a ReflectionDifferenceBuilder implementation. Fixes LANG-637. |
djones |
 |
uncaught PatternSyntaxException in FastDateFormat on Android. Fixes LANG-954. Thanks to Michael Keppler. |
sebb |
 |
Improve Javadoc of WordUtils.wrap methods. Fixes LANG-956. |
britter |
 |
Add the Jaro-Winkler string distance algorithm to StringUtils. Fixes LANG-944. Thanks to Rekha Joshi. |
britter |
 |
StringUtils.getLevenshteinDistance with too big of a threshold returns wrong result. Fixes LANG-936. Thanks to Yaniv Kunda, Eli Lindsey. |
bayard |
 |
Test DurationFormatUtilsTest.testEdgeDuration fails in JDK 1.6, 1.7 and 1.8, BRST time zone. Fixes LANG-943. |
kinow |
 |
ConstructorUtils.getAccessibleConstructor() Does Not Check the Accessibility of Enclosing Classes. Fixes LANG-613. |
mbenson |
 |
Fragments are wrong by 1 day when using fragment YEAR or MONTH. Fixes LANG-951. Thanks to Sebastian Götz. |
britter |
 |
New class ClassPathUtils with methods for turning FQN into resource path. Fixes LANG-417. |
britter |
 |
Move Documentation from user guide to package-info files. Fixes LANG-939. |
britter |
 |
Convert package.html files to package-info.java files. Fixes LANG-953. |
britter |
 |
FastDateParser does not handle two digit year parsing like SimpleDateFormat. Fixes LANG-950. |
chas |
 |
FastDateParserTest.testParses does not test FastDateParser. Fixes LANG-949. |
chas |
 |
Fix deprecation warnings. Fixes LANG-940. |
britter |
 |
EnumUtils.generateBitVector needs a "? extends". Fixes LANG-819. |
mbenson |
 |
Validate: add inclusiveBetween and exclusiveBetween overloads for primitive types. Fixes LANG-834. |
britter |
 |
New RandomUtils class. Fixes LANG-900. Thanks to Duncan Jones. |
britter |
 |
Wrong locale handling in LocaleUtils.toLocale(). Fixes LANG-915. Thanks to Sergio Fernández. |
britter |
 |
Add IBM OS/400 detection. Fixes LANG-966. |
ggregory |
Release 3.2.1 – 2014-01-05
| Type |
Changes |
By |
 |
Fix missing Hamcrest dependency in Ant Build. Fixes LANG-937. |
britter |
 |
Test failure in LocaleUtilsTest when building with JDK 8. Fixes LANG-941. |
britter |
 |
Test failure in FastDateParserTest and FastDateFormat_ParserTest when building with JDK8. Fixes LANG-942. Thanks to Bruno P. Kinoshita, Henri Yandell. |
britter |
 |
Build fails with test failures when building with JDK 8. Fixes LANG-938. |
- |
Release 3.2 – 2014-01-01
| Type |
Changes |
By |
 |
Add removeFinalModifier to FieldUtils. Fixes LANG-934. |
mcucchiara |
 |
Method returns number of inheritance hops between parent and subclass. Fixes LANG-863. Thanks to Daneel S. Yaitskov. |
sebb |
 |
Spelling fixes. Fixes LANG-932. Thanks to Ville Skyttä. |
sebb |
 |
Misleading Javadoc comment in StrBuilderReader class. Fixes LANG-931. Thanks to Christoph Schneegans. |
britter |
 |
OctalUnescaper tried to parse all of \279. Fixes LANG-929. |
- |
 |
OctalUnescaper had bugs when parsing octals starting with a zero. Fixes LANG-928. |
- |
 |
EqualsBuilder returned true when comparing arrays, even when the elements are different. Fixes LANG-905. |
- |
 |
Added isStarted, isSuspended and isStopped to StopWatch. Fixes LANG-774. Thanks to Erhan Bagdemir. |
- |
 |
Fixed exception when combining custom and choice format in ExtendedMessageFormat. Fixes LANG-917. Thanks to Arne Burmeister. |
- |
 |
Added StringUtils.isBlank/isEmpty CharSequence... methods. Fixes LANG-848. Thanks to Alexander Muthmann. |
- |
 |
Added ArrayUtils.reverse(array, from, to) methods. Fixes LANG-926. |
ggregory |
 |
StringUtils.toString(byte[], String) deprecated in favour of a new StringUtils.toString(byte[], CharSet). Fixes LANG-795. Thanks to Aaron Digulla. |
- |
 |
RandomStringUtils.random javadoc was incorrectly promising letters and numbers would, as opposed to may, appear. Fixes LANG-902. Thanks to Andrzej Winnicki. |
- |
 |
BooleanUtils.xor(boolean...) produces wrong results. Fixes LANG-921. |
britter |
 |
StringUtils.normalizeSpace now handles non-breaking spaces (Unicode 00A0). Fixes LANG-910. Thanks to Timur Yarosh. |
- |
 |
Redundant check for zero in HashCodeBuilder ctor. Fixes LANG-804. Thanks to Allon Mureinik. |
britter |
 |
StrSubstitutor now supports default values for variables. Fixes LANG-893. Thanks to Woonsan Ko. |
oheger |
 |
Adding .gitignore to commons-lang. Fixes LANG-913. Thanks to Allon Mureinik. |
britter |
 |
Add ObjectUtils.toIdentityString methods that support StringBuilder, StrBuilder, and Appendable. Fixes LANG-837. |
- |
 |
BooleanUtils.toBoolean(String str) javadoc is not updated. Fixes LANG-896. Thanks to Mark Bryan Yu. |
- |
 |
LocaleUtils test fails with new Locale "ja_JP_JP_#u-ca-japanese" of JDK7. Fixes LANG-879. |
- |
 |
StrSubstitutor does not support StringBuilder or CharSequence. Fixes LANG-836. Thanks to Arnaud Brunet. |
- |
 |
Method createNumber from NumberUtils doesn't work for floating point numbers other than Float. Fixes LANG-693. Thanks to Calvin Echols. |
- |
 |
FastDateFormat does not use the locale specific cache correctly. Fixes LANG-887. |
- |
 |
Simplify FastDateFormat; eliminate boxing. Fixes LANG-884. |
- |
 |
LookupTranslator now works with implementations of CharSequence other than String. Fixes LANG-882. |
- |
 |
ClassUtils.getShortName(String) will now only do a reverse lookup for array types. Fixes LANG-754. |
- |
 |
Added CharSetUtils.containsAny(String, String). Fixes LANG-886. |
- |
 |
Provide CharSequenceUtils.regionMatches with a proper green implementation instead of inefficiently converting to Strings. Fixes LANG-846. |
- |
 |
Added escape/unescapeJson to StringEscapeUtils. Fixes LANG-797. |
- |
 |
Added appendIfMissing and prependIfMissing methods to StringUtils. Fixes LANG-875. |
- |
 |
NumberUtils.createNumber() Javadoc says it does not work for octal numbers. Fixes LANG-881. |
- |
 |
Fixed URLs in javadoc to point to new oracle.com pages |
- |
 |
Add StringUtils.LF and StringUtils.CR values. Fixes LANG-870. |
- |
 |
Add FieldUtils getAllFields() to return all the fields defined in the given class and super classes. Fixes LANG-873. |
- |
 |
LocaleUtils.toLocale does not parse strings starting with an underscore. Fixes LANG-865. |
- |
 |
StrBuilder should support StringBuilder as an input parameter. Fixes LANG-835. |
- |
 |
StringEscapeUtils.escapeJava() and escapeEcmaScript() do not output the escaped surrogate pairs that are Java parsable. Fixes LANG-858. |
- |
 |
StringIndexOutOfBoundsException in CharSequenceTranslator. Fixes LANG-857. |
- |
 |
Code refactoring in NumberUtils. Fixes LANG-856. |
- |
 |
NumberUtils#createBigInteger does not allow for hex and octal numbers. Fixes LANG-855. |
- |
 |
NumberUtils#createNumber - does not allow for hex numbers to be larger than Long. Fixes LANG-854. |
- |
 |
StringUtils join APIs for primitives. Fixes LANG-853. |
- |
 |
FastDateFormat and FastDatePrinter generates Date objects wastefully. Fixes LANG-849. |
- |
 |
Spelling fixes. Fixes LANG-845. |
- |
 |
Fix examples contained in javadoc of StringUtils.center methods. Fixes LANG-844. |
- |
 |
Add StringUtils API to call String.replaceAll in DOTALL a.k.a. single-line mode. Fixes LANG-841. |
- |
 |
ArrayUtils removeElements methods use unnecessary HashSet. Fixes LANG-839. |
- |
 |
ArrayUtils removeElements methods clone temporary index arrays unnecessarily. Fixes LANG-838. |
- |
 |
FastDateParser does not handle unterminated quotes correctly. Fixes LANG-832. |
- |
 |
FastDateParser does not handle white-space properly. Fixes LANG-831. |
- |
 |
FastDateParser could use \Q \E to quote regexes. Fixes LANG-830. |
- |
 |
FastDateParser does not handle non-Gregorian calendars properly. Fixes LANG-828. |
- |
 |
FastDateParser does not handle non-ASCII digits correctly. Fixes LANG-826. |
- |
 |
Create StrBuilder APIs similar to String.format(String, Object...). Fixes LANG-825. |
- |
 |
NumberUtils#createNumber - bad behavior for leading "--". Fixes LANG-822. |
- |
 |
FastDateFormat's "z" pattern does not respect timezone of Calendar instances passed to format(). Fixes LANG-818. |
- |
 |
Add SystemUtils.IS_OS_WINDOWS_8. Fixes LANG-817. |
- |
 |
StringUtils.equalsIgnoreCase doesn't check string reference equality. Fixes LANG-813. |
- |
 |
StringUtils.join() endIndex, bugged for loop. Fixes LANG-810. |
- |
 |
RandomStringUtils throws confusing IAE when end <= start. Fixes LANG-807. |
- |
 |
RandomStringUtils.random(count, 0, 0, false, false, universe, random) always throws java.lang.ArrayIndexOutOfBoundsException. Fixes LANG-805. |
- |
 |
LocaleUtils - unnecessary recursive call in SyncAvoid class. Fixes LANG-802. |
- |
 |
Javadoc bug in DateUtils#ceiling for Calendar and Object versions. Fixes LANG-800. |
- |
 |
DateUtils#parseDate uses default locale; add Locale support. Fixes LANG-799. |
- |
 |
Use generics in SerializationUtils. Fixes LANG-798. |
- |
 |
SerializationUtils throws ClassNotFoundException when cloning primitive classes. Fixes LANG-788. |
- |
 |
StringUtils equals() relies on undefined behavior. Fixes LANG-786. |
- |
 |
Documentation bug: StringUtils.split. Fixes LANG-783. |
- |
 |
jar contains velocity template of release notes. Fixes LANG-777. |
- |
 |
TypeUtilsTest contains incorrect type assignability assertion. Fixes LANG-776. |
- |
 |
TypeUtils.getTypeArguments() misses type arguments for partially-assigned classes. Fixes LANG-775. |
- |
 |
ImmutablePair doc contains nonsense text. Fixes LANG-773. |
- |
 |
ClassUtils.PACKAGE_SEPARATOR Javadoc contains garbage text. Fixes LANG-772. |
- |
 |
EventListenerSupport.ProxyInvocationHandler no longer defines serialVersionUID. Fixes LANG-765. |
- |
 |
StrBuilder is now serializable. Fixes LANG-764. |
- |
 |
Fix Javadoc Ant warnings. Fixes LANG-761. |
- |
 |
NumberUtils does not handle Long Hex numbers. Fixes LANG-747. |
- |
 |
Javadoc bug in static inner class DateIterator. Fixes LANG-743. |
- |
 |
Add Triple class (ternary version of Pair). Fixes LANG-675. |
- |
 |
FastDateFormat supports parse methods. Fixes LANG-462. |
- |
Release 3.1 – 2011-11-14
| Type |
Changes |
By |
 |
Add API StringUtils.toString(byte[] input, String charsetName). Fixes LANG-760. |
- |
 |
Add an example with whitespace in StringUtils.defaultIfEmpty. Fixes LANG-758. |
- |
 |
Add APIs ClassUtils.isPrimitiveWrapper(Class<?>) and isPrimitiveOrWrapper(Class<?>). Fixes LANG-756. |
- |
 |
Fix createLong() so it behaves like createInteger(). Fixes LANG-752. |
- |
 |
Include the actual type in the Validate.isInstance and isAssignableFrom exception messages. Fixes LANG-751. |
- |
 |
Incorrect Bundle-SymbolicName in Manifest. Fixes LANG-749. |
- |
 |
Deprecating chomp(String, String). Fixes LANG-748. |
- |
 |
NumberUtils does not handle upper-case hex: 0X and -0X. Fixes LANG-746. |
- |
 |
StringUtils throws java.security.AccessControlException on Google App Engine. Fixes LANG-744. |
- |
 |
Ant build has wrong component.name. Fixes LANG-741. |
- |
 |
CharUtils static final array CHAR_STRING is not needed to compute CHAR_STRING_ARRAY. Fixes LANG-736. |
- |
 |
Document that the Mutable numbers don't work as expected with String.format. Fixes LANG-698. |
- |
 |
SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a Unix system. Fixes LANG-695. |
- |
Release 3.0.1 – 2011-08-09
| Type |
Changes |
By |
 |
SerializationUtils.clone: Fallback to context classloader if class not found in current classloader. Fixes LANG-626. |
- |
 |
ToStringBuilderTest.testReflectionHierarchyArrayList fails with IBM JDK 6. Fixes LANG-727. |
- |
 |
StringEscapeUtils.escapeXml(input) wrong when input contains characters in Supplementary Planes. Fixes LANG-720. |
- |
 |
StringEscapeUtils.escapeEcmaScript from lang3 cuts off long unicode string. Fixes LANG-708. |
- |
 |
Improve exception message when StringUtils.replaceEachRepeatedly detects recursion. Fixes LANG-686. |
- |
 |
Specify source encoding for Ant build. Fixes LANG-717. |
- |
 |
Complement ArrayUtils.addAll() variants with by-index and by-value removal methods. Fixes LANG-721. |
- |
 |
Add Range<T> Range<T>.intersectionWith(Range<T>). Fixes LANG-726. |
- |
 |
Add mode and median Comparable... methods to ObjectUtils. Fixes LANG-723. |
- |
 |
Add BooleanUtils.and + or varargs methods. Fixes LANG-722. |
- |
 |
EnumSet -> bit vector. Fixes LANG-730. |
- |
 |
The CHAR_ARRAY cache in CharUtils duplicates the cache in java.lang.Character. Fixes LANG-734. |
- |
 |
Deprecate CharUtils.toCharacterObject(char) in favor of java.lang.Character.valueOf(char). Fixes LANG-735. |
- |
 |
Missing method getRawMessage for ContextedException and ContextedRuntimeException. Fixes LANG-737. |
- |
 |
Use internal Java's Number caches instead creating new objects. Fixes LANG-738. |
- |
Release 3.0 – 2011-07-18
| Type |
Changes |
By |
 |
StringEscapeUtils.escapeXml(input) outputs wrong results when an input contains characters in Supplementary Planes. Fixes LANG-720. |
- |
 |
build.xml Java 1.5+ updates. Fixes LANG-718. |
- |
 |
swapCase and *capitalize speedups. Fixes LANG-716. |
- |
 |
CharSetUtils.squeeze() speedup. Fixes LANG-715. |
- |
 |
StringUtils doc/comment spelling fixes. Fixes LANG-714. |
- |
 |
Increase test coverage of FieldUtils read methods and tweak Javadoc. Fixes LANG-713. |
- |
 |
Add includeantruntime=false to javac targets to quell warnings in ant 1.8.1 and better (and modest performance gain). Fixes LANG-711. |
- |
 |
StringIndexOutOfBoundsException when calling unescapeHtml4(""). Fixes LANG-710. |
- |
 |
StringEscapeUtils.escapeEcmaScript from lang3 cuts off long Unicode string. Fixes LANG-708. |
- |
 |
StringUtils.join throws NPE when toString returns null for one of objects in collection. Fixes LANG-703. |
- |
 |
Add FormattableUtils class. Fixes LANG-697. |
- |
 |
Add ClassUtils.getSimpleName() methods. |
- |
 |
Add hashCodeMulti varargs method. Fixes LANG-692. |
- |
 |
Removed DateUtils.UTC_TIME_ZONE. Fixes LANG-691. |
- |
 |
Convert more of the StringUtils API to take CharSequence. Fixes LANG-687. |
- |
 |
EqualsBuilder synchronizes on HashCodeBuilder. Fixes LANG-685. |
- |
 |
StringUtils.isAlpha, isAlphanumeric and isNumeric now return false for "". Fixes LANG-428. |
- |
 |
Add support for ConcurrentMap.putIfAbsent(). Fixes LANG-678. |
- |
 |
Documented potential NPE if auto-boxing occurs for some BooleanUtils methods. Fixes LANG-676. |
- |
 |
DateUtils.isSameLocalTime compares using 12-hour clock and not 24-hour. Fixes LANG-677. |
- |
 |
Extend exception handling in ConcurrentUtils to runtime exceptions. Fixes LANG-610. |
- |
 |
SystemUtils.getJavaVersionAsFloat throws StringIndexOutOfBoundsException on Android runtime/Dalvik VM. Fixes LANG-624. |
- |
 |
WordUtils.abbreviate() removed. Fixes LANG-673. |
- |
 |
Doc bug in DateUtils#ceiling. Fixes LANG-672. |
- |
 |
StringEscapeUtils.unescapeJava doesn't handle octal escapes and Unicode with extra u. Fixes LANG-646. |
- |
 |
Fraction does not reduce (Integer.MIN_VALUE, 2^k). Fixes LANG-662. |
- |
 |
Fraction does not always succeed in multiplyBy and divideBy. Fixes LANG-663. |
- |
 |
Change ObjectUtils min() & max() functions to use varargs rather than just two parameters. Fixes LANG-668. |
- |
 |
Add a Null-safe compare() method to ObjectUtils. Fixes LANG-667. |
- |
 |
NumberUtils.isNumber(String) is not right when the String is "1.1L". Fixes LANG-664. |
- |
 |
EntityArrays typo: {"\u2122", "−"}, // minus sign, U+2212 ISOtech. Fixes LANG-659. |
- |
 |
Some entities like Ö are not matched properly against its ISO8859-1 representation. Fixes LANG-658. |
- |
 |
Example StringUtils.indexOfAnyBut("zzabyycdxx", '') = 0 incorrect. Fixes LANG-656. |
- |
 |
Add StringUtils.defaultIfBlank(). Fixes LANG-655. |
- |
 |
Provide a very basic ConcurrentInitializer implementation. Fixes LANG-653. |
- |
 |
Support lazy initialization using atomic variables. Fixes LANG-609. |
- |
 |
Enhance StrSubstitutor to support nested ${var-${subvr}} expansion. Fixes LANG-482. |
- |
 |
Provide documentation about the new concurrent package. Fixes LANG-644. |
- |
 |
Charset may not be threadsafe, because the HashSet is not synch. Fixes LANG-629. |
- |
 |
StringEscapeUtils.escapeXML() can't process UTF-16 supplementary characters. Fixes LANG-617. |
- |
 |
StringUtils.endsWithAny method. Fixes LANG-614. |
- |
 |
Add AnnotationUtils. Fixes LANG-651. |
- |
 |
BooleanUtils.toBooleanObject to support single character input. Fixes LANG-649. |
- |
 |
FastDateFormat.format() outputs incorrect week of year because locale isn't respected. Fixes LANG-645. |
- |
 |
StrSubstitutor should also handle the default properties of a java.util.Properties class. Fixes LANG-596. |
- |
 |
Javadoc StringUtils.left() claims to throw on negative len, but doesn't. Fixes LANG-643. |
- |
 |
Add normalizeSpace to StringUtils. Fixes LANG-640. |
- |
 |
NumberUtils createNumber throws a StringIndexOutOfBoundsException when argument containing "e" and "E" is passed in. Fixes LANG-638. |
- |
 |
NOTE: The below were included in the Commons Lang 3.0-beta release. |
- |
 |
Convert StringUtils API to take CharSequence. Fixes LANG-510. |
- |
 |
Push down WordUtils to "text" sub-package. |
- |
 |
Extend exception handling in ConcurrentUtils to runtime exceptions. Fixes LANG-610. |
- |
 |
Some StringUtils methods should take an int character instead of char to use String API features. Fixes LANG-608. |
- |
 |
EqualsBuilder causes StackOverflowException. Fixes LANG-606. |
- |
 |
DefaultExceptionContext overwrites values in recursive situations. Fixes LANG-605. |
- |
 |
ContextedRuntimeException no longer an 'unchecked' exception. Fixes LANG-602. |
- |
 |
Add Builder Interface / Update Builders to Implement It. Fixes LANG-601. |
- |
 |
Javadoc is incorrect for public static int lastIndexOf(String str, String searchStr). Fixes LANG-600. |
- |
 |
ClassUtils.getClass(): Allow Dots as Inner Class Separators. Fixes LANG-599. |
- |
 |
DateUtils equal & compare functions up to most significant field. Fixes LANG-594. |
- |
 |
Remove JDK 1.2/1.3 bug handling in StringUtils.indexOf(String, String, int). Fixes LANG-590. |
- |
 |
Create a basic Pair<L, R> class. Fixes LANG-588. |
- |
 |
exception.DefaultExceptionContext.getFormattedExceptionMessage catches Throwable. Fixes LANG-585. |
- |
 |
Provide an implementation of the ThreadFactory interface. Fixes LANG-582. |
- |
 |
Add new Validate methods. Fixes LANG-579. |
- |
 |
ArrayUtils.add(T[] array, T element) can create unexpected ClassCastException. Fixes LANG-571. |
- |
 |
Do the test cases really still require main() and suite() methods?. Fixes LANG-570. |
- |
 |
@SuppressWarnings("unchecked") is used too generally. Fixes LANG-568. |
- |
 |
Improve StrLookup API documentation. Fixes LANG-564. |
- |
 |
Change Java package name. Fixes LANG-563. |
- |
 |
Change Maven groupId. Fixes LANG-562. |
- |
 |
New TimedSemaphore class. Fixes LANG-560. |
- |
 |
Added validState validation method. Fixes LANG-559. |
- |
 |
Added isAssignableFrom and isInstanceOf validation methods. Fixes LANG-559. |
- |
 |
Add TypeUtils class to provide utility code for working with generic types. Fixes LANG-553. |
- |
 |
Replace Range classes with generic version. Fixes LANG-551. |
- |
 |
Use Iterable on API instead of Collection. Fixes LANG-548. |
- |
 |
Add methods to Validate to check whether the index is valid for the array/list/string. Fixes LANG-546. |
- |
 |
Add ability to create a Future for a constant. Fixes LANG-545. |
- |
 |
Replace StringBuffer with StringBuilder. Fixes LANG-541. |
- |
 |
Make NumericEntityEscaper immutable. Fixes LANG-540. |
- |
 |
Compile commons.lang for CDC 1.1/Foundation 1.1. Fixes LANG-539. |
- |
 |
Add ArrayUtils.toArray to create generic arrays. Fixes LANG-537. |
- |
 |
Validate: support for validating blank strings. Fixes LANG-533. |
- |
 |
Add a concurrent package. Fixes LANG-529. |
- |
 |
Mutable classes should implement an appropriately typed Mutable interface. Fixes LANG-528. |
- |
 |
Better EnumUtils. Fixes LANG-513. |
- |
 |
StringEscapeUtils.unescapeJava should support \u+ notation. Fixes LANG-507. |
- |
 |
Rewrite StringEscapeUtils. Fixes LANG-505. |
- |
 |
bring ArrayUtils.isEmpty to the generics world. Fixes LANG-504. |
- |
 |
Add support for background initialization. Fixes LANG-501. |
- |
 |
Add support for the handling of ExecutionExceptions. Fixes LANG-499. |
- |
 |
Add StringEscapeUtils.escapeText() methods. Fixes LANG-498. |
- |
 |
Addition of ContextedException and ContextedRuntimeException. Fixes LANG-497. |
- |
 |
A generic implementation of the Lazy initialization pattern. Fixes LANG-496. |
- |
 |
Remove code that does not hold enough value to remain. Fixes LANG-493. |
- |
 |
Remove code handled now by the JDK. Fixes LANG-492. |
- |
 |
StrSubstitutor now supports substitution in variable names. Fixes LANG-482. |
- |
 |
Possible race-conditions in hashCode of the range classes. Fixes LANG-481. |
- |
 |
StringEscapeUtils.escapeHtml incorrectly converts Unicode characters above U+00FFFF into 2 characters. Fixes LANG-480. |
- |
 |
Document where in SVN trunk is. Fixes LANG-479. |
- |
 |
StopWatch does not resist to system time changes. Fixes LANG-478. |
- |
 |
Fixes for thread safety. Fixes LANG-474. |
- |
 |
Refactor Validate.java to eliminate code redundancy. Fixes LANG-458. |
- |
 |
Lower Ascii Characters don't get encoded by Entities.java. Fixes LANG-448. |
- |
 |
StringUtils.emptyToNull. Fixes LANG-444. |
- |
 |
StringEscapeUtils.escapeHTML() does not escape chars (0x00-0x20). Fixes LANG-439. |
- |
 |
Remove @deprecateds. Fixes LANG-438. |
- |
 |
Add ClassUtils.isAssignable() variants with autoboxing. Fixes LANG-435. |
- |
 |
Improve Javadoc for StringUtils class. Fixes LANG-424. |
- |
 |
Javadoc incorrect for StringUtils.endsWithIgnoreCase. Fixes LANG-418. |
- |
 |
Investigate for vararg usages. Fixes LANG-396. |
- |
 |
JDK 1.5 build/runtime failure on LANG-393 (EqualsBuilder). Fixes LANG-468. |
- |
 |
LeftOf/RightOfNumber in Range convenience methods necessary. Fixes LANG-386. |
- |
 |
ExceptionUtils not thread-safe. Fixes LANG-369. |
- |
 |
ObjectUtils.coalesce. Fixes LANG-358. |
- |
 |
StrBuilder should implement CharSequence and Appendable. Fixes LANG-355. |
- |
 |
StringEscapeUtils.escapeHtml() escapes multibyte characters like Chinese, Japanese, etc. Fixes LANG-339. |
- |
 |
Finally start using generics. Fixes LANG-336. |
- |
 |
StrBuilder does not implement clone(). Fixes LANG-302. |
- |
 |
EnumUtils for JDK 5.0. Fixes LANG-290. |
- |
 |
Wish : method unaccent. Fixes LANG-285. |
- |
 |
MutableBigDecimal and MutableBigInteger. Fixes LANG-276. |
- |
 |
StringEscaper.escapeXml() escapes characters > 0x7f. Fixes LANG-66. |
- |
 |
Depend on JDK 1.5+. Fixes LANG-11. |
- |
Release 2.6 – 2011-01-16
| Type |
Changes |
By |
 |
BooleanUtils: use same optimization in toBooleanObject(String) as in toBoolean(String). Fixes LANG-633. |
- |
 |
ClassUtils: allow Dots as Inner Class Separators in getClass(). Fixes LANG-599. |
- |
 |
DateUtils: equal and compare functions up to most significant field. Fixes LANG-594. |
- |
 |
DateUtils: provide a Date to Calendar convenience method. Fixes LANG-632. |
- |
 |
ObjectUtils: add clone methods to ObjectUtils. Fixes LANG-576. |
- |
 |
ObjectUtils: add a Null-safe compare() method. Fixes LANG-667. |
- |
 |
ObjectUtils: add notEqual() method. Fixes LANG-670. |
- |
 |
StrBuilder: implement clone() method. Fixes LANG-302. |
- |
 |
StringUtils: add a normalizeSpace() method. Fixes LANG-640. |
- |
 |
StringUtils: add endsWithAny() method. Fixes LANG-614. |
- |
 |
StringUtils: add defaultIfBlank() method. Fixes LANG-655. |
- |
 |
StrSubstitutor: add a replace(String, Properties) variant. Fixes LANG-596. |
- |
 |
StrSubstitutor: support substitution in variable names. Fixes LANG-482. |
- |
 |
Use StrBuilder instead of StringBuffer to improve performance where sync. is not an issue. Fixes LANG-669. |
- |
 |
CharSet: make the underlying set synchronized. Fixes LANG-629. |
- |
 |
CompareToBuilder: fix passing along compareTransients to the reflectionCompare method. Fixes LANG-635. |
- |
 |
ExtendedMessageFormat doesn't override equals(Object). Fixes LANG-636. |
- |
 |
FastDateFormat: fix to properly include the locale when formatting a Date. Fixes LANG-645. |
- |
 |
NumberUtils: createNumber() throws a StringIndexOutOfBoundsException when argument containing "e" and "E" is passed in. Fixes LANG-638. |
- |
 |
StringUtils methods do not handle Unicode 2.0+ supplementary characters correctly. Fixes LANG-607. |
- |
 |
SystemUtils: getJavaVersionAsFloat throws StringIndexOutOfBoundsException on Android runtime/Dalvik VM. Fixes LANG-624. |
- |
 |
MemberUtils: getMatchingAccessibleMethod does not correctly handle inheritance and method overloading. Fixes BEANUTILS-381. |
- |
 |
Javadoc is incorrect for lastIndexOf() method. Fixes LANG-600. |
- |
 |
Javadoc for HashCodeBuilder.append(boolean) does not match implementation. Fixes LANG-628. |
- |
 |
Javadoc StringUtils.left() claims to throw an exception on negative length, but doesn't. Fixes LANG-643. |
- |
 |
Javadoc - document thread safety. Fixes LANG-370. |
- |
 |
Test for StringUtils replaceChars() icelandic characters. Fixes LANG-623. |
- |
Release 2.5 – 2010-02-25
| Type |
Changes |
By |
 |
ArrayUtils - add isNotEmpty() methods. Fixes LANG-583. |
- |
 |
ArrayUtils - add nullToEmpty() methods. Fixes LANG-534. |
- |
 |
CharRange - provide an iterator that lets you walk the chars in the range. Fixes LANG-454. |
- |
 |
CharRange - add more readable static builder methods. Fixes LANG-514. |
- |
 |
ClassUtils - new isAssignable() methods with autoboxing. |
- |
 |
ClassUtils - add support to getShortClassName and getPackageName for arrays. Fixes LANG-535. |
- |
 |
DateUtils - add ceiling() method. Fixes LANG-434. |
- |
 |
DateUtils - add parseDateStrictly() method. Fixes LANG-486. |
- |
 |
EqualsBuilder - add reset() method. Fixes LANG-466. |
- |
 |
NumberUtils - add toByte() and toShort() methods. Fixes LANG-461. |
- |
 |
Mutable numbers - add string constructors. Fixes LANG-522. |
- |
 |
MutableBoolean - add toBoolean(), isTrue() and isFalse() methods. |
- |
 |
StrBuilder - add appendSeparator() methods with an alternative default separator if the StrBuilder is currently empty. Fixes LANG-422. |
- |
 |
SystemUtils - add IS_OS_WINDOWS_7 constant. Fixes LANG-555. |
- |
 |
SystemUtils - add IS_JAVA_1_7 constant for JDK 1.7. Fixes LANG-554. |
- |
 |
StringUtils - add abbreviateMiddle() method. Fixes LANG-405. |
- |
 |
StringUtils - add indexOfIgnoreCase() and lastIndexOfIgnoreCase() methods. Fixes LANG-569. |
- |
 |
StringUtils - add isAllUpperCase() and isAllLowerCase() methods. Fixes LANG-471. |
- |
 |
StringUtils - add lastOrdinalIndexOf() method to complement the existing ordinalIndexOf() method. Fixes LANG-469. |
- |
 |
StringUtils - add repeat() method. Fixes LANG-348. |
- |
 |
StringUtils - add startsWithAny() method. Fixes LANG-445. |
- |
 |
StringUtils - add upperCase(String, Locale) and lowerCase(String, Locale) methods. Fixes LANG-430. |
- |
 |
New Reflection package containing ConstructorUtils, FieldUtils, MemberUtils and MethodUtils. Fixes LANG-416. |
- |
 |
ArrayUtils - addAll() does not handle mixed types very well. Fixes LANG-567. |
- |
 |
CharSet - Synchronizing the COMMON Map so that getInstance doesn't miss a put from a subclass in another thread. Fixes LANG-494. |
- |
 |
ClassUtils - improving performance of getAllInterfaces. Fixes LANG-500. |
- |
 |
ClassUtils - toClass() throws NullPointerException on null array element. Fixes LANG-587. |
- |
 |
DateUtils - Fix parseDate() cannot parse ISO8601 dates produced by FastDateFormat. Fixes LANG-530. |
- |
 |
DateUtils - round() doesn't work correct for Calendar.AM_PM. Fixes LANG-440. |
- |
 |
DateUtils - improve tests. Fixes LANG-443. |
- |
 |
Entities - multithreaded initialization. Fixes LANG-204. |
- |
 |
Entities - missing final modifiers; thread-safety issues. Fixes LANG-506. |
- |
 |
EnumUtils - getEnum() doesn't work well in 1.5+. Fixes LANG-76. |
- |
 |
ExceptionUtils - use immutable lock target. Fixes LANG-584. |
- |
 |
ExtendedMessageFormat - OutOfMemory with a pattern containing single quotes. Fixes LANG-477. |
- |
 |
FastDateFormat - call getTime() on a calendar to ensure timezone is in the right state. Fixes LANG-538. |
- |
 |
FastDateFormat - Remove unused field. Fixes LANG-547. |
- |
 |
LocaleUtils - Initialization of available locales in LocaleUtils can be deferred. Fixes LANG-511. |
- |
 |
NumberUtils - createNumber() throws a StringIndexOutOfBoundsException when only an "l" is passed in. Fixes LANG-457. |
- |
 |
NumberUtils - isNumber(String) and createNumber(String) both modified to support '2.'. Fixes LANG-521. |
- |
 |
StringUtils - improve handling of case-insensitive Strings. Fixes LANG-432. |
- |
 |
StringUtils - replaceEach() no longer NPEs when null appears in the last String[]. Fixes LANG-552. |
- |
 |
StringUtils - correct Javadoc for startsWith() and startsWithIgnoreCase(). Fixes LANG-460. |
- |
 |
StringEscapeUtils - escapeJava() escapes '/' characters. Fixes LANG-421. |
- |
 |
StringEscapeUtils - change escapeJavaStyleString() to throw UnhandledException instead swallowing IOException and returning null. Fixes LANG-450. |
- |
 |
WordUtils - fix StringIndexOutOfBoundsException when lower is greater than the String length. Fixes LANG-419. |
- |
 |
StrBuilder - Performance improvement by doubling the size of the String in ensureCapacity. Fixes LANG-523. |
- |
 |
Compare, Equals and HashCode builders - use ArrayUtils to avoid creating a temporary List. Fixes LANG-575. |
- |
 |
EqualsBuilder - removing the special handling of BigDecimal (LANG-393) to use compareTo instead of equals because it creates an inequality with HashCodeBuilder. Fixes LANG-467. |
- |
 |
HashCodeBuilder - Performance improvement: check for isArray to short-circuit the 9 instanceof checks. Fixes LANG-574. |
- |
 |
HashCodeBuilder - Changing the hashCode() method to return toHashCode(). Fixes LANG-520. |
- |
 |
HashCodeBuilder - reflectionHashCode() can generate incorrect hashcodes. Fixes LANG-459. |
- |
 |
HashCodeBuilder and ToStringStyle - use of ThreadLocal causes memory leaks in container environments. Fixes LANG-586. |
- |
 |
ToStringBuilder - make default style thread-safe. Fixes LANG-487. |
- |
 |
RandomUtils - nextLong() always produces even numbers. Fixes LANG-472. |
- |
 |
RandomUtils - RandomUtils tests are failing frequently. Fixes LANG-592. |
- |
Release 2.4 – 2008-03-18
| Type |
Changes |
By |
 |
ClassUtils.getShortClassName(String) inefficient. Fixes LANG-322. |
- |
 |
Shouldn't Commons Lang's StringUtils have a "common" string method?. Fixes LANG-269. |
- |
 |
FastDateFormat getDateInstance() and getDateTimeInstance() assume Locale.getDefault() won't change. Fixes LANG-368. |
- |
 |
OSGi-ify Lang. Fixes LANG-402. |
- |
 |
StrBuilder appendFixedWidth does not handle nulls. Fixes LANG-412. |
- |
 |
infinite loop in Fraction.reduce when numerator == 0. Fixes LANG-380. |
- |
 |
FastDateFormat thread safety. Fixes LANG-367. |
- |
 |
ClassUtils.getShortClassName and ClassUtils.getPackageName and class of array. Fixes LANG-298. |
- |
 |
LocaleUtils.toLocale() rejects strings with only language+variant. Fixes LANG-328. |
- |
 |
Enum is not thread-safe. Fixes LANG-334. |
- |
 |
BooleanUtils.toBoolean() - invalid drop-thru in case statement causes StringIndexOutOfBoundsException. Fixes LANG-365. |
- |
 |
ArrayUtils.toClass. Fixes LANG-333. |
- |
 |
Why does appendIdentityToString return null?. Fixes LANG-360. |
- |
 |
NumberUtils.min(floatArray) returns wrong value if floatArray[0] happens to be Float.NaN. Fixes LANG-381. |
- |
 |
Dates.round() behaves incorrectly for minutes and seconds. Fixes LANG-346. |
- |
 |
StringUtils.length(String) returns null-safe length. Fixes LANG-407. |
- |
 |
adding a StringUtils.replace method that takes an array or List of replacement strings. Fixes LANG-180. |
- |
 |
Adding functionality to DateUtils to allow direct setting of various fields. Fixes LANG-383. |
- |
 |
Add escaping for CSV columns to StringEscapeUtils. Fixes LANG-374. |
- |
 |
StringUtils: startsWith / endsWith / startsWithIgnoreCase / endsWithIgnoreCase / removeStartIgnoreCase / removeEndIgnoreCase methods. Fixes LANG-326. |
- |
 |
Extension to ClassUtils: Obtain the primitive class from a wrapper. Fixes LANG-351. |
- |
 |
Javadoc bugs - cannot find object. Fixes LANG-399. |
- |
 |
Optimize HashCodeBuilder.append(Object). Fixes LANG-345. |
- |
 |
https://commons.apache.org/proper/commons-lang/developerguide.html "Building" section is incorrect and incomplete. Fixes LANG-385. |
- |
 |
Ambiguous / confusing names in StringUtils replace* methods. Fixes LANG-410. |
- |
 |
Add new splitByWholeSeparatorPreserveAllTokens() methods to StringUtils. Fixes LANG-257. |
- |
 |
Add getStartTime to StopWatch. Fixes LANG-356. |
- |
 |
Perhaps add containsAny() methods?. Fixes LANG-377. |
- |
 |
Javadoc Example for EqualsBuilder is questionable. Fixes LANG-353. |
- |
 |
EqualsBuilder don't compare BigDecimals correctly. Fixes LANG-393. |
- |
 |
Split camel case strings. Fixes LANG-192. |
- |
 |
Add Calendar flavour format methods to DateFormatUtils. Fixes LANG-404. |
- |
 |
Calculating A date fragment in any time-unit. Fixes LANG-379. |
- |
 |
Memory usage improvement for StringUtils#getLevenshteinDistance(). Fixes LANG-413. |
- |
 |
Add ExtendedMessageFormat to org.apache.commons.lang.text. Fixes LANG-362. |
- |
 |
StringEscapeUtils.escapeJavaScript() method did not escape '/' into '\/', it will make IE render page incorrectly. Fixes LANG-363. |
- |
 |
Add toArray() method to IntRange and LongRange classes. Fixes LANG-321. |
- |
 |
add SystemUtils.IS_OS_WINDOWS_VISTA field. Fixes LANG-375. |
- |
 |
Pointless synchronized in ThreadLocal.initialValue should be removed. Fixes LANG-329. |
- |
 |
ToStringStyle Javadoc should show examples of styles. Fixes LANG-371. |
- |
 |
Documentation bug for ignoreEmptyTokens accessors in StrTokenizer. Fixes LANG-364. |
- |
 |
BooleanUtils toBooleanObject Javadoc does not match implementation. Fixes LANG-361. |
- |
 |
truncateNicely method which avoids truncating in the middle of a word. Fixes LANG-338. |
- |
Release 2.3 – 2007-02-13
| Type |
Changes |
By |
 |
Use of enum prevents a classloader from being garbage collected resulting in out of memory exceptions. Fixes LANG-262. |
- |
 |
NumberUtils.max(byte[]) and NumberUtils.min(byte[]) are missing. Fixes LANG-289. |
- |
 |
Null-safe comparison methods for finding the most recent / least recent dates. Fixes LANG-291. |
- |
 |
StopWatch: suspend() acts as split(), if followed by stop(). Fixes LANG-315. |
- |
 |
StrBuilder.replaceAll and StrBuilder.deleteAll can throw ArrayIndexOutOfBoundsException. Fixes LANG-294. |
- |
 |
Bug in method appendFixedWidthPadRight of class StrBuilder causes an ArrayIndexOutOfBoundsException. Fixes LANG-299. |
- |
 |
ToStringBuilder throws StackOverflowError when an Object cycle exists. Fixes LANG-69. |
- |
 |
Create more tests to test out the +=31 replacement code in DurationFormatUtils. Fixes LANG-282. |
- |
 |
StrBuilder contains usages of thisBuf.length when they should use size. Fixes LANG-295. |
- |
 |
Enum Javadoc: 1) outline 5.0 native Enum migration 2) warn not to use the switch() , 3) point out approaches for persistence and gui. Fixes LANG-258. |
- |
 |
Wrong behavior of Entities.unescape. Fixes LANG-313. |
- |
 |
NumberUtils.createNumber throws NumberFormatException for one digit long. Fixes LANG-300. |
- |
 |
NullPointerException in isAvailableLocale(Locale). Fixes LANG-304. |
- |
 |
FastDateFormat.mRules is not transient or serializable. Fixes LANG-303. |
- |
 |
StringUtils.join should allow you to pass a range for it (so it only joins a part of the array). Fixes LANG-268. |
- |
 |
Refactor Entities methods. Fixes LANG-102. |
- |
 |
Tests fail to pass when building with Maven 2. Fixes LANG-314. |
- |
 |
DurationFormatUtils returns wrong result. Fixes LANG-281. |
- |
 |
unescapeXml("&12345678;") should be "&12345678;". Fixes LANG-292. |
- |
 |
Optimize StringEscapeUtils.unescapeXml(String). Fixes LANG-287. |
- |
 |
BooleanUtils isNotTrue/isNotFalse. Fixes LANG-310. |
- |
 |
Extra StrBuilder methods. Fixes LANG-306. |
- |
 |
Add a pair of StringUtils.substringsBetween;String[] methods. Fixes LANG-275. |
- |
 |
HashCodeBuilder throws java.lang.StackOverflowError when an object contains a cycle. Fixes LANG-279. |
- |
 |
Wish for StringUtils.join(Collection, *). Fixes LANG-266. |
- |
Release 2.2 – 2006-10-04
| Type |
Changes |
By |
 |
StrBuilderTest#testReplaceStringString fails. Fixes LANG-45. |
- |
 |
EqualsBuilder.append(Object[], Object[]) crashes with a NullPointerException if an element of the first array is null. Fixes LANG-42. |
- |
 |
Serialization - not backwards compatible. Fixes LANG-286. |
- |
 |
Replace Clover with Cobertura. Fixes LANG-50. |
- |
 |
ValuedEnum.compareTo(Object other) not typesafe - it easily could be.. Fixes LANG-259. |
- |
 |
LocaleUtils test fails under Mustang. Fixes LANG-271. |
- |
 |
Javadoc example for StringUtils.splitByWholeSeparator incorrect. Fixes LANG-2. |
- |
 |
PADDING array in StringUtils overflows on '\uffff'. Fixes LANG-3. |
- |
 |
ClassUtils.primitiveToWrapper and Void. Fixes LANG-10. |
- |
 |
unit test for org.apache.commons.lang.text.StrBuilder. Fixes LANG-37. |
- |
 |
DateUtils.truncate method is buggy when dealing with DST switching hours. Fixes LANG-59. |
- |
 |
RandomStringUtils.random() family of methods create invalid Unicode sequences. Fixes LANG-100. |
- |
 |
StringUtils#getLevenshteinDistance() performance is sub-optimal. Fixes LANG-106. |
- |
 |
Wrong length check in StrTokenizer.StringMatcher. Fixes LANG-112. |
- |
 |
ExceptionUtils goes into infinite loop in getThrowables is throwable.getCause() == throwable. Fixes LANG-105. |
- |
 |
FastDateFormat: wrong format for date "01.01.1000". Fixes LANG-117. |
- |
 |
Unclear Javadoc for DateUtils.iterator(). Fixes LANG-123. |
- |
 |
Memory "leak" in StringUtils. Fixes LANG-130. |
- |
 |
StringEscapeUtils should expose escape*() methods taking Writer argument. Fixes LANG-260. |
- |
 |
Fraction.toProperString() returns -1/1 for -1. Fixes LANG-141. |
- |
 |
DurationFormatUtils.formatDurationWords "11 <unit>s" gets converted to "11 <unit>". Fixes LANG-152. |
- |
 |
Performance modifications on StringUtils.replace. Fixes LANG-148. |
- |
 |
StringEscapeUtils.unescapeHtml skips first entity after standalone ampersand. Fixes LANG-150. |
- |
 |
DurationFormatUtils.formatPeriod() returns the wrong result. Fixes LANG-140. |
- |
 |
Request for MutableBoolean implementation. Fixes LANG-186. |
- |
 |
New method for EqualsBuilder. Fixes LANG-198. |
- |
 |
New ExceptionUtils method setCause(). Fixes LANG-212. |
- |
 |
Add Mutable<Type> to<Type>() methods. Fixes LANG-217. |
- |
 |
Provides a Class.getPublicMethod which returns public invocable Method. Fixes LANG-216. |
- |
 |
Using ReflectionToStringBuilder and excluding secure fields. Fixes LANG-226. |
- |
 |
add generic add method to DateUtils. Fixes LANG-194. |
- |
 |
Tokenizer Enhancements: reset input string, static CSV/TSV factories. Fixes LANG-220. |
- |
 |
Trivial cleanup of Javadoc in various files. Fixes LANG-242. |
- |
 |
CompositeFormat. Fixes LANG-246. |
- |
 |
Performance boost for RandomStringUtils. Fixes LANG-250. |
- |
 |
Enhanced Class.forName version. Fixes LANG-254. |
- |
 |
Add StringUtils.containsIgnoreCase(...). Fixes LANG-263. |
- |
 |
Support char array converters on ArrayUtils. Fixes LANG-267. |
- |
 |
DurationFormatUtils.formatDurationISO() Javadoc is missing T in duration string between date and time part. Fixes LANG-25. |
- |
 |
Minor build and checkstyle changes. Fixes LANG-272. |
- |
 |
Javadoc errors on StringUtils.splitPreserveAllTokens(String, char). Fixes LANG-277. |
- |
 |
EscapeUtil.escapeHtml() should clarify that it does not escape ' chars to '. Fixes LANG-122. |
- |
 |
Add methods and tests to StrBuilder. Fixes LANG-161. |
- |
 |
replace() length calculation improvement. Fixes LANG-162. |
- |
 |
New interpolation features. Fixes LANG-166. |
- |
 |
Implementation of escape/unescapeHtml methods with Writer. Fixes LANG-169. |
- |
 |
CompareToBuilder excludeFields for reflection method. Fixes LANG-176. |
- |
 |
Add WordUtils.getInitials(String). Fixes LANG-159. |
- |
 |
Error in an example in the Javadoc of the StringUtils.splitPreserveAllTokens() method. Fixes LANG-261. |
- |
 |
ToStringBuilder/HashCodeBuilder Javadoc code examples. Fixes LANG-264. |
- |
 |
Cannot build tests from latest SVN. Fixes LANG-265. |
- |
 |
minor Javadoc improvements for StringUtils.stripXxx() methods. Fixes LANG-270. |
- |
 |
Javadoc for StringUtils.removeEnd is incorrect. Fixes LANG-278. |
- |
 |
Minor tweak to fix of bug # 26616. Fixes LANG-127. |
- |
Release 2.1 – 2005-06-13
| Type |
Changes |
By |
 |
make optional parameters in FastDateFormat really optional. Fixes LANG-103. |
- |
 |
Nestable.indexOfThrowable(Class) uses Class.equals() to match. Fixes LANG-149. |
- |
 |
buffer under/overrun on Strings.strip, stripStart & stripEnd. Fixes LANG-30. |
- |
 |
ToStringStyle.setArrayEnd(String) doesn't replace null with empty string. Fixes LANG-19. |
- |
 |
New class proposal: CharacterEncoding. Fixes LANG-80. |
- |
 |
SystemUtils fails init on HP-UX. Fixes LANG-43. |
- |
 |
Javadoc - 'four basic XML entities' should be 5 (apos is missing). Fixes LANG-134. |
- |
 |
o.a.c.lang.enum.ValuedEnum: 'enum' is a keyword in JDK 1.5.0. Fixes LANG-156. |
- |
 |
StringEscapeUtils.unescapeHtml() doesn't handle an empty entity. Fixes LANG-131. |
- |
 |
EqualsBuilder.append(Object[], Object[]) incorrectly checks that rhs[i] is instance of lhs[i]'s class. Fixes LANG-6. |
- |
 |
Method enums.Enum.equals(Object o) doesn't work correctly. Fixes LANG-33. |
- |
 |
ExceptionUtils.addCauseMethodName(String) does not check for duplicates. Fixes LANG-31. |
- |
 |
Make StopWatch validate state transitions. Fixes LANG-136. |
- |
 |
enum package is not compatible with 1.5 jdk. Fixes LANG-124. |
- |
 |
WordUtils capitalizeFully() throws a null pointer exception. Fixes LANG-128. |
- |
 |
ValuedEnum. Fixes LANG-138. |
- |
 |
parseDate class from HttpClient's DateParser class. Fixes LANG-133. |
- |
 |
ArrayUtils.isEquals() throws ClassCastException when array1 and array2 are different dimension. Fixes LANG-62. |
- |
 |
ClassCastException in Enum.equals(Object). Fixes LANG-57. |
- |
 |
FastDateFormat year bug. Fixes LANG-107. |
- |
 |
unbalanced ReflectionToStringBuilder. Fixes LANG-77. |
- |
 |
FastDateFormat.getDateInstance(int, Locale) always uses the pattern from the first invocation. Fixes LANG-86. |
- |
 |
ReflectionToStringBuilder.toString(null) throws exception by design. Fixes LANG-79. |
- |
 |
Make ClassUtils methods null-safe and not throw an IAE. Fixes LANG-126. |
- |
 |
StringUtils.split ignores empty items. Fixes LANG-5. |
- |
 |
EqualsBuilder.append(Object[], Object[]) throws NPE. Fixes LANG-144. |
- |
 |
ArrayUtils.addAll doesn't always return new array. Fixes LANG-74. |
- |
 |
Enum.equals does not handle different class loaders. Fixes LANG-81. |
- |
 |
Add SystemUtils.AWT_TOOLKIT and others. Fixes LANG-27. |
- |
 |
Throwable cause for NotImplementedException. Fixes LANG-14. |
- |
 |
ClassUtils.primitivesToWrappers method. Fixes LANG-28. |
- |
 |
public static boolean DateUtils.equals(Date dt1, Date dt2) ?. Fixes LANG-120. |
- |
 |
Documentation error in StringUtils.replace. Fixes LANG-7. |
- |
 |
DateUtils constants should be long. Fixes LANG-125. |
- |
 |
DateUtils.truncate() is off by one hour when using a date in DST switch 'zone'. Fixes LANG-13. |
- |
 |
StringEscapeUtils.unescapeHtml() doesn't handle hex entities. Fixes LANG-118. |
- |
 |
new StringUtils.replaceChars behaves differently from old CharSetUtils.translate. Fixes LANG-99. |
- |
 |
last substring returned by StringUtils.split( String, String, int ) is too long. Fixes LANG-41. |
- |
 |
Can't subclass EqualsBuilder because isEquals is private. Fixes LANG-119. |
- |
 |
new StringUtils.split methods that split on the whole separator string. Fixes LANG-158. |
- |
 |
New method for converting a primitive Class to its corresponding wrapper Class. Fixes LANG-172. |
- |
 |
Add convenience format(long) methods to FastDateFormat. Fixes LANG-222. |
- |
 |
Enum's outer class may not be loaded for EnumUtils. Fixes LANG-116. |
- |
 |
WordUtils.capitalizeFully(String str) should take a delimiter. Fixes LANG-219. |
- |
 |
Make Javadoc cross-linking configurable. Fixes LANG-183. |
- |
 |
Minor Javadoc fixes for StringUtils.contains(String, String). Fixes LANG-82. |
- |
 |
Error in Javadoc for StringUtils.chomp(String, String). Fixes LANG-32. |
- |
 |
StringUtils.defaultString: Documentation error. Fixes LANG-95. |
- |
 |
Add hashCode-support to class ObjectUtils. Fixes LANG-233. |
- |
 |
add another "known method" to ExceptionUtils. Fixes LANG-202. |
- |
 |
Enhancement of ExceptionUtils.CAUSE_METHOD_NAMES. Fixes LANG-235. |
- |
 |
DateUtils.truncate oddity at the far end of the Date spectrum. Fixes LANG-24. |
- |
 |
add getLength() method to ArrayUtils. Fixes LANG-232. |
- |
 |
Validate.java: fixes comment skew, removes unused loop counter. Fixes LANG-171. |
- |
 |
StringUtils.isAsciiPrintable(). Fixes LANG-179. |
- |
 |
ExceptionUtils: new getCause() methodname (for tomcat-exception). Fixes LANG-167. |
- |
 |
fixes 75 typos. Fixes LANG-85. |
- |
 |
mutable numbers. Fixes LANG-230. |
- |
 |
Javadoc fixes for ClassUtils. Fixes LANG-191. |
- |
 |
Add StringUtils.nIndexOf?. Fixes LANG-184. |
- |
 |
Javadoc fixes for CharSetUtils. Fixes LANG-135. |
- |
 |
Remove redundant check for null separator in StringUtils#join. Fixes LANG-154. |
- |
 |
Class and Package Comparators for ClassUtils. Fixes LANG-247. |
- |
 |
add remove methods to ArrayUtils. Fixes LANG-256. |
- |
 |
WordUtils capitalize improvement. Fixes LANG-185. |
- |
 |
add isEmpty method to ArrayUtils. Fixes LANG-173. |
- |
 |
lang.math.Fraction class deficiencies. Fixes LANG-168. |
- |
 |
Add methods to ArrayUtils: add at end and insert-like ops. Fixes LANG-207. |
- |
 |
Add SystemUtils methods for directory properties. Fixes LANG-239. |
- |
 |
Add method that validates Collection elements are a certain type. Fixes LANG-189. |
- |
 |
elapsed time formatting utility method. Fixes LANG-224. |
- |
Release 2.0 – 2003-09-02
| Type |
Changes |
By |
 |
Infinite loop in ToStringBuilder.reflectionToString for inner classes. Fixes LANG-20. |
- |
 |
NumberUtils.createBigDecimal("") NPE in Sun 1.3.1_08. Fixes LANG-75. |
- |
 |
Rationalize StringUtils slice functions. Fixes LANG-38. |
- |
 |
SystemUtils.IS_OS_OS2 Javadoc is wrong. Fixes LANG-53. |
- |
 |
A small, but important Javadoc fix for Fraction proper whole and numerator. Fixes LANG-142. |
- |
 |
Adding tolerance to double[] search methods in ArrayUtils. Fixes LANG-70. |
- |
 |
lang.builder classes Javadoc edits (mostly typo fixes). Fixes LANG-9. |
- |
 |
StringUtils Javadoc and test enhancements. Fixes LANG-63. |
- |
 |
SystemUtils.IS_OS_*, IS_JAVA_* are always false. Fixes LANG-132. |
- |
 |
Improve util.Validate tests. Fixes LANG-143. |
- |
 |
maven-beta10 checkstyle problem. Fixes LANG-155. |
- |
 |
StringUtils.chopNewLine - StringIndexOutOfBoundsException. Fixes LANG-147. |
- |
 |
ToStringBuilder doesn't work well in subclasses. Fixes LANG-73. |
- |
 |
static option for reversing the stacktrace. Fixes LANG-48. |
- |
 |
NullPointerException in CompareToBuilder. Fixes LANG-87. |
- |
 |
RandomStringUtils.randomAlpha methods omit 'z'. Fixes LANG-84. |
- |
 |
test.time fails in Japanese (non-us) locale. Fixes LANG-129. |
- |
 |
NumberUtils.isNumber allows illegal trailing characters. Fixes LANG-94. |
- |
 |
Improve Javadoc and overflow behavior of Fraction. Fixes LANG-137. |
- |
 |
RandomStringUtils infinite loop with length > 1. Fixes LANG-55. |
- |
 |
test.lang fails if compiled with non iso-8859-1 locales. Fixes LANG-47. |
- |
 |
SystemUtils does not play nice in an Applet. Fixes LANG-113. |
- |
 |
time unit tests fail on Sundays. Fixes LANG-111. |
- |
 |
java.lang.ExceptionInInitializerError thrown by JVMRandom constructor. Fixes LANG-90. |
- |
 |
StringUtils.chomp does not match Perl. Fixes LANG-78. |
- |
 |
patch and test case fixing problem with RandomStringUtils.random(). Fixes LANG-36. |
- |
 |
General case: infinite loop: ToStringBuilder.reflectionToString. Fixes LANG-151. |
- |
 |
Should ToStringBuilder.reflectionToString handle arrays?. Fixes LANG-35. |
- |
 |
EnumUtils nit: The import java.io.Serializable is never used. Fixes LANG-83. |
- |
 |
Example in Javadoc for ToStringBuilder wrong for append. Fixes LANG-12. |
- |
 |
Added class hierarchy support to HashCodeBuilder.reflectionHashCode(). Fixes LANG-110. |
- |
 |
ExceptionUtils new methods. Fixes LANG-71. |
- |
 |
Infinite loop in StringUtils.replace(text, repl, with) + FIX. Fixes LANG-15. |
- |
 |
StackOverflow due to ToStringBuilder. Fixes LANG-93. |
- |
 |
No Javadoc for NestableDelegate. Fixes LANG-39. |
- |
 |
Specify initial size for Enum's HashMap. Fixes LANG-49. |
- |
 |
Enum does not support inner sub-classes. Fixes LANG-146. |
- |
 |
Removed compile warning in ObjectUtils. Fixes LANG-157. |
- |
 |
SystemUtils.IS_JAVA_1_5 Javadoc is wrong. Fixes LANG-96. |
- |
 |
NumberRange inaccurate for Long, etc. Fixes LANG-16. |
- |
 |
Hierarchy support in ToStringBuilder.reflectionToString(). Fixes LANG-4. |
- |
 |
StringUtils.countMatches loops forever if substring empty. Fixes LANG-56. |
- |
 |
Javadoc fixes (remove @links to non-public identifiers). Fixes LANG-209. |
- |
 |
Add Javadoc examples and tests for StringUtils. Fixes LANG-210. |
- |
 |
Make NumberUtils null handling consistent. Fixes LANG-170. |
- |
 |
Unused field 'startFinal' in DateIterator. Fixes LANG-145. |
- |
 |
reduce object creation in ToStringBuilder. Fixes LANG-214. |
- |
 |
Improved tests, Javadoc for CharSetUtils, StringEscapeUtils. Fixes LANG-228. |
- |
 |
NumberUtils min/max, BooleanUtils.xor, and ArrayUtils toPrimitive and toObject. Fixes LANG-252. |
- |
 |
Javadoc, tests improvements for CharSet, CharSetUtils. Fixes LANG-208. |
- |
 |
StringUtil enhancement. Fixes LANG-205. |
- |
 |
Javadoc nit. Fixes LANG-164. |
- |
 |
Additional Lang Method Suggestions. Fixes LANG-206. |
- |
 |
Make NestableDelegate methods public instead of package private. Fixes LANG-178. |
- |
 |
Missing @since tags. Fixes LANG-174. |
- |
 |
Refactored reflection feature of ToStringBuilder into new ReflectionToStringBuilder. Fixes LANG-245. |
- |
 |
Typo in documentation. Fixes LANG-51. |
- |
 |
Patch for Javadoc. Fixes LANG-1. |
- |
 |
Add join(..., char c) to StringUtils (and some performance fixes). Even contains tests!. Fixes LANG-244. |
- |
 |
Resurrect the WordWrapUtils from commons-sandbox/utils. Fixes LANG-231. |
- |
 |
EnumTest fails on Linux Sun JDK 1.3.0. Fixes LANG-139. |
- |
 |
What to do with FastDateFormat unused private constructors. Fixes LANG-234. |
- |
 |
Added class hierarchy support to CompareToBuilder.reflectionCompare(). Fixes LANG-240. |
- |
 |
Removed compile warning in FastDateFormat. Fixes LANG-190. |
- |
 |
typo in the Javadoc example code. Fixes LANG-97. |
- |
 |
MethodUtils: Removed unused code/unused local vars. Fixes LANG-249. |
- |
 |
Hierarchy support in EqualsBuilder.reflectionEquals(). Fixes LANG-237. |
- |
 |
Javadoc Errata. Fixes LANG-91. |
- |
 |
ArrayUtils.contains(). Fixes LANG-215. |
- |
 |
More flexibility for getRootCause in ExceptionUtils. Fixes LANG-221. |
- |
Release 1.0.1 – 2002-11-25
| Type |
Changes |
By |
 |
NumberRange.getMaximum returns minimum. |
- |
 |
Enum constructor validations. |
- |
 |
NestableException/Delegate is not serializable. |
- |
 |
split using null and max less than actual token count adds "null". |
- |
 |
ExceptionUtils cannot handle J2EE-Exception in a default way. |
- |
Release 1.0 – 2002-10-04
No changes in this release.
|