| Apache Commons Text |
| Version 1.7 |
| Release Notes |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.7 version of Apache Commons Text. |
| Commons Text is a set of utility functions and reusable components for the purpose of processing |
| and manipulating text that should be of use in a Java environment. |
| |
| Apache Commons Text is a library focused on algorithms working on strings. |
| |
| Changes in this version include: |
| |
| New features: |
| |
| o TEXT-148: Add an enum to the lookup package that lists all StringLookups |
| o TEXT-127: Add a toggle to throw an exception when a variable is unknown in StringSubstitutor Thanks to Jean-Baptiste REICH, Sebb, Don Jeba, Gary Gregory. |
| o TEXT-138: TextStringBuilder append sub-sequence not consistent with Appendable. Thanks to Neal Johnson, Don Jeba. |
| o TEXT-152: Fix possible infinite loop in WordUtils.wrap for a regex pattern that would trigger on a match of 0 length Thanks to @CAPS50. |
| o TEXT-155: Add a generic IntersectionSimilarity measure |
| |
| Fixed Bugs: |
| |
| o TEXT-111: WordUtils.wrap must calculate offset increment from wrapOn pattern length Thanks to @CAPS50. |
| o TEXT-151: Fix the JaroWinklerSimilarity to use StringUtils.equals to test for CharSequence equality |
| o TEXT-165: ResourceBundleStringLookup.lookup(String) throws MissingResourceException instead of returning null. |
| |
| Changes: |
| |
| o TEXT-104: Jaro Winkler Distance refers to similarity Thanks to Sascha Szott. |
| o TEXT-153: Make prefixSet in LookupTranslator a BitSet Thanks to amirhadadi. |
| o TEXT-156: Fix the RegexTokenizer to use a static Pattern |
| o TEXT-157: Remove rounding from JaccardDistance and JaccardSimilarity |
| o TEXT-162: Update Apache Commons Lang from 3.8.1 to 3.9. |
| o Update tests from org.assertj:assertj-core 3.12.1 to 3.12.2. |
| o Update site from com.puppycrawl.tools:checkstyle 8.18 to 8.21. |
| |
| Historical list of changes: http://commons.apache.org/proper/commons-text/changes-report.html |
| |
| For complete information on Apache Commons Text, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Apache Commons Text website: |
| |
| http://commons.apache.org/proper/commons-text |
| |
| Download it from http://commons.apache.org/proper/commons-text/download_text.cgi |
| |
| |
| ============================================================================= |
| |
| Apache Commons Text |
| Version 1.6 |
| Release Notes |
| |
| INTRODUCTION |
| ============ |
| |
| This document contains the release notes for the 1.6 version of Apache Commons |
| Text. Commons Text is a set of utility functions and reusable components for |
| the purpose of processing and manipulating text that should be of use in a Java |
| environment. |
| |
| This component requires Java 8. |
| |
| CHANGES |
| ======= |
| |
| o TEXT-144: Add the resource string bundle string lookup to the default set of lookups |
| o TEXT-145: Add StringLookupFactory methods for the URL encoder and decoder string lookups |
| o TEXT-146: org.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup() should reuse a singleton instance |
| o TEXT-147: Add a Base64 encoder string lookup. |
| |
| Historical list of changes: http://commons.apache.org/proper/commons-text/changes-report.html |
| |
| For complete information on Apache Commons Text, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Apache Commons Text website: |
| |
| http://commons.apache.org/proper/commons-text |
| |
| ============================================================================= |
| |
| Apache Commons Text |
| Version 1.5 |
| Release Notes |
| |
| INTRODUCTION |
| ============ |
| |
| This document contains the release notes for the 1.5 version of Apache Commons |
| Text. Commons Text is a set of utility functions and reusable components for |
| the purpose of processing and manipulating text that should be of use in a Java |
| environment. |
| |
| This component requires Java 8. |
| |
| NEW FEATURES |
| ============ |
| |
| o TEXT-133: Add a XML file XPath string lookup. |
| o TEXT-134: Add a Properties file string lookup. |
| o TEXT-135: Add a script string lookup. |
| o TEXT-136: Add a file string lookup. |
| o TEXT-137: Add a URL string lookup. |
| o TEXT-140: Add a Base64 string lookup. |
| o TEXT-141: Add org.apache.commons.text.lookup.StringLookupFactory.resourceBundleStringLookup(String). |
| o TEXT-142: Add URL encoder and decoder string lookups. |
| o TEXT-143: Add constant string lookup like the one in Apache Commons Configuration. |
| |
| FIXED BUGS |
| ========== |
| |
| o TEXT-139: Improve JaccardSimilarity computational cost Thanks to Nick Wong. |
| o TEXT-118: JSON escaping incorrect for the delete control character Thanks to Nandor Kollar. |
| o TEXT-130: Fixes JaroWinklerDistance: Wrong results due to precision of transpositions Thanks to Jan Martin Keil. |
| o TEXT-131: JaroWinklerDistance: Calculation deviates from definition Thanks to Jan Martin Keil. |
| |
| CHANGES |
| ======= |
| |
| o TEXT-132: Update Apache Commons Lang from 3.7 to 3.8.1 |
| |
| ============================================================================= |
| |
| Apache Commons Text |
| Version 1.4 |
| Release Notes |
| |
| INTRODUCTION |
| ============ |
| |
| This document contains the release notes for the 1.4 version of Apache Commons |
| Text. Commons Text is a set of utility functions and reusable components for |
| the purpose of processing and manipulating text that should be of use in a Java |
| environment. |
| |
| This component requires Java 8. |
| |
| |
| Changes in this version include: |
| |
| Fixed Bugs: |
| o TEXT-120: StringEscapeUtils#unescapeJson does not unescape double quotes and forward slash. |
| o TEXT-119: Remove mention of SQL escaping from user guide. |
| o TEXT-123: WordUtils.wrap throws StringIndexOutOfBoundsException when wrapLength is Integer.MAX_VALUE. Thanks to Takanobu Asanuma. |
| |
| Changes: |
| o TEXT-121: Update Java requirement from version 7 to 8. Thanks to pschumacher. |
| o TEXT-122: Allow full customization with new API org.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup(Map<String, StringLookup>, StringLookup, boolean). |
| |
| ============================================================================= |
| |
| Apache Commons Text |
| Version 1.3 |
| Release Notes |
| |
| INTRODUCTION |
| ============ |
| |
| This document contains the release notes for the 1.3 version of Apache Commons |
| Text. Commons Text is a set of utility functions and reusable components for |
| the purpose of processing and manipulating text that should be of use in a Java |
| environment. |
| |
| This component requires Java 7. |
| |
| NEW FEATURES |
| ============= |
| |
| o Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility Issue: TEXT-110. |
| o Add an interpolator string lookup: StringLookupFactory#interpolatorStringLookup() Issue: TEXT-113. |
| o Add a StrSubstitutor replacement based on interfaces: StringSubstitutor Issue: TEXT-114. |
| o Add a StrBuilder replacement based on the StringMatcher interface: TextStringBuilder Issue: TEXT-115. |
| o Add a StrTokenizer replacement based on the StringMatcher interface: StringTokenizer Issue: TEXT-116. |
| o Add a local host string lookup: LocalHostStringLookup Issue: TEXT-117. |
| |
| FIXED BUGS |
| ========== |
| |
| o Build failure with java 9-ea+159 Issue: TEXT-70. |
| o StrLookup API confusing Issue: TEXT-80. |
| |
| ============================================================================= |
| |
| Apache Commons Text |
| Version 1.2 |
| Release Notes |
| |
| INTRODUCTION |
| ============ |
| |
| This document contains the release notes for the 1.2 version of Apache Commons |
| Text. Commons Text is a set of utility functions and reusable components for |
| the purpose of processing and manipulating text that should be of use in a Java |
| environment. |
| |
| This component requires Java 7. |
| |
| JAVA 9 SUPPORT |
| ============== |
| |
| At our time of release of 1.1, our build succeeds with Java 9-ea build 159, |
| and we believe all of our features to be Java 9 compatible. However, when we |
| run "mvn clean site" we have failures. |
| |
| NEW FEATURES |
| ============= |
| |
| o TEXT-74: StrSubstitutor: Ability to turn off substitution in values. Thanks to Ioannis Sermetziadis. |
| o TEXT-97: RandomStringGenerator able to pass multiple ranges to .withinRange(). Thanks to Amey Jadiye. |
| o TEXT-89: WordUtils.initials support for UTF-16 surrogate pairs. Thanks to Arun Vinud S S. |
| o TEXT-90: Add CharacterPredicates for ASCII letters (uppercase/lowercase) and arabic numerals. |
| o TEXT-85: Added CaseUtils class with camel case conversion support. Thanks to Arun Vinud S S. |
| o TEXT-91: RandomStringGenerator should be able to generate a String with a random length. |
| o TEXT-102: Add StrLookup.resourceBundleLookup(ResourceBundle). |
| |
| FIXED BUGS |
| ========== |
| |
| o TEXT-106: Exception thrown in ExtendedMessageFormat using quotes with custom registry. Thanks to Benoit Moreau. |
| o TEXT-100: StringEscapeUtils#UnEscapeJson doesn't recognize escape signs correctly. Thanks to Don Jeba. |
| o TEXT-105: Typo in LongestCommonSubsequence#logestCommonSubsequence. Thanks to Abrasha. |
| |
| CHANGES |
| ======= |
| |
| o TEXT-107: Upversion commons-lang to 3.7. |
| o TEXT-98: Deprecate isDelimiter and use HashSets for delimiter checks. Thanks to Arun Vinud S S. |
| o TEXT-88: WordUtils should treat an empty delimiter array as no delimiters. Thanks to Amey Jadiye. |
| o TEXT-93: Update RandomStringGenerator to accept a list of valid characters. Thanks to Amey Jadiye. |
| o TEXT-92: Update commons-lang dependency to version 3.6. |
| o TEXT-83: Document that commons-csv should be used in preference to CsvTranslators. Thanks to Amey Jadiye. |
| o TEXT-67: NumericEntityUnescaper.options - fix TODO. |
| o TEXT-84: RandomStringGenerator claims to be immutable, but isn't. |
| |
| ============================================================================= |
| |
| Release Notes for version 1.1 |
| |
| JAVA 9 SUPPORT |
| ============== |
| |
| At our time of release of 1.1, our build succeeds with Java 9-ea build 159, |
| and we believe all of our features to be Java 9 compatible. However, when we |
| run "mvn clean site" we have failures. |
| |
| NEW FEATURES |
| ============ |
| |
| o TEXT-41: WordUtils.abbreviate support Thanks to Amey Jadiye. |
| o TEXT-82: Putting WordUtils back in to the codebase Thanks to Amey Jadiye. |
| o TEXT-81: Add RandomStringGenerator Thanks to djones. |
| o TEXT-36: RandomStringGenerator: allow users to provide source of randomness |
| Thanks to Raymond DeCampo. |
| |
| FIXED BUGS |
| ========== |
| |
| o TEXT-76: Correct round issue in Jaro Winkler implementation |
| o TEXT-72: Similar to LANG-1025, clirr fails site build. |
| |
| CHANGES |
| ======= |
| |
| o TEXT-39: WordUtils should use toXxxxCase(int) rather than toXxxxCase(char) |
| Thanks to Amey Jadiye. |
| |
| ============================================================================= |
| |
| Release Notes for version 1.0 |
| |
| 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 |
| |
| JAVA 9 SUPPORT |
| ============== |
| |
| At our time of release of 1.0, our build succeeds with Java 9-ea build 158, |
| and we believe all of our features to be Java 9 compatible. However, when we run |
| "mvn clean site" we have failures. |
| |
| FIXED BUGS |
| ========== |
| |
| o TEXT-64: Investigate locale issue in ExtendedMessageFormatTest. Thanks to |
| chtompki. |
| o TEXT-69: Resolve PMD/CMD Violations |
| o TEXT-65: Fixing the 200 checkstyle errors present in 1.0-beta-1. |
| o TEXT-63: Mutable fields should be private. |
| |
| REMOVED |
| ======= |
| |
| o TEXT-40: Escape HTML characters only once: revert. |
| |
| ============================================================================= |
| |
| Release Notes for version 1.0-beta-1 |
| |
| |
| A NOTE ON THE HISTORY OF THE CODE |
| ================================= |
| |
| The codebase began in the fall of 2014 as a location for housing algorithms for |
| operating on Strings that seemed to have a more complex nature than those which |
| would be considered a needed extension to java.lang. Thus, a new component, |
| different from Apache Commons Lang was warranted. As the project evolved, it was |
| noticed that Commons Lang had considerable more text manipulation tools than |
| the average Java application developer would need or even want. So, we have |
| decided to move the more esoteric String processing algorithms out of Commons |
| Lang into Commons Text. |
| |
| JAVA 9 SUPPORT |
| ============== |
| |
| At our time of release of 1.0-beta-1, our build succeeds with Java 9-ea build 153, |
| and we believe all of our features to be Java 9 compatible. |
| |
| NEW FEATURES |
| ============ |
| |
| o TEXT-56: Move CvsTranslators out of StringEscapeUtils and make them DRY |
| Thanks to Jarek Strzeleck. |
| o TEXT-40: Escape HTML characters only once Thanks to Sampanna Kahu. |
| o TEXT-32: Add LCS similarity and distance |
| o TEXT-34: Add class to generate random strings |
| o TEXT-29: Add a builder to StringEscapeUtils |
| o TEXT-28: Add shell/XSI escape/unescape support |
| o TEXT-2: Add Jaccard Index and Jaccard Distance Thanks to Don Jeba. |
| o TEXT-27: Move org.apache.commons.lang3.StringEscapeUtils.java into text |
| o TEXT-23: Moving from commons-lang, the package org.apache.commons.lang3.text |
| o TEXT-10: A more complex Levenshtein distance Thanks to Don Jeba. |
| o TEXT-24: Add coveralls and Travis.ci integration |
| o TEXT-19: Add alphabet converter Thanks to Eyal Allweil. |
| o TEXT-13: Create Commons Text logo |
| o TEXT-7: Write user guide |
| o TEXT-15: Human name parser |
| o TEXT-3: Add Cosine Similarity and Cosine Distance |
| o TEXT-4: Port Myers algorithm from [collections] |
| o TEXT-1: Add Hamming distance |
| o TEXT-9: Incorporate String algorithms from Commons Lang Thanks to britter. |
| |
| FIXED BUGS |
| ========== |
| |
| Note. We recognize the curiosity of a new component having "fixed bugs," but a |
| considerable number of files were migrated over from Commons Lang, some of which |
| needed fixes. |
| |
| o TEXT-62: Incorporate suggestions from RC2 into 1.0 release. |
| o TEXT-60: Upgrading Jacoco for Java 9-ea compatibility. Thanks to Lee Adcock. |
| o TEXT-52: Possible attacks through StringEscapeUtils.escapeEcmaScrip better |
| javadoc |
| o TEXT-37: Global vs local source of randomness |
| o TEXT-38: Fluent API in "RandomStringBuilder" |
| o TEXT-26: Fix JaroWinklerDistance in the manner of LUCENE-1297 |
| o TEXT-35: Unfinished class Javadoc for CosineDistance |
| o TEXT-22: LevenshteinDistance reduce memory consumption |
| o TEXT-5: IP clearance for the names package |
| o TEXT-11: Work on the string metric, distance, and similarity definitions for |
| the project |
| o TEXT-12: 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. Thanks to Jonathan baker. |
| o TEXT-8: Change (R) StringMetric.compare(CS left, CS right) to "apply" so |
| that it is consistent with BiFunction. Thanks to Jonathan Baker. |
| o TEXT-6: Allow extra information (e.g. Levenshtein threshold) to be stored |
| as (final) fields in the StringMetric instance. Thanks to Jonathan |
| Baker. |
| |
| CHANGES |
| ======= |
| |
| o TEXT-61: Naming packages org.apache.commons.text.beta Thanks to Lee Adcock. |
| o TEXT-58: Refactor EntityArrays to have unmodifiableMaps in leu of String[][] |
| o TEXT-53: Prepare site for 1.0 release |
| o TEXT-50: Upgrade from commons-parent version 41 to version 42 |
| o TEXT-33: Consolidating since tags at 1.0, removing deprecated methods |
| o TEXT-16: Improve HumanNameParser |
| |
| REMOVED |
| ======= |
| |
| o TEXT-55: Remove WordUtils to be added back in an upcoming 1.X release |
| o TEXT-51: Remove RandomStringGenerator to be added back in the 1.1 release |
| o TEXT-31: Remove org.apache.commons.text.names, for later release than 1.0 |
| |
| |
| Historical list of changes: http://commons.apache.org/text/changes-report.html |
| |
| For complete information on Apache Commons Text, including instructions on how |
| to submit bug reports, patches, or suggestions for improvement, see the Apache |
| Apache Commons Text website: |
| |
| http://commons.apache.org/text/ |
| |
| Have fun! |
| -Apache Commons Text team |