Apache Commons Lang Release Notes Release History Version | Date | Description | 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.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 IntStrams.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 |  | 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. |