Apache Commons logo Commons Text

Apache Commons Text Changes

Release History

Version Date Description
1.9.1 202Y-MM-DD Release 1.9.1. Requires Java 8.
1.9 2020-07-21 Release 1.9. Requires Java 8.
1.8 2019-08-30 Release 1.8. Requires Java 8.
1.7 2019-06-30 Release 1.7. Requires Java 8.
1.6 2018-10-12 Release 1.6. Requires Java 8.
1.5 2018-09-29 Release 1.5. Requires Java 8.
1.4 2018-06-12 Release 1.4. Requires Java 8.
1.3 2018-03-16 Release 1.3. Requires Java 7.
1.2 2017-12-12 Release 1.2. Requires Java 7.
1.1 2017-05-23 Release 1.1. Requires Java 7.
1.0 2017-03-04 Requires Java 7. Incompatible changes ==================== All package names changed from org.apache.commons.text.beta in 1.0-beta-1 to org.apache.commons.text in 1.0. Methods StringEscapeUtils#escapeHtml3Once and StringEscapeUtils#escapeHtml4Once have been removed; see TEXT-40
1.0-beta-1 2017-01-30 First release (beta) of Commons Text. Requires Java 7.

Release 1.9.1 – 202Y-MM-DD

Type Changes By
Add Release Notes page hasn't been updated for 1.9 release yet. Fixes TEXT-185. Thanks to Larry West, Gary Gregory. ggregory
Add Update spotbugs.plugin.version 4.0.0 to 4.0.4. Thanks to Gary Gregory. ggregory

Release 1.9 – 2020-07-21

Type Changes By
Fix Removed non-existing parameter from Javadocs and spelled out parameters in throws. Fixes TEXT-166. Thanks to Mikko Maunu. kinow
Fix StringEscapeUtils.unescapeCsv doesn't remove quotes at begin and end of string. Fixes TEXT-149. Thanks to Yuji Konishi. kinow
Fix ScriptStringLookup does not accept ":" #126. Fixes TEXT-174. Thanks to furkilic. ggregory
Fix StringSubstitutor incorrectly removes some escape characters. Fixes TEXT-178. Thanks to Gary Gregory. ggregory
Fix Fix Javadocs #135. Fixes TEXT-181. Thanks to XenoAmess. ggregory
Fix Fix typos #137. Fixes TEXT-182. Thanks to XenoAmess. ggregory
Fix Make ConstantStringLookup.constantCache final #136. Fixes TEXT-183. Thanks to XenoAmess. ggregory
Fix Simplify if in CaseUtils #134. Fixes TEXT-184. Thanks to XenoAmess. ggregory
Update [javadoc] Fix compiler warnings in Java code example in Javadoc #124. Thanks to Johan Hammar. ggregory
Update Update from Apache Commons Lang 3.9 to 3.11. Fixes TEXT-177. Thanks to Gary Gregory. ggregory
Add Add StringMatcher.size(). Thanks to Gary Gregory. ggregory
Add Refactor TextStringBuilder.readFrom(Readable), extracting readFrom(CharBuffer) and readFrom(Reader). Thanks to Gary Gregory. ggregory
Add Add BiStringLookup and implementation BiFunctionStringLookup. Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.StringSubstitutor.StringSubstitutor(StringSubstitutor). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.TextStringBuilder.TextStringBuilder(CharSequence). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.TextStringBuilder.drainChar(int). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.TextStringBuilder.drainChars(int, int, char[]. int). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.TextStringBuilder.isNotEmpty(). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.TextStringBuilder.isReallocated(). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.TextStringBuilder.readFrom(Reader, int). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.TextStringBuilder.set(String). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.TextStringBuilder.wrap(char[]). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.TextStringBuilder.wrap(char[], int). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.io.StringSubstitutorReader. Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.lookup.StringLookupFactory.functionStringLookup(Function<String, V>). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, int). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, int, int, int). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.matcher.StringMatcherFactory.andMatcher(StringMatcher...). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.text.matcher.StringMatcherFactory.stringMatcher(char...). Thanks to Gary Gregory. ggregory
Update [build] Skip clirr since we use JApiCmp. Thanks to Gary Gregory. ggregory
Update [test] junit-jupiter 5.5.1 -> 5.5.2. Thanks to Gary Gregory. ggregory
Update [test] org.assertj:assertj-core 3.13.2 -> 3.16.1. Thanks to Gary Gregory. ggregory
Update [build] com.puppycrawl.tools:checkstyle 8.23 -> 8.34. Thanks to Gary Gregory. ggregory
Update [build] Update JUnit from 5.5.2 to 5.6.2. Thanks to Gary Gregory. ggregory
Update [build] commons.jacoco.version 0.8.4 -> 0.8.5. Thanks to Gary Gregory. ggregory
Update [build] commons.javadoc.version 3.1.1 -> 3.2.0. Thanks to Gary Gregory. ggregory
Update [build] commons.japicmp.version 0.14.1 -> 0.14.3. Thanks to Gary Gregory. ggregory
Update [build] checkstyle.plugin.version 3.1.0 -> 3.1.1. Thanks to Gary Gregory. ggregory
Update [build] checkstyle.version 8.27 -> 8.33. Thanks to Gary Gregory. ggregory
Update [build] org.apache.commons:commons-parent 48 -> 51. Thanks to Gary Gregory. ggregory
Update [build] maven-pmd-plugin 3.12.0 -> 3.13.0. Thanks to Gary Gregory. ggregory
Update [build] org.mockito 3.3.3 -> 3.4.4. Thanks to Gary Gregory. ggregory

Release 1.8 – 2019-08-30

Type Changes By
Fix commons-text web page missing "RELEASE-NOTES-1.7.txt". Fixes TEXT-167. Thanks to Larry West. ggregory
Fix (doc) Fixed wrong value for Jaro-Winkler example #117. Fixes TEXT-168. Thanks to luksan47. ggregory
Add Add helper factory method org.apache.commons.text.StringSubstitutor.createInterpolator(). Fixes TEXT-169. Thanks to Gary Gregory. ggregory
Add Add String lookup for host names and IP addresses (DnsStringLookup). Fixes TEXT-170. Thanks to Gary Gregory. ggregory
Fix StringLookupFactory.addDefaultStringLookups(Map) does not convert keys to lower case. Fixes TEXT-171. Thanks to Gary Gregory. ggregory
Update Expand Javadoc for StringSubstitutor and friends. Thanks to Gary Gregory. ggregory
Update [site] checkstyle.version 8.21 -> 8.23. Thanks to Gary Gregory. ggregory

Release 1.7 – 2019-06-30

Type Changes By
Fix WordUtils.wrap must calculate offset increment from wrapOn pattern length. Fixes TEXT-111. Thanks to @CAPS50. kinow
Update Jaro Winkler Distance refers to similarity. Fixes TEXT-104. Thanks to Sascha Szott. kinow
Add Add an enum to the lookup package that lists all StringLookups. Fixes TEXT-148. ggregory
Add Add a toggle to throw an exception when a variable is unknown in StringSubstitutor. Fixes TEXT-127. Thanks to Jean-Baptiste REICH, Sebb, Don Jeba, Gary Gregory. ggregory
Add TextStringBuilder append sub-sequence not consistent with Appendable. Fixes TEXT-138. Thanks to Neal Johnson, Don Jeba. ggregory
Add Fix possible infinite loop in WordUtils.wrap for a regex pattern that would trigger on a match of 0 length. Fixes TEXT-152. Thanks to @CAPS50.
Update Make prefixSet in LookupTranslator a BitSet. Fixes TEXT-153. Thanks to amirhadadi.
Update Fix the RegexTokenizer to use a static Pattern. Fixes TEXT-156. aherbert
Update Remove rounding from JaccardDistance and JaccardSimilarity. Fixes TEXT-157. aherbert
Fix Fix the JaroWinklerSimilarity to use StringUtils.equals to test for CharSequence equality. Fixes TEXT-151. aherbert
Add Add a generic IntersectionSimilarity measure. Fixes TEXT-155. aherbert
Update Update Apache Commons Lang from 3.8.1 to 3.9. Fixes TEXT-162. ggregory
Fix ResourceBundleStringLookup.lookup(String) throws MissingResourceException instead of returning null. Fixes TEXT-165. ggregory
Update Update tests from org.assertj:assertj-core 3.12.1 to 3.12.2. ggregory
Update Update site from com.puppycrawl.tools:checkstyle 8.18 to 8.21. ggregory

Release 1.6 – 2018-10-12

Type Changes By
Update Add the resource string bundle string lookup to the default set of lookups. Fixes TEXT-144. ggregory
Update Add StringLookupFactory methods for the URL encoder and decoder string lookups. Fixes TEXT-145. ggregory
Update org.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup() should reuse a singleton instance. Fixes TEXT-146. ggregory
Update Add a Base64 encoder string lookup. Fixes TEXT-147. ggregory

Release 1.5 – 2018-09-29

Type Changes By
Fix Improve JaccardSimilarity computational cost. Fixes TEXT-139. Thanks to Nick Wong. chtompki
Fix JSON escaping incorrect for the delete control character. Fixes TEXT-118. Thanks to Nandor Kollar. chtompki
Fix Fixes JaroWinklerDistance: Wrong results due to precision of transpositions. Fixes TEXT-130. Thanks to Jan Martin Keil. chtompki
Fix JaroWinklerDistance: Calculation deviates from definition. Fixes TEXT-131. Thanks to Jan Martin Keil. chtompki
Update Update Apache Commons Lang from 3.7 to 3.8.1. Fixes TEXT-132. ggregory
Add Add a XML file XPath string lookup. Fixes TEXT-133. ggregory
Add Add a Properties file string lookup. Fixes TEXT-134. ggregory
Add Add a script string lookup. Fixes TEXT-135. ggregory
Add Add a file string lookup. Fixes TEXT-136. ggregory
Add Add a URL string lookup. Fixes TEXT-137. ggregory
Add Add a Base64 string lookup. Fixes TEXT-140. ggregory
Add Add org.apache.commons.text.lookup.StringLookupFactory.resourceBundleStringLookup(String). Fixes TEXT-141. ggregory
Add Add URL encoder and decoder string lookups. Fixes TEXT-142. ggregory
Add Add constant string lookup like the one in Apache Commons Configuration. Fixes TEXT-143. ggregory

Release 1.4 – 2018-06-12

Type Changes By
Fix StringEscapeUtils#unescapeJson does not unescape double quotes and forward slash. Fixes TEXT-120. pschumacher
Fix Remove mention of SQL escaping from user guide. Fixes TEXT-119. pschumacher
Update Update Java requirement from version 7 to 8. Fixes TEXT-121. Thanks to pschumacher. ggregory
Update Allow full customization with new API org.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup(Map<String, StringLookup>, StringLookup, boolean). Fixes TEXT-122. ggregory
Fix WordUtils.wrap throws StringIndexOutOfBoundsException when wrapLength is Integer.MAX_VALUE. Fixes TEXT-123. Thanks to Takanobu Asanuma. ggregory

Release 1.3 – 2018-03-16

Type Changes By
Add Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility. Fixes TEXT-110. pschumacher
Fix Build failure with java 9-ea+159. Fixes TEXT-70. pschumacher
Add Add an interpolator string lookup: StringLookupFactory#interpolatorStringLookup(). Fixes TEXT-113. ggregory
Add Add a StrSubstitutor replacement based on interfaces: StringSubstitutor. Fixes TEXT-114. ggregory
Add Add a StrBuilder replacement based on the StringMatcher interface: TextStringBuilder. Fixes TEXT-115. ggregory
Add Add a StrTokenizer replacement based on the StringMatcher interface: StringTokenizer. Fixes TEXT-116. ggregory
Add Add a local host string lookup: LocalHostStringLookup. Fixes TEXT-117. ggregory
Fix StrLookup API confusing. Fixes TEXT-80. ggregory

Release 1.2 – 2017-12-12

Type Changes By
Update Upversion commons-lang to 3.7. Fixes TEXT-107. chtompki
Fix Exception thrown in ExtendedMessageFormat using quotes with custom registry. Fixes TEXT-106. Thanks to Benoit Moreau. kinow
Fix StringEscapeUtils#UnEscapeJson doesn't recognize escape signs correctly. Fixes TEXT-100. Thanks to Don Jeba. kinow
Add StrSubstitutor: Ability to turn off substitution in values. Fixes TEXT-74. Thanks to Ioannis Sermetziadis. chtompki
Add RandomStringGenerator able to pass multiple ranges to .withinRange(). Fixes TEXT-97. Thanks to Amey Jadiye. chtompki
Update Deprecate isDelimiter and use HashSets for delimiter checks. Fixes TEXT-98. Thanks to Arun Vinud S S. chtompki
Add WordUtils.initials support for UTF-16 surrogate pairs. Fixes TEXT-89. Thanks to Arun Vinud S S. chtompki
Update WordUtils should treat an empty delimiter array as no delimiters. Fixes TEXT-88. Thanks to Amey Jadiye. chtompki
Update Update RandomStringGenerator to accept a list of valid characters. Fixes TEXT-93. Thanks to Amey Jadiye. chtompki
Add Add CharacterPredicates for ASCII letters (uppercase/lowercase) and arabic numerals. Fixes TEXT-90. pschumacher
Add Added CaseUtils class with camel case conversion support. Fixes TEXT-85. Thanks to Arun Vinud S S. chtompki
Add RandomStringGenerator should be able to generate a String with a random length. Fixes TEXT-91. pschumacher
Update Update commons-lang dependency to version 3.6. Fixes TEXT-92. pschumacher
Update Document that commons-csv should be used in preference to CsvTranslators. Fixes TEXT-83. Thanks to Amey Jadiye. chtompki
Update NumericEntityUnescaper.options - fix TODO. Fixes TEXT-67. kinow
Update RandomStringGenerator claims to be immutable, but isn't. Fixes TEXT-84. djones
Add Add StrLookup.resourceBundleLookup(ResourceBundle). Fixes TEXT-102. ggregory
Fix Typo in LongestCommonSubsequence#logestCommonSubsequence. Fixes TEXT-105. Thanks to Abrasha. pschumacher

Release 1.1 – 2017-05-23

Type Changes By
Update WordUtils should use toXxxxCase(int) rather than toXxxxCase(char). Fixes TEXT-39. Thanks to Amey Jadiye. chtompki
Add WordUtils.abbreviate support. Fixes TEXT-41. Thanks to Amey Jadiye. chtompki
Add Putting WordUtils back in to the codebase. Fixes TEXT-82. Thanks to Amey Jadiye. chtompki
Add Add RandomStringGenerator. Fixes TEXT-81. Thanks to djones. pschumacher
Add RandomStringGenerator: allow users to provide source of randomness. Fixes TEXT-36. Thanks to Raymond DeCampo. pschumacher
Fix Correct round issue in Jaro Winkler implementation. Fixes TEXT-76. kinow
Fix Similar to LANG-1025, clirr fails site build. Fixes TEXT-72. chtompki

Release 1.0 – 2017-03-04

Type Changes By
Fix Investigate locale issue in ExtendedMessageFormatTest. Fixes TEXT-64. Thanks to chtompki. kinow
Fix Resolve PMD/CMD Violations. Fixes TEXT-69. chtompki
Remove Escape HTML characters only once: revert. Fixes TEXT-40. sebb
Fix Fixing the 200 checkstyle errors present in 1.0-beta-1. Fixes TEXT-65. chtompki
Fix Mutable fields should be private. Fixes TEXT-63. sebb

Release 1.0-beta-1 – 2017-01-30

Type Changes By
Fix Incorporate suggestions from RC2 into 1.0 release. Fixes TEXT-62. chtompki
Update Naming packages org.apache.commons.text.beta. Fixes TEXT-61. Thanks to Lee Adcock. chtompki
Fix Upgrading Jacoco for Java 9-ea compatibility. Fixes TEXT-60. Thanks to Lee Adcock. chtompki
Update Refactor EntityArrays to have unmodifiableMaps in leu of String[][]. Fixes TEXT-58. chtompki
Update Prepare site for 1.0 release. Fixes TEXT-53. chtompki
Add Move CvsTranslators out of StringEscapeUtils and make them DRY. Fixes TEXT-56. Thanks to Jarek Strzeleck. chtompki
Remove Remove WordUtils to be added back in an upcoming 1.X release. Fixes TEXT-55. chtompki
Fix Possible attacks through StringEscapeUtils.escapeEcmaScrip better javadoc. Fixes TEXT-52. chtompki
Remove Remove RandomStringGenerator to be added back in the 1.1 release. Fixes TEXT-51. chtompki
Update Upgrade from commons-parent version 41 to version 42. Fixes TEXT-50. chtompki
Add Escape HTML characters only once. Fixes TEXT-40. Thanks to Sampanna Kahu. chtompki
Fix Global vs local source of randomness. Fixes TEXT-37. djones
Fix Fluent API in "RandomStringBuilder". Fixes TEXT-38. djones
Fix Fix JaroWinklerDistance in the manner of LUCENE-1297. Fixes TEXT-26. chtompki
Add Add LCS similarity and distance. Fixes TEXT-32. chtompki
Add Add class to generate random strings. Fixes TEXT-34. djones
Fix Unfinished class Javadoc for CosineDistance. Fixes TEXT-35. kinow
Update Consolidating since tags at 1.0, removing deprecated methods. Fixes TEXT-33. chtompki
Add Add a builder to StringEscapeUtils. Fixes TEXT-29. chtompki
Add Add shell/XSI escape/unescape support. Fixes TEXT-28. chtompki
Fix LevenshteinDistance reduce memory consumption. Fixes TEXT-22. chtompki
Remove Remove org.apache.commons.text.names, for later release than 1.0. Fixes TEXT-31. chtompki
Add Add Jaccard Index and Jaccard Distance. Fixes TEXT-2. Thanks to Don Jeba. chtompki
Add Move org.apache.commons.lang3.StringEscapeUtils.java into text. Fixes TEXT-27. chtompki
Add Moving from commons-lang, the package org.apache.commons.lang3.text. Fixes TEXT-23. chtompki
Add A more complex Levenshtein distance. Fixes TEXT-10. Thanks to Don Jeba. kinow
Add Add coveralls and Travis.ci integration. Fixes TEXT-24. chtompki
Add Add alphabet converter. Fixes TEXT-19. Thanks to Eyal Allweil. kinow
Add Create Commons Text logo. Fixes TEXT-13. kinow
Update Improve HumanNameParser. Fixes TEXT-16. britter
Fix IP clearance for the names package. Fixes TEXT-5. kinow
Add Write user guide. Fixes TEXT-7. kinow
Fix Work on the string metric, distance, and similarity definitions for the project. Fixes TEXT-11. kinow
Add Human name parser. Fixes TEXT-15. kinow
Fix Create StringDistanceFrom class that contains a StringMetric and the "left" side string. This would have a method that accepts the "right" side string to test. Fixes TEXT-12. Thanks to Jonathan baker. kinow
Add Add Cosine Similarity and Cosine Distance. Fixes TEXT-3. kinow
Fix Change (R) StringMetric.compare(CS left, CS right) to "apply" so that it is consistent with BiFunction. Fixes TEXT-8. Thanks to Jonathan Baker. kinow
Fix Allow extra information (e.g. Levenshtein threshold) to be stored as (final) fields in the StringMetric instance. Fixes TEXT-6. Thanks to Jonathan Baker. kinow
Add Port Myers algorithm from [collections]. Fixes TEXT-4. kinow
Add Add Hamming distance. Fixes TEXT-1. kinow
Add Incorporate String algorithms from Commons Lang. Fixes TEXT-9. Thanks to britter. kinow