This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-text.git

commit 5504c26dacf6a51701c949e47ab1c981cb4018b3
Author: Gary Gregory <[email protected]>
AuthorDate: Fri Jan 2 17:39:04 2026 -0500

    Format XML
---
 src/changes/changes.xml | 831 ++++++++++++++++++++++++------------------------
 1 file changed, 415 insertions(+), 416 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index fe4bfb9e..b45a1061 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -37,10 +37,8 @@ and commit
 
 The <action> type attribute can be add,update,fix,remove.
 -->
-
-<document xmlns="http://maven.apache.org/changes/2.0.0";
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-          xsi:schemaLocation="http://maven.apache.org/changes/2.0.0 
https://maven.apache.org/xsd/changes-2.0.0.xsd";>
+<document xmlns="http://maven.apache.org/changes/2.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  xsi:schemaLocation="http://maven.apache.org/changes/2.0.0 
https://maven.apache.org/xsd/changes-2.0.0.xsd";>
   <properties>
     <title>Apache Commons Text Changes</title>
   </properties>
@@ -53,369 +51,370 @@ The <action> type attribute can be add,update,fix,remove.
       <action type="fix" dev="ggregory" due-to="Gary Gregory">Bump the level 
of test coverage checks.</action>
       <action type="fix" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump 
commons.bytebuddy.version from 1.18.2 to 1.18.3 #734.</action>
     </release>
-  <release version="1.15.0" date="2025-12-04" description="Release 1.15.0. 
This is a feature and maintenance release. Java 8 or later is required.">
-    <!-- FIX -->
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix exception 
message typo in XmlStringLookup.XmlStringLookup(Map, Path...).</action>
-    <action type="fix" dev="ggregory" due-to="Pierre Post, Sumit Bera, Alex 
Herbert, Gary Gregory" issue="TEXT-236">Inserting at the end of a 
TextStringBuilder throws a StringIndexOutOfBoundsException.</action>
-    <action type="fix" dev="ggregory" due-to="Michael Hausegger">Fix 
TextStringBuilderTest.testAppendToCharBuffer() to use proper argument type 
#724.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix Apache RAT 
plugin console warnings.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix site XML to 
use version 2.0.0 XML schema.</action>
-    <action type="fix" dev="ggregory" due-to="Michael Hausegger">Removed 
unreachable threshold verification code in 
src/main/java/org/apache/commons/text/similarity #730.</action>
-    <action type="fix" dev="ggregory" due-to="김민재 (minjas0507Z), Gary Gregory, 
Piotr Karwasz">Enable secure processing for the XML parser in XmlStringLookup 
in case the underlying JAXP implementation doesn't #729.</action>
-    <!-- ADD -->
-    <action type="add" dev="ggregory" due-to="Piotr P. Karwasz, Gary 
Gregory">Add experimental CycloneDX VEX file #683.</action>
-    <action type="add" dev="ggregory" due-to="LorgeN, Gary Gregory" 
issue="TEXT-235">Add Damerau-Levenshtein distance #687.</action>
-    <action type="add" dev="ggregory" due-to="Michael Hausegger, Gary 
Gregory">Add unit tests to increase coverage #719.</action>
-    <action type="add" dev="ggregory" due-to="Michael Hausegger, Gary 
Gregory">Add new test for CharSequenceTranslator#with() #725.</action>
-    <action type="add" dev="ggregory" due-to="Michael Hausegger">Add tests and 
assertions to org.apache.commons.text.similarity to get to 100% code coverage 
#727, #728.</action>
-    <!-- UPDATE -->
-    <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
org.apache.commons:commons-parent from 85 to 93 #704, #723, #726.</action>
-    <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons.bytebuddy.version from 1.17.6 to 1.18.2 #696, #722.</action>
-    <action type="update" dev="ggregory" due-to="Gary Gregory, 
Dependabot">Bump graalvm.version from 24.2.2 to 25.0.1 #703, #716.</action>
-    <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
org.apache.commons:commons-lang3 from 3.18.0 to 3.20.0.</action>
-    <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons-io:commons-io from 2.20.0 to 2.21.0.</action>
-  </release>
-  <release version="1.14.0" date="2025-07-20" description="Release 1.14.0. 
Requires Java 8 or above.">
-    <!-- FIX -->
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in StringLookupFactory.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in DefaultStringLookupsHolder.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in PropertiesStringLookup.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in JavaPlatformStringLookup.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in StringSubstitutor.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in StrSubstitutor.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in AlphabetConverter.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
AvoidBranchingStatementAsLastInLoop in TextStringBuilder.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
AvoidBranchingStatementAsLastInLoop in StrBuilder.</action>
-    <action type="fix" dev="ggregory" due-to="Gary 
Gregory">org.apache.commons.text.translate.LookupTranslator.LookupTranslator(Map
 CharSequence>) now throws NullPointerException instead of 
java.security.InvalidParameterException.</action>
-    <!-- ADD -->
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Interface 
StringLookup now extends UnaryOperator&lt;String&gt;.</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Interface 
TextRandomProvider extends IntUnaryOperator.</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
RandomStringGenerator.Builder.usingRandom(IntUnaryOperator).</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add PMD check to 
default Maven goal.</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.RandomStringGenerator.Builder.setAccumulate(boolean).</action>
-    <!-- UPDATE -->
-    <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump org.apache.commons:commons-parent from 81 to 85 #668.</action>
-    <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons-io:commons-io from 2.18.0 to 2.20.0.</action>
-    <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump graalvm.version from 24.2.0 to 24.2.2 #665, #681.</action>
-    <action type="update" dev="ggregory" due-to="Dependabot">Bump 
commons.bytebuddy.version from 1.17.5 to 1.17.6 (#677).</action>
-    <action type="update" dev="ggregory" due-to="Dependabot">Bump 
org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 #680.</action>
-  </release>
-  <release version="1.13.1" date="2025-04-07" description="Release 1.13.1. 
Requires Java 8 or above.">
-    <!-- FIX -->
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">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).</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate 
EntityArrays.EntityArrays().</action>
-    <action type="fix" dev="ggregory" due-to="Gary 
Gregory">StringLookupFactory.DefaultStringLookupsHolder.createDefaultStringLookups()
 maps DefaultStringLookup.LOCAL_HOST twice instead of once for LOCAL_HOST and 
LOOPBACK_ADDRESS.</action>
-    <!-- ADD -->
-    <!-- UPDATE -->
-    <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
org.apache.commons:commons-parent from 79 to 81.</action>
-    <action type="update" dev="ggregory" due-to="Gary Gregory, 
Dependabot">Bump commons.bytebuddy.version from 1.16.1 to 1.17.5 #643, #659, 
#660.</action>
-    <action type="update" dev="ggregory" due-to="Gary Gregory, 
Dependabot">Bump graalvm.version from 24.1.2 to 24.2.0 #653.</action>
-  </release>
-  <release version="1.13.0" date="2024-12-10" description="Release 1.13.0. 
Requires Java 8 or above.">
-    <!-- ADD -->
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
StringLookupFactory.loopbackAddressStringLookup().</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
StringLookupFactory.KEY_LOOPBACK_ADDRESS.</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
DefaultStringLookup.LOOPBACK_ADDRESS.</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add richer inputs 
in package org.apache.commons.text.similarity with SimilarityInput.</action>    
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
HammingDistance.apply(SimilarityInput, SimilarityInput).</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
JaccardDistance.apply(SimilarityInput, SimilarityInput).</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
JaccardSimilarity.apply(SimilarityInput, SimilarityInput).</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
JaroWinklerDistance.apply(SimilarityInput, SimilarityInput).</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
JaroWinklerSimilarity.apply(SimilarityInput, SimilarityInput).</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
LevenshteinDetailedDistance.apply(SimilarityInput, SimilarityInput).</action>
-    <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
LevenshteinDistance.apply(SimilarityInput, SimilarityInput).</action>
-    <!-- FIX -->
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix build on Java 
22.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix build on Java 
23-ea.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private constructor private: 
StrLookup.MapStrLookup.MapStrLookup(Map).</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private constructor private: 
StrLookup.SystemPropertiesStrLookup.SystemPropertiesStrLookup().</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private and final: MapStrLookup.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private: StrMatcher.CharMatcher.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private: StrMatcher.CharSetMatcher.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private: StrMatcher.NoMatcher.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private: StrMatcher.StringMatcher.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private: StrMatcher.TrimMatcher.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private and final: 
IntersectionSimilarity.BagCount.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private and final: 
IntersectionSimilarity.TinyCount.</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate 
LevenshteinDistance.LevenshteinDistance() in favor of 
LevenshteinDistance.getDefaultInstance().</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate 
LevenshteinDetailedDistance.LevenshteinDetailedDistance() in favor of 
LevenshteinDetailedDistance.getDefaultInstance().</action>
-    <action type="fix" dev="ggregory" due-to="Gary Gregory" 
issue="TEXT-234">Improve StrBuilder documentation for new line text.</action>
-    <action type="fix" dev="ggregory" due-to="TobiasKiecker" 
issue="TEXT-234">Improve TextStringBuilder documentation for new line text 
#547.</action>
-    <action type="fix" dev="ggregory" due-to="belpk" issue="TEXT-233">Required 
OSGi Import-Package version numbers in MANIFEST.MF #627.</action>
-    <!-- UPDATE -->
-    <action type="update" dev="ggregory" due-to="Dependabot">Bump 
org.apache.commons:commons-parent from 69 to 78 #542, #557, #571, #581, #584, 
#593, #600, #603, #614.</action>
-    <action type="udpate" dev="ggregory" due-to="Gary Gregory">Bump tests on 
Java >= 22 org.graalvm.*:* from 24.0.0 to 24.1.1 #592, #610.</action>
-    <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons.bytebuddy.version from 1.14.13 to 1.16.1 #538, #548, #553, #565, #579, 
#582, #585, #596, #597, #604, #612, #620, #623, #625, #640.</action>
-    <action type="update" dev="ggregory" due-to="Gary Gregory">Bump SpotBugs 
from 4.8.3 to 4.8.5.</action>
-    <action type="update" dev="ggregory" due-to="Dependabot">Bump 
org.assertj:assertj-core from 3.25.3 to 3.26.3 #554, #566.</action>
-    <action type="update" dev="ggregory" due-to="Dependabot">Bump 
org.codehaus.mojo:taglist-maven-plugin from 3.0.0 to 3.2.1 #564, #611.</action>
-    <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump org.apache.commons:commons-rng-simple from 1.5 to 1.6 
#568.</action>
-    <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 #569, 
#575, #586.</action>
-    <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump commons-io:commons-io from 2.16.1 to 2.18.0 #594, #628.</action>
-  </release>
-  <release version="1.12.0" date="2024-04-13" description="Release 1.12.0. 
Requires Java 8 or above.">
-    <!-- ADD -->
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add StringLookupFactory.fileStringLookup(Path...) and deprecated 
fileStringLookup().</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add StringLookupFactory.propertiesStringLookup(Path...) and deprecated 
propertiesStringLookup().</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add StringLookupFactory.xmlStringLookup(Map, Path...) and deprecated 
xmlStringLookup() and xmlStringLookup(Map).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add StringLookupFactory.builder() for fencing Path resolution of the 
file, properties and XML lookups.</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add DoubleFormat.Builder.get() as Builder now implements 
Supplier.</action>
-    <!-- FIX -->
-    <action issue="TEXT-232" type="fix" dev="ggregory" due-to="Arnout Engelen, 
Gary Gregory">WordUtils.containsAllWords​() may throw 
PatternSyntaxException.</action>
-    <action issue="TEXT-175" type="fix" dev="ggregory" due-to="David Lavati, 
seanfabs, Gary Gregory, Bruno P. Kinoshita">Fix regression for determining 
whitespace in WordUtils #519.</action>
-    <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Deprecate Builder in favor of Supplier.</action>
-    <!-- UPDATE -->
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump commons-lang3 from 3.13.0 to 3.14.0.</action>
-    <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump commons.bytebuddy.version from 1.14.9 to 1.14.13 #476, 
#482, #505, #521.</action>
-    <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump org.codehaus.mojo:exec-maven-plugin from 3.1.0 to 
3.2.0 #474, #508.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump commons-io from 2.15.0 to 2.16.1 #522, #527.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump commons-parent from 64 to 69 #524.</action>
-    <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump org.assertj:assertj-core from 3.24.2 to 
3.25.3.</action>
-  </release>
-  <release version="1.11.0" date="2023-10-24" description="Release 1.11.0. 
Requires Java 8 or above.">
-    <!-- FIX -->
-    <action issue="TEXT-219" type="fix" dev="aherbert" due-to="Jaap 
Sperling">Fix StringTokenizer.getTokenList to return an independent modifiable 
list</action>
-    <action                  type="fix" dev="aherbert" due-to="James Nord">Fix 
Javadoc for StringEscapeUtils.escapeHtml4 #382</action>
-    <action                  type="fix" dev="ggregory" due-to="Pavel Belousov, 
Gary Gregory">TextStringBuidler#hashCode() allocates a String on each call 
#387.</action>
-    <action issue="TEXT-221" type="fix" dev="aherbert" due-to="Remco 
Riswick">Fix Bundle-SymbolicName to use the package name 
org.apache.commons.text</action>
-    <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Add and use a package-private singleton for RegexTokenizer.</action>
-    <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Add and use a package-private singleton for CosineSimilarity.</action>
-    <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Add and use a package-private singleton for 
LongestCommonSubsequence.</action>
-    <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Add and use a package-private singleton for 
JaroWinklerSimilarity.</action>
-    <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Add and use a package-private singleton for JaccardSimilarity.</action>
-    <action                  type="fix" dev="ggregory" 
due-to="step-security-bot, Gary Gregory">[StepSecurity] ci: Harden GitHub 
Actions #428.</action>
-    <action                  type="fix" dev="ggregory" due-to="Dimitrios 
Efthymiou">Improve AlphabetConverter Javadoc #429.</action>
-    <action                  type="fix" dev="ggregory" due-to="Dimitrios 
Efthymiou">Fix exception message in IntersectionResult to make set-theoretic 
sense #438.</action>
-    <action                  type="fix" dev="ggregory" due-to="Dimitrios 
Efthymiou, Gary Gregory">Add null-check in 
RandomStringGenerator#Builder#selectFrom() to avoid NullPointerException 
#434.</action>
-    <action                  type="fix" dev="ggregory" due-to="Dimitrios 
Efthymiou, Gary Gregory">Add null-check in 
RandomStringGenerator#Builder#withinRange() to avoid 
NullPointerException.</action>
-    <action issue="TEXT-228" type="fix" dev="ggregory" due-to="Alex Herbert, 
Gary Gregory">Fix TextStringBuilder to over-allocate when ensuring capacity 
#452.</action>
-    <action                  type="fix" dev="ggregory" due-to="Elliotte Rusty 
Harold, Gary Gregory">Constructor for ResourceBundleStringLookup should be 
private instead of package-private.</action>
-    <action                  type="fix" dev="ggregory" due-to="Elliotte Rusty 
Harold, Gary Gregory">Constructor for UrlDecoderStringLookup should be private 
instead of package-private.</action>
-    <action                  type="fix" dev="ggregory" due-to="Elliotte Rusty 
Harold, Gary Gregory">Constructor for UrlEncoderStringLookup should be private 
instead of package-private.</action>
-    <action issue="TEXT-230" type="fix" dev="ggregory" due-to="Michael Osipov, 
Gary Gregory">Javadoc of org.apache.commons.text.lookup.DefaultStringLookup.XML 
is incorrect.</action>
-    <action                  type="fix" dev="ggregory" due-to="Alex 
Herbert">Update DoubleFormat to state it is based on Double.toString. 
#467.</action>
-    <!-- ADD -->
-    <action issue="TEXT-224" type="add" dev="ggregory" due-to="PJ Fanning, 
Gary Gregory">Set SecureProcessing feature in XmlStringLookup by 
default.</action>
-    <action issue="TEXT-224" type="add" dev="ggregory" due-to="Gary 
Gregory">Add StringLookupFactory.xmlStringLookup(Map&lt;String, 
Boolean&gt;...).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add @FunctionalInterface to FormatFactory.</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add RandomStringGenerator.builder().</action>
-    <action issue="TEXT-229" type="add" dev="ggregory" due-to="Michael Osipov, 
Elliotte Rusty Harold, Gary Gregory">Add 
XmlEncoderStringLookup/XmlDecoderStringLookup #449.</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add StringSubstitutor.toString().</action>
-    <!-- UPDATE -->
-    <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump actions/cache.</action>
-    <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump actions/setup-java.</action>
-    <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump actions/checkout.</action>
-    <action                  type="update" dev="ggregory" due-to="Dependabot, 
Gary Gregory">Bump pmd from 6.49.0 to 6.52.0 #364.</action>
-    <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump commons-rng-simple from 1.4 to 1.5 #370.</action>
-    <action                  type="update" dev="ggregory" due-to="Dependabot, 
Gary Gregory">Bump spotbugs-maven-plugin from 4.7.2.0 to 4.7.3.6 #371, 
#385.</action>
-    <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump spotbugs from 4.7.2 to 4.7.3 #373.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump mockito-inline from 4.8.0 to 4.11.0 #380, #389, #396, 
#400.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump jmh.version from 1.35 to 1.37 #388.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump commons-parent from 54 to 64 #392, #401.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump assertj-core from 3.23.1 to 3.24.2 #405, #410.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump maven-checkstyle-plugin from 3.2.0 to 3.2.1 
#407.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump commons-io from 2.11.0 to 2.15.0.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump commons-lang3 from 3.12.0 to 3.13.0.</action>
-  </release>
-  <release version="1.10.0" date="2022-09-24" description="Release 1.10.0. 
Requires Java 8 or above.">
-    <!-- FIX -->
-    <action issue="TEXT-189" type="fix" dev="kinow" due-to="Gongpu Zhu">Fix 
CaseUtils when the input string contains only delimiters</action>
-    <action issue="TEXT-187" type="fix" dev="kinow">Add GraalVM test 
dependencies to fix test failures with Java 15.</action>
-    <action issue="TEXT-158" type="fix" dev="kinow">Incorrect values for 
Jaccard similarity with empty strings.</action>
-    <action issue="TEXT-186" type="fix" dev="ggregory" due-to="Gautam Korlam, 
Gary Gregory">StringSubstitutor map constructor throws NPE on 1.9 with null 
map.</action>
-    <action issue="TEXT-191" type="fix" dev="kinow" due-to="Bradley David 
Rumball">JaroWinklerDistance returns the same values as 
JaroWinklerSimilarity.</action>
-    <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Correct Javadoc in FileStringLookup.</action>
-    <action                  type="fix" dev="ggregory" due-to="Arturo 
Bernal">Minor Improvements #192, #196.</action>
-    <action issue="TEXT-194" type="fix" dev="kinow" due-to="Arturo Bernal">Use 
StringUtils.INDEX_NOT_FOUND constant.</action>
-    <action issue="TEXT-199" type="fix" dev="kinow" due-to="Arturo 
Bernal">Remove redundant local variable.</action>
-    <action issue="TEXT-198" type="fix" dev="kinow" due-to="Arturo 
Bernal">Replace lambda with method reference.</action>
-    <action issue="TEXT-200" type="fix" dev="kinow" due-to="Arturo 
Bernal">Simplify statements.</action>
-    <action issue="TEXT-197" type="fix" dev="kinow" due-to="Arturo 
Bernal">Replace statement lambda with expression lambda.</action>
-    <action issue="TEXT-204" type="fix" dev="kinow" due-to="Arturo Bernal">Use 
static class inner class in tests.</action>
-    <action issue="TEXT-201" type="fix" dev="kinow" due-to="Arturo 
Bernal">Simplify assertion.</action>
-    <action issue="TEXT-202" type="fix" dev="kinow" due-to="Arturo 
Bernal">Extract duplicate code.</action>
-    <action issue="TEXT-205" type="fix" dev="kinow" due-to="Arturo Bernal">Set 
void return method.</action>
-    <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Remove unused exception from TextStringBuilder.readFrom(CharBuffer). 
This preserves binary compatibility but not source compatibility.</action>
-    <action                  type="fix" dev="ggregory" due-to="CodeQL, Gary 
Gregory">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.</action>
-    <action                  type="fix" dev="ggregory" due-to="CodeQL, Gary 
Gregory">TextStringBuilder.TextStringBuilderReader.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.</action>
-    <action issue="TEXT-211" type="fix" dev="ggregory" 
due-to="sebx59">TextStringBuilder.equals whatever the capacity is #281.</action>
-    <action issue="TEXT=212" type="fix" dev="kinow" due-to="Ali Ghanbari">A 
More Efficient Implementation for Calculating Size of Longest Common 
Subsequence.</action>
-    <action issue="TEXT-209" type="fix" dev="kinow" 
due-to="fourAjeff">LookupTranslator returns count of chars consumed, not of 
codepoints consumed.</action>
-    <action issue="TEXT-209" type="fix" dev="ggregory" due-to="Arturo 
Bernal">Use Math.min() call instead of doing it manually. #335.</action>
-    <action                  type="fix" dev="ggregory" 
due-to="ValentijnvdBeek, Gary Gregory">TextStringBuilder: Throw 
OutOfMemoryError instead of NegativeArraySizeException.</action>
-    <action                  type="fix" dev="ggregory" 
due-to="ValentijnvdBeek, Gary Gregory">TextStringBuilder: Can't grow to sizes 
up to Integer.MAX_VALUE.</action>
-    <action                  type="fix" dev="mattjuntunen">Make default string 
lookups configurable via system property. Remove dns, url, and script lookups 
from defaults. If these lookups are required for use in 
StringSubstitutor.createInterpolator(), they must be enabled via system 
property. See StringLookupFactory for details.</action>
-    <!-- ADD -->
-    <action issue="TEXT-207" type="add" dev="mattjuntunen">Add DoubleFormat 
utility.</action>
-    <action issue="TEXT-190" type="add" dev="kinow" due-to="Benjamin 
Bing">Document negative limit for WordUtils abbreviate method</action>
-    <action issue="TEXT-188" type="add" dev="kinow" due-to="Jakob 
Vesterstrøm">Speed up LevenshteinDistance with threshold by exiting 
early</action>
-    <action issue="TEXT-185" type="add" dev="ggregory" due-to="Larry West, 
Gary Gregory">Release Notes page hasn't been updated for 1.9 release 
yet.</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add StrBuilder.isNotEmpty().</action>
-    <!-- UPDATE -->
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump actions/setup-java from v1.4.0 to 3 #147, #156, #155, 
#172, #215, #314.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump github/codeql-action from 1 to 2 #319.</action>
-    <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump checkstyle from 8.34 to 9.3, #141, #168, #182, #188, 
#193, #201, #208, #211, #228, #235, #245, #253, #255, #262, #270, #280, #287, 
#299, #315, #321.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory, Dependabot">Bump spotbugs-maven-plugin from 4.0.0 to 4.7.2.0, #144, 
#150, #167, #176, #194, #210, #223, #250, #268, #273, #277, #278, #286, #293, 
#303, #320, #325, #338, #344, #354.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory, Dependabot">Bump spotbugs from 4.1.3 to 4.7.2 #175, 189, #209, #218, 
#247, #256, #264, #275, #284, #289, #296, #306, #355.</action>
-    <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump mockito-inline from 3.4.4 to 4.8.0, #143, #148, #149, 
#152, #153, #154, #158, #159, #166, #177, #180, #187, #195, #197, #207, #216, 
#231, #236, #237, #243, #258, #259, #260, #261, #272, #285, #291, #305, #317, 
#330, #331, #347, #352.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump junit-jupiter from 5.6.2 to 5.9.1 #163, #204, #232, 
#265, #269, #288, #343, #357.</action>
-    <action                  type="update" dev="kinow" due-to="Dependabot, 
Gary Gregory">Bump assertj-core from 3.16.1 to 3.23.1 #151, #157, #160, #178, 
#184, #199, #244, #267, #294.</action>
-    <action                  type="update" dev="kinow" due-to="Dependabot, 
Gary Gregory">Bump commons-io from 2.7 to 2.11.0 #161 #251.</action>
-    <action                  type="update" dev="kinow" due-to="Dependabot, 
Gary Gregory">Bump commons-parent from 51 to 54 #145, #358.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump maven-pmd-plugin from 3.13.0 to 3.19.0 #186, #263, 
#302, #334, #349, #353.</action>
-    <action                  type="update" dev="kinow" due-to="Gary 
Gregory">Bump pmd from 6.42.0 to 6.46.0.</action>
-    <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump graalvm.version from 20.2.0 to 22.0.0.2 #185, #198, 
#206, #227, #252, #276, #295, #300.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump commons.japicmp.version from 0.14.3 to 0.16.0.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump commons.jacoco.version 0.8.5 to 0.8.8; fixes Java 15 
build.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump maven-checkstyle-plugin from 3.1.1 to 3.2.0 #202, 
#348.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump commons-lang3 3.11 -> 3.12.0.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump commons.javadoc.version from 3.2.0 to 3.4.1.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump commons.project-info.version from 3.1.0 to 3.1.2.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump jmh.version from 1.32 to 1.35 #254, #292, 
#313.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump commons-rng-simple from 1.3 to 1.4 #266.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump taglist-maven-plugin from 2.4 to 3.0.0 #297.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump commons.pmd-impl.version from 6.44.0 to 6.49.0 #323, 
#336, #345, #350.</action>
-    <action                  type="update" dev="kinow" 
due-to="Dependabot">Bump exec-maven-plugin from 3.0.0 to 3.1.0 #340.</action>
-  </release>
-  <release version="1.9" date="2020-07-21" description="Release 1.9. Requires 
Java 8 or above.">
-    <action issue="TEXT-166" type="fix" dev="kinow" due-to="Mikko 
Maunu">Removed non-existing parameter from Javadocs and spelled out parameters 
in throws.</action>
-    <action issue="TEXT-149" type="fix" dev="kinow" due-to="Yuji 
Konishi">StringEscapeUtils.unescapeCsv doesn't remove quotes at begin and end 
of string.</action>
-    <action issue="TEXT-174" type="fix" dev="ggregory" 
due-to="furkilic">ScriptStringLookup does not accept ":" #126.</action>
-    <action issue="TEXT-178" type="fix" dev="ggregory" due-to="Gary 
Gregory">StringSubstitutor incorrectly removes some escape characters.</action>
-    <action issue="TEXT-181" type="fix" dev="ggregory" due-to="XenoAmess">Fix 
Javadocs #135.</action>
-    <action issue="TEXT-182" type="fix" dev="ggregory" due-to="XenoAmess">Fix 
typos #137.</action>
-    <action issue="TEXT-183" type="fix" dev="ggregory" due-to="XenoAmess">Make 
ConstantStringLookup.constantCache final #136.</action>
-    <action issue="TEXT-184" type="fix" dev="ggregory" 
due-to="XenoAmess">Simplify if in CaseUtils #134.</action>
-    <action                  type="update" dev="ggregory" due-to="Johan 
Hammar">[javadoc] Fix compiler warnings in Java code example in Javadoc 
#124.</action>
-    <action issue="TEXT-177" type="update" dev="ggregory" due-to="Gary 
Gregory">Update from Apache Commons Lang 3.9 to 3.11.</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add StringMatcher.size().</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Refactor TextStringBuilder.readFrom(Readable), extracting 
readFrom(CharBuffer) and readFrom(Reader).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add BiStringLookup and implementation BiFunctionStringLookup.</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add 
org.apache.commons.text.StringSubstitutor.StringSubstitutor(StringSubstitutor).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add 
org.apache.commons.text.TextStringBuilder.TextStringBuilder(CharSequence).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add org.apache.commons.text.TextStringBuilder.drainChar(int).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add org.apache.commons.text.TextStringBuilder.drainChars(int, int, 
char[]. int).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add org.apache.commons.text.TextStringBuilder.isNotEmpty().</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add org.apache.commons.text.TextStringBuilder.isReallocated().</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add org.apache.commons.text.TextStringBuilder.readFrom(Reader, 
int).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add org.apache.commons.text.TextStringBuilder.set(String).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add org.apache.commons.text.TextStringBuilder.wrap(char[]).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add org.apache.commons.text.TextStringBuilder.wrap(char[], 
int).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add org.apache.commons.text.io.StringSubstitutorReader.</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add 
org.apache.commons.text.lookup.StringLookupFactory.functionStringLookup(Function&lt;String,
 V&gt;).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add 
org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, 
int).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add 
org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, int, int, 
int).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add 
org.apache.commons.text.matcher.StringMatcherFactory.andMatcher(StringMatcher...).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add 
org.apache.commons.text.matcher.StringMatcherFactory.stringMatcher(char...).</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] Skip clirr since we use JApiCmp.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[test] junit-jupiter 5.5.1 -> 5.5.2.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[test] org.assertj:assertj-core 3.13.2 -> 3.16.1.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] com.puppycrawl.tools:checkstyle 8.23 -> 8.34.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] Update JUnit from 5.5.2 to 5.6.2.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] commons.jacoco.version 0.8.4 -> 0.8.5.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] commons.javadoc.version 3.1.1 -> 3.2.0.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] commons.japicmp.version 0.14.1 -> 0.14.3.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] checkstyle.plugin.version 3.1.0 -> 3.1.1.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] checkstyle.version 8.27 -> 8.33.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] org.apache.commons:commons-parent 48 -> 51.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] maven-pmd-plugin 3.12.0 -> 3.13.0.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] org.mockito 3.3.3 -> 3.4.4.</action>
-  </release>
-  <release version="1.8" date="2019-08-30" description="Release 1.8. Requires 
Java 8 or above.">
-    <action issue="TEXT-167" type="fix" dev="ggregory" due-to="Larry 
West">commons-text web page missing "RELEASE-NOTES-1.7.txt"</action>
-    <action issue="TEXT-168" type="fix" dev="ggregory" due-to="luksan47">(doc) 
Fixed wrong value for Jaro-Winkler example #117</action>
-    <action issue="TEXT-169" type="add" dev="ggregory" due-to="Gary 
Gregory">Add helper factory method 
org.apache.commons.text.StringSubstitutor.createInterpolator().</action>
-    <action issue="TEXT-170" type="add" dev="ggregory" due-to="Gary 
Gregory">Add String lookup for host names and IP addresses 
(DnsStringLookup).</action>
-    <action issue="TEXT-171" type="fix" dev="ggregory" due-to="Gary 
Gregory">StringLookupFactory.addDefaultStringLookups(Map) does not convert keys 
to lower case.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Expand Javadoc for StringSubstitutor and friends.</action>
-    <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[site] checkstyle.version 8.21 -> 8.23.</action>
-  </release>
-  <release version="1.7" date="2019-06-30" description="Release 1.7. Requires 
Java 8 or above.">
-    <action issue="TEXT-111" type="fix" dev="kinow" 
due-to="@CAPS50">WordUtils.wrap must calculate offset increment from wrapOn 
pattern length</action>
-    <action issue="TEXT-104" type="update" dev="kinow" due-to="Sascha 
Szott">Jaro Winkler Distance refers to similarity</action>
-    <action issue="TEXT-148" type="add" dev="ggregory">Add an enum to the 
lookup package that lists all StringLookups</action>
-    <action issue="TEXT-127" type="add" dev="ggregory" due-to="Jean-Baptiste 
REICH, Sebb, Don Jeba, Gary Gregory">Add a toggle to throw an exception when a 
variable is unknown in StringSubstitutor</action>
-    <action issue="TEXT-138" type="add" dev="ggregory" due-to="Neal Johnson, 
Don Jeba">TextStringBuilder append sub-sequence not consistent with 
Appendable.</action>
-    <action issue="TEXT-152" type="add" dev="" due-to="@CAPS50">Fix possible 
infinite loop in WordUtils.wrap for a regex pattern that would trigger on a 
match of 0 length</action>
-    <action issue="TEXT-153" type="update" dev="" due-to="amirhadadi">Make 
prefixSet in LookupTranslator a BitSet</action>
-    <action issue="TEXT-156" type="update" dev="aherbert">Fix the 
RegexTokenizer to use a static Pattern</action>
-    <action issue="TEXT-157" type="update" dev="aherbert">Remove rounding from 
JaccardDistance and JaccardSimilarity</action>
-    <action issue="TEXT-151" type="fix" dev="aherbert">Fix the 
JaroWinklerSimilarity to use StringUtils.equals to test for CharSequence 
equality</action>
-    <action issue="TEXT-155" type="add" dev="aherbert">Add a generic 
IntersectionSimilarity measure</action>
-    <action issue="TEXT-162" type="update" dev="ggregory">Update Apache 
Commons Lang from 3.8.1 to 3.9.</action>
-    <action issue="TEXT-165" type="fix" 
dev="ggregory">ResourceBundleStringLookup.lookup(String) throws 
MissingResourceException instead of returning null.</action>
-    <action                  type="update" dev="ggregory">Update tests from 
org.assertj:assertj-core 3.12.1 to 3.12.2.</action>
-    <action                  type="update" dev="ggregory">Update site from 
com.puppycrawl.tools:checkstyle 8.18 to 8.21.</action>
-  </release>
-  <release version="1.6" date="2018-10-12" description="Release 1.6. Requires 
Java 8 or above.">
-    <action issue="TEXT-144" type="update" dev="ggregory">Add the resource 
string bundle string lookup to the default set of lookups</action>
-    <action issue="TEXT-145" type="update" dev="ggregory">Add 
StringLookupFactory methods for the URL encoder and decoder string 
lookups</action>
-    <action issue="TEXT-146" type="update" 
dev="ggregory">org.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup()
 should reuse a singleton instance</action>
-    <action issue="TEXT-147" type="update" dev="ggregory">Add a Base64 encoder 
string lookup.</action>
-  </release>
-  <release version="1.5" date="2018-09-29" description="Release 1.5. Requires 
Java 8 or above.">
-    <action issue="TEXT-139" type="fix" dev="chtompki" due-to="Nick 
Wong">Improve JaccardSimilarity computational cost</action>
-    <action issue="TEXT-118" type="fix" dev="chtompki" due-to="Nandor 
Kollar">JSON escaping incorrect for the delete control character</action>
-    <action issue="TEXT-130" type="fix" dev="chtompki" due-to="Jan Martin 
Keil">Fixes JaroWinklerDistance: Wrong results due to precision of 
transpositions</action>
-    <action issue="TEXT-131" type="fix" dev="chtompki" due-to="Jan Martin 
Keil">JaroWinklerDistance: Calculation deviates from definition</action>
-    <action issue="TEXT-132" type="update" dev="ggregory">Update Apache 
Commons Lang from 3.7 to 3.8.1</action>
-    <action issue="TEXT-133" type="add" dev="ggregory">Add a XML file XPath 
string lookup.</action>
-    <action issue="TEXT-134" type="add" dev="ggregory">Add a Properties file 
string lookup.</action>
-    <action issue="TEXT-135" type="add" dev="ggregory">Add a script string 
lookup.</action>
-    <action issue="TEXT-136" type="add" dev="ggregory">Add a file string 
lookup.</action>
-    <action issue="TEXT-137" type="add" dev="ggregory">Add a URL string 
lookup.</action>
-    <action issue="TEXT-140" type="add" dev="ggregory">Add a Base64 string 
lookup.</action>
-    <action issue="TEXT-141" type="add" dev="ggregory">Add 
org.apache.commons.text.lookup.StringLookupFactory.resourceBundleStringLookup(String).</action>
-    <action issue="TEXT-142" type="add" dev="ggregory">Add URL encoder and 
decoder string lookups.</action>
-    <action issue="TEXT-143" type="add" dev="ggregory">Add constant string 
lookup like the one in Apache Commons Configuration.</action>
-  </release>
-  <release version="1.4" date="2018-06-12" description="Release 1.4. Requires 
Java 8 or above.">
-    <action issue="TEXT-120" type="fix" 
dev="pschumacher">StringEscapeUtils#unescapeJson does not unescape double 
quotes and forward slash</action>
-    <action issue="TEXT-119" type="fix" dev="pschumacher">Remove mention of 
SQL escaping from user guide</action>
-    <action issue="TEXT-121" type="update" dev="ggregory" 
due-to="pschumacher">Update Java requirement from version 7 to 8.</action>
-    <action issue="TEXT-122" type="update" dev="ggregory">Allow full 
customization with new API 
org.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup(Map&lt;String,
 StringLookup>, StringLookup, boolean).</action>
-    <action issue="TEXT-123" type="fix" dev="ggregory" due-to="Takanobu 
Asanuma">WordUtils.wrap throws StringIndexOutOfBoundsException when wrapLength 
is Integer.MAX_VALUE.</action>
-  </release>
-  <release version="1.3" date="2018-03-16" description="Release 1.3. Requires 
Java 7.">
-    <action issue="TEXT-110" type="add" dev="pschumacher">Add 
Automatic-Module-Name MANIFEST entry for Java 9 compatibility</action>
-    <action issue="TEXT-70" type="fix" dev="pschumacher">Build failure with 
java 9-ea+159</action>
-    <action issue="TEXT-113" type="add" dev="ggregory">Add an interpolator 
string lookup: StringLookupFactory#interpolatorStringLookup()</action>
-    <action issue="TEXT-114" type="add" dev="ggregory">Add a StrSubstitutor 
replacement based on interfaces: StringSubstitutor</action>
-    <action issue="TEXT-115" type="add" dev="ggregory">Add a StrBuilder 
replacement based on the StringMatcher interface: TextStringBuilder</action>
-    <action issue="TEXT-116" type="add" dev="ggregory">Add a StrTokenizer 
replacement based on the StringMatcher interface: StringTokenizer</action>
-    <action issue="TEXT-117" type="add" dev="ggregory">Add a local host string 
lookup: LocalHostStringLookup</action>
-    <action issue="TEXT-80" type="fix" dev="ggregory">StrLookup API 
confusing</action>
-  </release>
-  <release version="1.2" date="2017-12-12" description="Release 1.2. Requires 
Java 7.">
-    <action issue="TEXT-107" type="update" dev="chtompki">Upversion 
commons-lang to 3.7</action>
-    <action issue="TEXT-106" type="fix" dev="kinow" due-to="Benoit 
Moreau">Exception thrown in ExtendedMessageFormat using quotes with custom 
registry</action>
-    <action issue="TEXT-100" type="fix" dev="kinow" due-to="Don 
Jeba">StringEscapeUtils#UnEscapeJson doesn't recognize escape signs 
correctly</action>
-    <action issue="TEXT-74" type="add" dev="chtompki" due-to="Ioannis 
Sermetziadis">StrSubstitutor: Ability to turn off substitution in 
values</action>
-    <action issue="TEXT-97" type="add" dev="chtompki" due-to="Amey 
Jadiye">RandomStringGenerator able to pass multiple ranges to 
.withinRange()</action>
-    <action issue="TEXT-98" type="update" dev="chtompki" due-to="Arun Vinud S 
S">Deprecate isDelimiter and use HashSets for delimiter checks</action>
-    <action issue="TEXT-89" type="add" dev="chtompki" due-to="Arun Vinud S 
S">WordUtils.initials support for UTF-16 surrogate pairs</action>
-    <action issue="TEXT-88" type="update" dev="chtompki" due-to="Amey 
Jadiye">WordUtils should treat an empty delimiter array as no 
delimiters</action>
-    <action issue="TEXT-93" type="update" dev="chtompki" due-to="Amey 
Jadiye">Update RandomStringGenerator to accept a list of valid 
characters</action>
-    <action issue="TEXT-90" type="add" dev="pschumacher">Add 
CharacterPredicates for ASCII letters (uppercase/lowercase) and arabic 
numerals</action>
-    <action issue="TEXT-85" type="add" dev="chtompki" due-to="Arun Vinud S 
S">Added CaseUtils class with camel case conversion support</action>
-    <action issue="TEXT-91" type="add" dev="pschumacher">RandomStringGenerator 
should be able to generate a String with a random length</action>
-    <action issue="TEXT-92" type="update" dev="pschumacher">Update 
commons-lang dependency to version 3.6</action>
-    <action issue="TEXT-83" type="update" dev="chtompki" due-to="Amey 
Jadiye">Document that commons-csv should be used in preference to 
CsvTranslators</action>
-    <action issue="TEXT-67" type="update" 
dev="kinow">NumericEntityUnescaper.options - fix TODO</action>
-    <action issue="TEXT-84" type="update" dev="djones">RandomStringGenerator 
claims to be immutable, but isn't</action>
-    <action issue="TEXT-102" type="add" dev="ggregory">Add 
StrLookup.resourceBundleLookup(ResourceBundle)</action>
-    <action issue="TEXT-105" type="fix" dev="pschumacher" 
due-to="Abrasha">Typo in 
LongestCommonSubsequence#logestCommonSubsequence</action>
-  </release>
-  <release version="1.1" date="2017-05-23" description="Release 1.1. Requires 
Java 7.">
-    <action issue="TEXT-39" type="update" dev="chtompki" due-to="Amey 
Jadiye">WordUtils should use toXxxxCase(int) rather than 
toXxxxCase(char)</action>
-    <action issue="TEXT-41" type="add" dev="chtompki" due-to="Amey 
Jadiye">WordUtils.abbreviate support</action>
-    <action issue="TEXT-82" type="add" dev="chtompki" due-to="Amey 
Jadiye">Putting WordUtils back in to the codebase</action>
-    <action issue="TEXT-81" type="add" dev="pschumacher" due-to="djones">Add 
RandomStringGenerator</action>
-    <action issue="TEXT-36" type="add" dev="pschumacher" due-to="Raymond 
DeCampo">RandomStringGenerator: allow users to provide source of 
randomness</action>
-    <action issue="TEXT-76" type="fix" dev="kinow">Correct round issue in Jaro 
Winkler implementation</action>
-    <action issue="TEXT-72" type="fix" dev="chtompki">Similar to LANG-1025, 
clirr fails site build.</action>
-  </release>
-  <release version="1.0" date="2017-03-04" description="Requires Java 7.
+    <release version="1.15.0" date="2025-12-04" description="Release 1.15.0. 
This is a feature and maintenance release. Java 8 or later is required.">
+      <!-- FIX -->
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix exception 
message typo in XmlStringLookup.XmlStringLookup(Map, Path...).</action>
+      <action type="fix" dev="ggregory" due-to="Pierre Post, Sumit Bera, Alex 
Herbert, Gary Gregory" issue="TEXT-236">Inserting at the end of a 
TextStringBuilder throws a StringIndexOutOfBoundsException.</action>
+      <action type="fix" dev="ggregory" due-to="Michael Hausegger">Fix 
TextStringBuilderTest.testAppendToCharBuffer() to use proper argument type 
#724.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix Apache RAT 
plugin console warnings.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix site XML to 
use version 2.0.0 XML schema.</action>
+      <action type="fix" dev="ggregory" due-to="Michael Hausegger">Removed 
unreachable threshold verification code in 
src/main/java/org/apache/commons/text/similarity #730.</action>
+      <action type="fix" dev="ggregory" due-to="김민재 (minjas0507Z), Gary 
Gregory, Piotr Karwasz">Enable secure processing for the XML parser in 
XmlStringLookup in case the underlying JAXP implementation doesn't 
#729.</action>
+      <!-- ADD -->
+      <action type="add" dev="ggregory" due-to="Piotr P. Karwasz, Gary 
Gregory">Add experimental CycloneDX VEX file #683.</action>
+      <action type="add" dev="ggregory" due-to="LorgeN, Gary Gregory" 
issue="TEXT-235">Add Damerau-Levenshtein distance #687.</action>
+      <action type="add" dev="ggregory" due-to="Michael Hausegger, Gary 
Gregory">Add unit tests to increase coverage #719.</action>
+      <action type="add" dev="ggregory" due-to="Michael Hausegger, Gary 
Gregory">Add new test for CharSequenceTranslator#with() #725.</action>
+      <action type="add" dev="ggregory" due-to="Michael Hausegger">Add tests 
and assertions to org.apache.commons.text.similarity to get to 100% code 
coverage #727, #728.</action>
+      <!-- UPDATE -->
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
org.apache.commons:commons-parent from 85 to 93 #704, #723, #726.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons.bytebuddy.version from 1.17.6 to 1.18.2 #696, #722.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory, 
Dependabot">Bump graalvm.version from 24.2.2 to 25.0.1 #703, #716.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
org.apache.commons:commons-lang3 from 3.18.0 to 3.20.0.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons-io:commons-io from 2.20.0 to 2.21.0.</action>
+    </release>
+    <release version="1.14.0" date="2025-07-20" description="Release 1.14.0. 
Requires Java 8 or above.">
+      <!-- FIX -->
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in StringLookupFactory.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in DefaultStringLookupsHolder.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in PropertiesStringLookup.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in JavaPlatformStringLookup.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in StringSubstitutor.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in StrSubstitutor.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
UnnecessaryFullyQualifiedName in AlphabetConverter.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
AvoidBranchingStatementAsLastInLoop in TextStringBuilder.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD 
AvoidBranchingStatementAsLastInLoop in StrBuilder.</action>
+      <action type="fix" dev="ggregory" due-to="Gary 
Gregory">org.apache.commons.text.translate.LookupTranslator.LookupTranslator(Map
 CharSequence>) now throws NullPointerException instead of 
java.security.InvalidParameterException.</action>
+      <!-- ADD -->
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Interface 
StringLookup now extends UnaryOperator&lt;String&gt;.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Interface 
TextRandomProvider extends IntUnaryOperator.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
RandomStringGenerator.Builder.usingRandom(IntUnaryOperator).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add PMD check to 
default Maven goal.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.RandomStringGenerator.Builder.setAccumulate(boolean).</action>
+      <!-- UPDATE -->
+      <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump org.apache.commons:commons-parent from 81 to 85 #668.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons-io:commons-io from 2.18.0 to 2.20.0.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump graalvm.version from 24.2.0 to 24.2.2 #665, #681.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
commons.bytebuddy.version from 1.17.5 to 1.17.6 (#677).</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 #680.</action>
+    </release>
+    <release version="1.13.1" date="2025-04-07" description="Release 1.13.1. 
Requires Java 8 or above.">
+      <!-- FIX -->
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">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).</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate 
EntityArrays.EntityArrays().</action>
+      <action type="fix" dev="ggregory" due-to="Gary 
Gregory">StringLookupFactory.DefaultStringLookupsHolder.createDefaultStringLookups()
 maps DefaultStringLookup.LOCAL_HOST twice instead of once for LOCAL_HOST and 
LOOPBACK_ADDRESS.</action>
+      <!-- ADD -->
+      <!-- UPDATE -->
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
org.apache.commons:commons-parent from 79 to 81.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory, 
Dependabot">Bump commons.bytebuddy.version from 1.16.1 to 1.17.5 #643, #659, 
#660.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory, 
Dependabot">Bump graalvm.version from 24.1.2 to 24.2.0 #653.</action>
+    </release>
+    <release version="1.13.0" date="2024-12-10" description="Release 1.13.0. 
Requires Java 8 or above.">
+      <!-- ADD -->
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
StringLookupFactory.loopbackAddressStringLookup().</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
StringLookupFactory.KEY_LOOPBACK_ADDRESS.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
DefaultStringLookup.LOOPBACK_ADDRESS.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add richer 
inputs in package org.apache.commons.text.similarity with 
SimilarityInput.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
HammingDistance.apply(SimilarityInput, SimilarityInput).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
JaccardDistance.apply(SimilarityInput, SimilarityInput).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
JaccardSimilarity.apply(SimilarityInput, SimilarityInput).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
JaroWinklerDistance.apply(SimilarityInput, SimilarityInput).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
JaroWinklerSimilarity.apply(SimilarityInput, SimilarityInput).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
LevenshteinDetailedDistance.apply(SimilarityInput, SimilarityInput).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
LevenshteinDistance.apply(SimilarityInput, SimilarityInput).</action>
+      <!-- FIX -->
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix build on 
Java 22.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix build on 
Java 23-ea.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private constructor private: 
StrLookup.MapStrLookup.MapStrLookup(Map).</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private constructor private: 
StrLookup.SystemPropertiesStrLookup.SystemPropertiesStrLookup().</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private and final: MapStrLookup.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private: StrMatcher.CharMatcher.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private: StrMatcher.CharSetMatcher.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private: StrMatcher.NoMatcher.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private: StrMatcher.StringMatcher.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private: StrMatcher.TrimMatcher.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private and final: 
IntersectionSimilarity.BagCount.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Make 
package-private class private and final: 
IntersectionSimilarity.TinyCount.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate 
LevenshteinDistance.LevenshteinDistance() in favor of 
LevenshteinDistance.getDefaultInstance().</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate 
LevenshteinDetailedDistance.LevenshteinDetailedDistance() in favor of 
LevenshteinDetailedDistance.getDefaultInstance().</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory" 
issue="TEXT-234">Improve StrBuilder documentation for new line text.</action>
+      <action type="fix" dev="ggregory" due-to="TobiasKiecker" 
issue="TEXT-234">Improve TextStringBuilder documentation for new line text 
#547.</action>
+      <action type="fix" dev="ggregory" due-to="belpk" 
issue="TEXT-233">Required OSGi Import-Package version numbers in MANIFEST.MF 
#627.</action>
+      <!-- UPDATE -->
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
org.apache.commons:commons-parent from 69 to 78 #542, #557, #571, #581, #584, 
#593, #600, #603, #614.</action>
+      <action type="udpate" dev="ggregory" due-to="Gary Gregory">Bump tests on 
Java >= 22 org.graalvm.*:* from 24.0.0 to 24.1.1 #592, #610.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons.bytebuddy.version from 1.14.13 to 1.16.1 #538, #548, #553, #565, #579, 
#582, #585, #596, #597, #604, #612, #620, #623, #625, #640.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump SpotBugs 
from 4.8.3 to 4.8.5.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
org.assertj:assertj-core from 3.25.3 to 3.26.3 #554, #566.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
org.codehaus.mojo:taglist-maven-plugin from 3.0.0 to 3.2.1 #564, #611.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump org.apache.commons:commons-rng-simple from 1.5 to 1.6 
#568.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 #569, 
#575, #586.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump commons-io:commons-io from 2.16.1 to 2.18.0 #594, #628.</action>
+    </release>
+    <release version="1.12.0" date="2024-04-13" description="Release 1.12.0. 
Requires Java 8 or above.">
+      <!-- ADD -->
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
StringLookupFactory.fileStringLookup(Path...) and deprecated 
fileStringLookup().</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
StringLookupFactory.propertiesStringLookup(Path...) and deprecated 
propertiesStringLookup().</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
StringLookupFactory.xmlStringLookup(Map, Path...) and deprecated 
xmlStringLookup() and xmlStringLookup(Map).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
StringLookupFactory.builder() for fencing Path resolution of the file, 
properties and XML lookups.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
DoubleFormat.Builder.get() as Builder now implements Supplier.</action>
+      <!-- FIX -->
+      <action issue="TEXT-232" type="fix" dev="ggregory" due-to="Arnout 
Engelen, Gary Gregory">WordUtils.containsAllWords​() may throw 
PatternSyntaxException.</action>
+      <action issue="TEXT-175" type="fix" dev="ggregory" due-to="David Lavati, 
seanfabs, Gary Gregory, Bruno P. Kinoshita">Fix regression for determining 
whitespace in WordUtils #519.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate 
Builder in favor of Supplier.</action>
+      <!-- UPDATE -->
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons-lang3 from 3.13.0 to 3.14.0.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
commons.bytebuddy.version from 1.14.9 to 1.14.13 #476, #482, #505, 
#521.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
org.codehaus.mojo:exec-maven-plugin from 3.1.0 to 3.2.0 #474, #508.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons-io from 2.15.0 to 2.16.1 #522, #527.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons-parent from 64 to 69 #524.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
org.assertj:assertj-core from 3.24.2 to 3.25.3.</action>
+    </release>
+    <release version="1.11.0" date="2023-10-24" description="Release 1.11.0. 
Requires Java 8 or above.">
+      <!-- FIX -->
+      <action issue="TEXT-219" type="fix" dev="aherbert" due-to="Jaap 
Sperling">Fix StringTokenizer.getTokenList to return an independent modifiable 
list</action>
+      <action type="fix" dev="aherbert" due-to="James Nord">Fix Javadoc for 
StringEscapeUtils.escapeHtml4 #382</action>
+      <action type="fix" dev="ggregory" due-to="Pavel Belousov, Gary 
Gregory">TextStringBuidler#hashCode() allocates a String on each call 
#387.</action>
+      <action issue="TEXT-221" type="fix" dev="aherbert" due-to="Remco 
Riswick">Fix Bundle-SymbolicName to use the package name 
org.apache.commons.text</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Add and use a 
package-private singleton for RegexTokenizer.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Add and use a 
package-private singleton for CosineSimilarity.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Add and use a 
package-private singleton for LongestCommonSubsequence.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Add and use a 
package-private singleton for JaroWinklerSimilarity.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Add and use a 
package-private singleton for JaccardSimilarity.</action>
+      <action type="fix" dev="ggregory" due-to="step-security-bot, Gary 
Gregory">[StepSecurity] ci: Harden GitHub Actions #428.</action>
+      <action type="fix" dev="ggregory" due-to="Dimitrios Efthymiou">Improve 
AlphabetConverter Javadoc #429.</action>
+      <action type="fix" dev="ggregory" due-to="Dimitrios Efthymiou">Fix 
exception message in IntersectionResult to make set-theoretic sense 
#438.</action>
+      <action type="fix" dev="ggregory" due-to="Dimitrios Efthymiou, Gary 
Gregory">Add null-check in RandomStringGenerator#Builder#selectFrom() to avoid 
NullPointerException #434.</action>
+      <action type="fix" dev="ggregory" due-to="Dimitrios Efthymiou, Gary 
Gregory">Add null-check in RandomStringGenerator#Builder#withinRange() to avoid 
NullPointerException.</action>
+      <action issue="TEXT-228" type="fix" dev="ggregory" due-to="Alex Herbert, 
Gary Gregory">Fix TextStringBuilder to over-allocate when ensuring capacity 
#452.</action>
+      <action type="fix" dev="ggregory" due-to="Elliotte Rusty Harold, Gary 
Gregory">Constructor for ResourceBundleStringLookup should be private instead 
of package-private.</action>
+      <action type="fix" dev="ggregory" due-to="Elliotte Rusty Harold, Gary 
Gregory">Constructor for UrlDecoderStringLookup should be private instead of 
package-private.</action>
+      <action type="fix" dev="ggregory" due-to="Elliotte Rusty Harold, Gary 
Gregory">Constructor for UrlEncoderStringLookup should be private instead of 
package-private.</action>
+      <action issue="TEXT-230" type="fix" dev="ggregory" due-to="Michael 
Osipov, Gary Gregory">Javadoc of 
org.apache.commons.text.lookup.DefaultStringLookup.XML is incorrect.</action>
+      <action type="fix" dev="ggregory" due-to="Alex Herbert">Update 
DoubleFormat to state it is based on Double.toString. #467.</action>
+      <!-- ADD -->
+      <action issue="TEXT-224" type="add" dev="ggregory" due-to="PJ Fanning, 
Gary Gregory">Set SecureProcessing feature in XmlStringLookup by 
default.</action>
+      <action issue="TEXT-224" type="add" dev="ggregory" due-to="Gary 
Gregory">Add StringLookupFactory.xmlStringLookup(Map&lt;String, 
Boolean&gt;...).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
@FunctionalInterface to FormatFactory.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
RandomStringGenerator.builder().</action>
+      <action issue="TEXT-229" type="add" dev="ggregory" due-to="Michael 
Osipov, Elliotte Rusty Harold, Gary Gregory">Add 
XmlEncoderStringLookup/XmlDecoderStringLookup #449.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
StringSubstitutor.toString().</action>
+      <!-- UPDATE -->
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
actions/cache.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
actions/setup-java.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
actions/checkout.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump pmd from 6.49.0 to 6.52.0 #364.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
commons-rng-simple from 1.4 to 1.5 #370.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot, Gary 
Gregory">Bump spotbugs-maven-plugin from 4.7.2.0 to 4.7.3.6 #371, #385.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump spotbugs 
from 4.7.2 to 4.7.3 #373.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump 
mockito-inline from 4.8.0 to 4.11.0 #380, #389, #396, #400.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump jmh.version 
from 1.35 to 1.37 #388.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons-parent from 54 to 64 #392, #401.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump assertj-core 
from 3.23.1 to 3.24.2 #405, #410.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump 
maven-checkstyle-plugin from 3.2.0 to 3.2.1 #407.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons-io from 2.11.0 to 2.15.0.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons-lang3 from 3.12.0 to 3.13.0.</action>
+    </release>
+    <release version="1.10.0" date="2022-09-24" description="Release 1.10.0. 
Requires Java 8 or above.">
+      <!-- FIX -->
+      <action issue="TEXT-189" type="fix" dev="kinow" due-to="Gongpu Zhu">Fix 
CaseUtils when the input string contains only delimiters</action>
+      <action issue="TEXT-187" type="fix" dev="kinow">Add GraalVM test 
dependencies to fix test failures with Java 15.</action>
+      <action issue="TEXT-158" type="fix" dev="kinow">Incorrect values for 
Jaccard similarity with empty strings.</action>
+      <action issue="TEXT-186" type="fix" dev="ggregory" due-to="Gautam 
Korlam, Gary Gregory">StringSubstitutor map constructor throws NPE on 1.9 with 
null map.</action>
+      <action issue="TEXT-191" type="fix" dev="kinow" due-to="Bradley David 
Rumball">JaroWinklerDistance returns the same values as 
JaroWinklerSimilarity.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Correct Javadoc 
in FileStringLookup.</action>
+      <action type="fix" dev="ggregory" due-to="Arturo Bernal">Minor 
Improvements #192, #196.</action>
+      <action issue="TEXT-194" type="fix" dev="kinow" due-to="Arturo 
Bernal">Use StringUtils.INDEX_NOT_FOUND constant.</action>
+      <action issue="TEXT-199" type="fix" dev="kinow" due-to="Arturo 
Bernal">Remove redundant local variable.</action>
+      <action issue="TEXT-198" type="fix" dev="kinow" due-to="Arturo 
Bernal">Replace lambda with method reference.</action>
+      <action issue="TEXT-200" type="fix" dev="kinow" due-to="Arturo 
Bernal">Simplify statements.</action>
+      <action issue="TEXT-197" type="fix" dev="kinow" due-to="Arturo 
Bernal">Replace statement lambda with expression lambda.</action>
+      <action issue="TEXT-204" type="fix" dev="kinow" due-to="Arturo 
Bernal">Use static class inner class in tests.</action>
+      <action issue="TEXT-201" type="fix" dev="kinow" due-to="Arturo 
Bernal">Simplify assertion.</action>
+      <action issue="TEXT-202" type="fix" dev="kinow" due-to="Arturo 
Bernal">Extract duplicate code.</action>
+      <action issue="TEXT-205" type="fix" dev="kinow" due-to="Arturo 
Bernal">Set void return method.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Remove unused 
exception from TextStringBuilder.readFrom(CharBuffer). This preserves binary 
compatibility but not source compatibility.</action>
+      <action type="fix" dev="ggregory" due-to="CodeQL, Gary 
Gregory">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.</action>
+      <action type="fix" dev="ggregory" due-to="CodeQL, Gary 
Gregory">TextStringBuilder.TextStringBuilderReader.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.</action>
+      <action issue="TEXT-211" type="fix" dev="ggregory" 
due-to="sebx59">TextStringBuilder.equals whatever the capacity is #281.</action>
+      <action issue="TEXT=212" type="fix" dev="kinow" due-to="Ali Ghanbari">A 
More Efficient Implementation for Calculating Size of Longest Common 
Subsequence.</action>
+      <action issue="TEXT-209" type="fix" dev="kinow" 
due-to="fourAjeff">LookupTranslator returns count of chars consumed, not of 
codepoints consumed.</action>
+      <action issue="TEXT-209" type="fix" dev="ggregory" due-to="Arturo 
Bernal">Use Math.min() call instead of doing it manually. #335.</action>
+      <action type="fix" dev="ggregory" due-to="ValentijnvdBeek, Gary 
Gregory">TextStringBuilder: Throw OutOfMemoryError instead of 
NegativeArraySizeException.</action>
+      <action type="fix" dev="ggregory" due-to="ValentijnvdBeek, Gary 
Gregory">TextStringBuilder: Can't grow to sizes up to 
Integer.MAX_VALUE.</action>
+      <action type="fix" dev="mattjuntunen">Make default string lookups 
configurable via system property. Remove dns, url, and script lookups from 
defaults. If these lookups are required for use in 
StringSubstitutor.createInterpolator(), they must be enabled via system 
property. See StringLookupFactory for details.</action>
+      <!-- ADD -->
+      <action issue="TEXT-207" type="add" dev="mattjuntunen">Add DoubleFormat 
utility.</action>
+      <action issue="TEXT-190" type="add" dev="kinow" due-to="Benjamin 
Bing">Document negative limit for WordUtils abbreviate method</action>
+      <action issue="TEXT-188" type="add" dev="kinow" due-to="Jakob 
Vesterstrøm">Speed up LevenshteinDistance with threshold by exiting 
early</action>
+      <action issue="TEXT-185" type="add" dev="ggregory" due-to="Larry West, 
Gary Gregory">Release Notes page hasn't been updated for 1.9 release 
yet.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
StrBuilder.isNotEmpty().</action>
+      <!-- UPDATE -->
+      <action type="update" dev="kinow" due-to="Dependabot">Bump 
actions/setup-java from v1.4.0 to 3 #147, #156, #155, #172, #215, #314.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump 
github/codeql-action from 1 to 2 #319.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump checkstyle 
from 8.34 to 9.3, #141, #168, #182, #188, #193, #201, #208, #211, #228, #235, 
#245, #253, #255, #262, #270, #280, #287, #299, #315, #321.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory, 
Dependabot">Bump spotbugs-maven-plugin from 4.0.0 to 4.7.2.0, #144, #150, #167, 
#176, #194, #210, #223, #250, #268, #273, #277, #278, #286, #293, #303, #320, 
#325, #338, #344, #354.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory, 
Dependabot">Bump spotbugs from 4.1.3 to 4.7.2 #175, 189, #209, #218, #247, 
#256, #264, #275, #284, #289, #296, #306, #355.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
mockito-inline from 3.4.4 to 4.8.0, #143, #148, #149, #152, #153, #154, #158, 
#159, #166, #177, #180, #187, #195, #197, #207, #216, #231, #236, #237, #243, 
#258, #259, #260, #261, #272, #285, #291, #305, #317, #330, #331, #347, 
#352.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump junit-jupiter 
from 5.6.2 to 5.9.1 #163, #204, #232, #265, #269, #288, #343, #357.</action>
+      <action type="update" dev="kinow" due-to="Dependabot, Gary Gregory">Bump 
assertj-core from 3.16.1 to 3.23.1 #151, #157, #160, #178, #184, #199, #244, 
#267, #294.</action>
+      <action type="update" dev="kinow" due-to="Dependabot, Gary Gregory">Bump 
commons-io from 2.7 to 2.11.0 #161 #251.</action>
+      <action type="update" dev="kinow" due-to="Dependabot, Gary Gregory">Bump 
commons-parent from 51 to 54 #145, #358.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump 
maven-pmd-plugin from 3.13.0 to 3.19.0 #186, #263, #302, #334, #349, 
#353.</action>
+      <action type="update" dev="kinow" due-to="Gary Gregory">Bump pmd from 
6.42.0 to 6.46.0.</action>
+      <action type="update" dev="ggregory" due-to="Dependabot">Bump 
graalvm.version from 20.2.0 to 22.0.0.2 #185, #198, #206, #227, #252, #276, 
#295, #300.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons.japicmp.version from 0.14.3 to 0.16.0.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons.jacoco.version 0.8.5 to 0.8.8; fixes Java 15 build.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump 
maven-checkstyle-plugin from 3.1.1 to 3.2.0 #202, #348.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons-lang3 3.11 -> 3.12.0.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons.javadoc.version from 3.2.0 to 3.4.1.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
commons.project-info.version from 3.1.0 to 3.1.2.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump jmh.version 
from 1.32 to 1.35 #254, #292, #313.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump 
commons-rng-simple from 1.3 to 1.4 #266.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump 
taglist-maven-plugin from 2.4 to 3.0.0 #297.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump 
commons.pmd-impl.version from 6.44.0 to 6.49.0 #323, #336, #345, #350.</action>
+      <action type="update" dev="kinow" due-to="Dependabot">Bump 
exec-maven-plugin from 3.0.0 to 3.1.0 #340.</action>
+    </release>
+    <release version="1.9" date="2020-07-21" description="Release 1.9. 
Requires Java 8 or above.">
+      <action issue="TEXT-166" type="fix" dev="kinow" due-to="Mikko 
Maunu">Removed non-existing parameter from Javadocs and spelled out parameters 
in throws.</action>
+      <action issue="TEXT-149" type="fix" dev="kinow" due-to="Yuji 
Konishi">StringEscapeUtils.unescapeCsv doesn't remove quotes at begin and end 
of string.</action>
+      <action issue="TEXT-174" type="fix" dev="ggregory" 
due-to="furkilic">ScriptStringLookup does not accept ":" #126.</action>
+      <action issue="TEXT-178" type="fix" dev="ggregory" due-to="Gary 
Gregory">StringSubstitutor incorrectly removes some escape characters.</action>
+      <action issue="TEXT-181" type="fix" dev="ggregory" 
due-to="XenoAmess">Fix Javadocs #135.</action>
+      <action issue="TEXT-182" type="fix" dev="ggregory" 
due-to="XenoAmess">Fix typos #137.</action>
+      <action issue="TEXT-183" type="fix" dev="ggregory" 
due-to="XenoAmess">Make ConstantStringLookup.constantCache final #136.</action>
+      <action issue="TEXT-184" type="fix" dev="ggregory" 
due-to="XenoAmess">Simplify if in CaseUtils #134.</action>
+      <action type="update" dev="ggregory" due-to="Johan Hammar">[javadoc] Fix 
compiler warnings in Java code example in Javadoc #124.</action>
+      <action issue="TEXT-177" type="update" dev="ggregory" due-to="Gary 
Gregory">Update from Apache Commons Lang 3.9 to 3.11.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
StringMatcher.size().</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Refactor 
TextStringBuilder.readFrom(Readable), extracting readFrom(CharBuffer) and 
readFrom(Reader).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
BiStringLookup and implementation BiFunctionStringLookup.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.StringSubstitutor.StringSubstitutor(StringSubstitutor).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.TextStringBuilder.TextStringBuilder(CharSequence).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.TextStringBuilder.drainChar(int).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.TextStringBuilder.drainChars(int, int, char[]. 
int).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.TextStringBuilder.isNotEmpty().</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.TextStringBuilder.isReallocated().</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.TextStringBuilder.readFrom(Reader, int).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.TextStringBuilder.set(String).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.TextStringBuilder.wrap(char[]).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.TextStringBuilder.wrap(char[], int).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.io.StringSubstitutorReader.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.lookup.StringLookupFactory.functionStringLookup(Function&lt;String,
 V&gt;).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, 
int).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, int, int, 
int).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.matcher.StringMatcherFactory.andMatcher(StringMatcher...).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
org.apache.commons.text.matcher.StringMatcherFactory.stringMatcher(char...).</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[build] Skip 
clirr since we use JApiCmp.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[test] 
junit-jupiter 5.5.1 -> 5.5.2.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[test] 
org.assertj:assertj-core 3.13.2 -> 3.16.1.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[build] 
com.puppycrawl.tools:checkstyle 8.23 -> 8.34.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[build] 
Update JUnit from 5.5.2 to 5.6.2.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[build] 
commons.jacoco.version 0.8.4 -> 0.8.5.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[build] 
commons.javadoc.version 3.1.1 -> 3.2.0.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[build] 
commons.japicmp.version 0.14.1 -> 0.14.3.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[build] 
checkstyle.plugin.version 3.1.0 -> 3.1.1.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[build] 
checkstyle.version 8.27 -> 8.33.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[build] 
org.apache.commons:commons-parent 48 -> 51.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[build] 
maven-pmd-plugin 3.12.0 -> 3.13.0.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[build] 
org.mockito 3.3.3 -> 3.4.4.</action>
+    </release>
+    <release version="1.8" date="2019-08-30" description="Release 1.8. 
Requires Java 8 or above.">
+      <action issue="TEXT-167" type="fix" dev="ggregory" due-to="Larry 
West">commons-text web page missing "RELEASE-NOTES-1.7.txt"</action>
+      <action issue="TEXT-168" type="fix" dev="ggregory" 
due-to="luksan47">(doc) Fixed wrong value for Jaro-Winkler example #117</action>
+      <action issue="TEXT-169" type="add" dev="ggregory" due-to="Gary 
Gregory">Add helper factory method 
org.apache.commons.text.StringSubstitutor.createInterpolator().</action>
+      <action issue="TEXT-170" type="add" dev="ggregory" due-to="Gary 
Gregory">Add String lookup for host names and IP addresses 
(DnsStringLookup).</action>
+      <action issue="TEXT-171" type="fix" dev="ggregory" due-to="Gary 
Gregory">StringLookupFactory.addDefaultStringLookups(Map) does not convert keys 
to lower case.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Expand 
Javadoc for StringSubstitutor and friends.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">[site] 
checkstyle.version 8.21 -> 8.23.</action>
+    </release>
+    <release version="1.7" date="2019-06-30" description="Release 1.7. 
Requires Java 8 or above.">
+      <action issue="TEXT-111" type="fix" dev="kinow" 
due-to="@CAPS50">WordUtils.wrap must calculate offset increment from wrapOn 
pattern length</action>
+      <action issue="TEXT-104" type="update" dev="kinow" due-to="Sascha 
Szott">Jaro Winkler Distance refers to similarity</action>
+      <action issue="TEXT-148" type="add" dev="ggregory">Add an enum to the 
lookup package that lists all StringLookups</action>
+      <action issue="TEXT-127" type="add" dev="ggregory" due-to="Jean-Baptiste 
REICH, Sebb, Don Jeba, Gary Gregory">Add a toggle to throw an exception when a 
variable is unknown in StringSubstitutor</action>
+      <action issue="TEXT-138" type="add" dev="ggregory" due-to="Neal Johnson, 
Don Jeba">TextStringBuilder append sub-sequence not consistent with 
Appendable.</action>
+      <action issue="TEXT-152" type="add" dev="" due-to="@CAPS50">Fix possible 
infinite loop in WordUtils.wrap for a regex pattern that would trigger on a 
match of 0 length</action>
+      <action issue="TEXT-153" type="update" dev="" due-to="amirhadadi">Make 
prefixSet in LookupTranslator a BitSet</action>
+      <action issue="TEXT-156" type="update" dev="aherbert">Fix the 
RegexTokenizer to use a static Pattern</action>
+      <action issue="TEXT-157" type="update" dev="aherbert">Remove rounding 
from JaccardDistance and JaccardSimilarity</action>
+      <action issue="TEXT-151" type="fix" dev="aherbert">Fix the 
JaroWinklerSimilarity to use StringUtils.equals to test for CharSequence 
equality</action>
+      <action issue="TEXT-155" type="add" dev="aherbert">Add a generic 
IntersectionSimilarity measure</action>
+      <action issue="TEXT-162" type="update" dev="ggregory">Update Apache 
Commons Lang from 3.8.1 to 3.9.</action>
+      <action issue="TEXT-165" type="fix" 
dev="ggregory">ResourceBundleStringLookup.lookup(String) throws 
MissingResourceException instead of returning null.</action>
+      <action type="update" dev="ggregory">Update tests from 
org.assertj:assertj-core 3.12.1 to 3.12.2.</action>
+      <action type="update" dev="ggregory">Update site from 
com.puppycrawl.tools:checkstyle 8.18 to 8.21.</action>
+    </release>
+    <release version="1.6" date="2018-10-12" description="Release 1.6. 
Requires Java 8 or above.">
+      <action issue="TEXT-144" type="update" dev="ggregory">Add the resource 
string bundle string lookup to the default set of lookups</action>
+      <action issue="TEXT-145" type="update" dev="ggregory">Add 
StringLookupFactory methods for the URL encoder and decoder string 
lookups</action>
+      <action issue="TEXT-146" type="update" 
dev="ggregory">org.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup()
 should reuse a singleton instance</action>
+      <action issue="TEXT-147" type="update" dev="ggregory">Add a Base64 
encoder string lookup.</action>
+    </release>
+    <release version="1.5" date="2018-09-29" description="Release 1.5. 
Requires Java 8 or above.">
+      <action issue="TEXT-139" type="fix" dev="chtompki" due-to="Nick 
Wong">Improve JaccardSimilarity computational cost</action>
+      <action issue="TEXT-118" type="fix" dev="chtompki" due-to="Nandor 
Kollar">JSON escaping incorrect for the delete control character</action>
+      <action issue="TEXT-130" type="fix" dev="chtompki" due-to="Jan Martin 
Keil">Fixes JaroWinklerDistance: Wrong results due to precision of 
transpositions</action>
+      <action issue="TEXT-131" type="fix" dev="chtompki" due-to="Jan Martin 
Keil">JaroWinklerDistance: Calculation deviates from definition</action>
+      <action issue="TEXT-132" type="update" dev="ggregory">Update Apache 
Commons Lang from 3.7 to 3.8.1</action>
+      <action issue="TEXT-133" type="add" dev="ggregory">Add a XML file XPath 
string lookup.</action>
+      <action issue="TEXT-134" type="add" dev="ggregory">Add a Properties file 
string lookup.</action>
+      <action issue="TEXT-135" type="add" dev="ggregory">Add a script string 
lookup.</action>
+      <action issue="TEXT-136" type="add" dev="ggregory">Add a file string 
lookup.</action>
+      <action issue="TEXT-137" type="add" dev="ggregory">Add a URL string 
lookup.</action>
+      <action issue="TEXT-140" type="add" dev="ggregory">Add a Base64 string 
lookup.</action>
+      <action issue="TEXT-141" type="add" dev="ggregory">Add 
org.apache.commons.text.lookup.StringLookupFactory.resourceBundleStringLookup(String).</action>
+      <action issue="TEXT-142" type="add" dev="ggregory">Add URL encoder and 
decoder string lookups.</action>
+      <action issue="TEXT-143" type="add" dev="ggregory">Add constant string 
lookup like the one in Apache Commons Configuration.</action>
+    </release>
+    <release version="1.4" date="2018-06-12" description="Release 1.4. 
Requires Java 8 or above.">
+      <action issue="TEXT-120" type="fix" 
dev="pschumacher">StringEscapeUtils#unescapeJson does not unescape double 
quotes and forward slash</action>
+      <action issue="TEXT-119" type="fix" dev="pschumacher">Remove mention of 
SQL escaping from user guide</action>
+      <action issue="TEXT-121" type="update" dev="ggregory" 
due-to="pschumacher">Update Java requirement from version 7 to 8.</action>
+      <action issue="TEXT-122" type="update" dev="ggregory">Allow full 
customization with new API 
org.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup(Map&lt;String,
 StringLookup>, StringLookup, boolean).</action>
+      <action issue="TEXT-123" type="fix" dev="ggregory" due-to="Takanobu 
Asanuma">WordUtils.wrap throws StringIndexOutOfBoundsException when wrapLength 
is Integer.MAX_VALUE.</action>
+    </release>
+    <release version="1.3" date="2018-03-16" description="Release 1.3. 
Requires Java 7.">
+      <action issue="TEXT-110" type="add" dev="pschumacher">Add 
Automatic-Module-Name MANIFEST entry for Java 9 compatibility</action>
+      <action issue="TEXT-70" type="fix" dev="pschumacher">Build failure with 
java 9-ea+159</action>
+      <action issue="TEXT-113" type="add" dev="ggregory">Add an interpolator 
string lookup: StringLookupFactory#interpolatorStringLookup()</action>
+      <action issue="TEXT-114" type="add" dev="ggregory">Add a StrSubstitutor 
replacement based on interfaces: StringSubstitutor</action>
+      <action issue="TEXT-115" type="add" dev="ggregory">Add a StrBuilder 
replacement based on the StringMatcher interface: TextStringBuilder</action>
+      <action issue="TEXT-116" type="add" dev="ggregory">Add a StrTokenizer 
replacement based on the StringMatcher interface: StringTokenizer</action>
+      <action issue="TEXT-117" type="add" dev="ggregory">Add a local host 
string lookup: LocalHostStringLookup</action>
+      <action issue="TEXT-80" type="fix" dev="ggregory">StrLookup API 
confusing</action>
+    </release>
+    <release version="1.2" date="2017-12-12" description="Release 1.2. 
Requires Java 7.">
+      <action issue="TEXT-107" type="update" dev="chtompki">Upversion 
commons-lang to 3.7</action>
+      <action issue="TEXT-106" type="fix" dev="kinow" due-to="Benoit 
Moreau">Exception thrown in ExtendedMessageFormat using quotes with custom 
registry</action>
+      <action issue="TEXT-100" type="fix" dev="kinow" due-to="Don 
Jeba">StringEscapeUtils#UnEscapeJson doesn't recognize escape signs 
correctly</action>
+      <action issue="TEXT-74" type="add" dev="chtompki" due-to="Ioannis 
Sermetziadis">StrSubstitutor: Ability to turn off substitution in 
values</action>
+      <action issue="TEXT-97" type="add" dev="chtompki" due-to="Amey 
Jadiye">RandomStringGenerator able to pass multiple ranges to 
.withinRange()</action>
+      <action issue="TEXT-98" type="update" dev="chtompki" due-to="Arun Vinud 
S S">Deprecate isDelimiter and use HashSets for delimiter checks</action>
+      <action issue="TEXT-89" type="add" dev="chtompki" due-to="Arun Vinud S 
S">WordUtils.initials support for UTF-16 surrogate pairs</action>
+      <action issue="TEXT-88" type="update" dev="chtompki" due-to="Amey 
Jadiye">WordUtils should treat an empty delimiter array as no 
delimiters</action>
+      <action issue="TEXT-93" type="update" dev="chtompki" due-to="Amey 
Jadiye">Update RandomStringGenerator to accept a list of valid 
characters</action>
+      <action issue="TEXT-90" type="add" dev="pschumacher">Add 
CharacterPredicates for ASCII letters (uppercase/lowercase) and arabic 
numerals</action>
+      <action issue="TEXT-85" type="add" dev="chtompki" due-to="Arun Vinud S 
S">Added CaseUtils class with camel case conversion support</action>
+      <action issue="TEXT-91" type="add" 
dev="pschumacher">RandomStringGenerator should be able to generate a String 
with a random length</action>
+      <action issue="TEXT-92" type="update" dev="pschumacher">Update 
commons-lang dependency to version 3.6</action>
+      <action issue="TEXT-83" type="update" dev="chtompki" due-to="Amey 
Jadiye">Document that commons-csv should be used in preference to 
CsvTranslators</action>
+      <action issue="TEXT-67" type="update" 
dev="kinow">NumericEntityUnescaper.options - fix TODO</action>
+      <action issue="TEXT-84" type="update" dev="djones">RandomStringGenerator 
claims to be immutable, but isn't</action>
+      <action issue="TEXT-102" type="add" dev="ggregory">Add 
StrLookup.resourceBundleLookup(ResourceBundle)</action>
+      <action issue="TEXT-105" type="fix" dev="pschumacher" 
due-to="Abrasha">Typo in 
LongestCommonSubsequence#logestCommonSubsequence</action>
+    </release>
+    <release version="1.1" date="2017-05-23" description="Release 1.1. 
Requires Java 7.">
+      <action issue="TEXT-39" type="update" dev="chtompki" due-to="Amey 
Jadiye">WordUtils should use toXxxxCase(int) rather than 
toXxxxCase(char)</action>
+      <action issue="TEXT-41" type="add" dev="chtompki" due-to="Amey 
Jadiye">WordUtils.abbreviate support</action>
+      <action issue="TEXT-82" type="add" dev="chtompki" due-to="Amey 
Jadiye">Putting WordUtils back in to the codebase</action>
+      <action issue="TEXT-81" type="add" dev="pschumacher" due-to="djones">Add 
RandomStringGenerator</action>
+      <action issue="TEXT-36" type="add" dev="pschumacher" due-to="Raymond 
DeCampo">RandomStringGenerator: allow users to provide source of 
randomness</action>
+      <action issue="TEXT-76" type="fix" dev="kinow">Correct round issue in 
Jaro Winkler implementation</action>
+      <action issue="TEXT-72" type="fix" dev="chtompki">Similar to LANG-1025, 
clirr fails site build.</action>
+    </release>
+    <release version="1.0" date="2017-03-04"
+      description="Requires Java 7.
 
    Incompatible changes
    ====================
@@ -425,54 +424,54 @@ The <action> type attribute can be add,update,fix,remove.
    Methods StringEscapeUtils#escapeHtml3Once and 
StringEscapeUtils#escapeHtml4Once
    have been removed; see TEXT-40
   ">
-    <action issue="TEXT-64" type="fix" dev="kinow" 
due-to="chtompki">Investigate locale issue in ExtendedMessageFormatTest</action>
-    <action issue="TEXT-69" type="fix" dev="chtompki">Resolve PMD/CMD 
Violations</action>
-    <action issue="TEXT-40" type="remove" dev="sebb">Escape HTML characters 
only once: revert</action>
-    <action issue="TEXT-65" type="fix" dev="chtompki">Fixing the 200 
checkstyle errors present in 1.0-beta-1</action>
-    <action issue="TEXT-63" type="fix" dev="sebb">Mutable fields should be 
private</action>
-  </release>
-  <release version="1.0-beta-1" date="2017-01-30" description="First release 
(beta) of Commons Text. Requires Java 7.">
-    <action issue="TEXT-62" type="fix" dev="chtompki">Incorporate suggestions 
from RC2 into 1.0 release</action>
-    <action issue="TEXT-61" type="update" dev="chtompki" due-to="Lee 
Adcock">Naming packages org.apache.commons.text.beta</action>
-    <action issue="TEXT-60" type="fix" dev="chtompki" due-to="Lee 
Adcock">Upgrading Jacoco for Java 9-ea compatibility.</action>
-    <action issue="TEXT-58" type="update" dev="chtompki">Refactor EntityArrays 
to have unmodifiableMaps in leu of String[][]</action>
-    <action issue="TEXT-53" type="update" dev="chtompki">Prepare site for 1.0 
release</action>
-    <action issue="TEXT-56" type="add" dev="chtompki" due-to="Jarek 
Strzeleck">Move CvsTranslators out of StringEscapeUtils and make them 
DRY</action>
-    <action issue="TEXT-55" type="remove" dev="chtompki">Remove WordUtils to 
be added back in an upcoming 1.X release</action>
-    <action issue="TEXT-52" type="fix" dev="chtompki">Possible attacks through 
StringEscapeUtils.escapeEcmaScrip better javadoc</action>
-    <action issue="TEXT-51" type="remove" dev="chtompki">Remove 
RandomStringGenerator to be added back in the 1.1 release</action>
-    <action issue="TEXT-50" type="update" dev="chtompki">Upgrade from 
commons-parent version 41 to version 42</action>
-    <action issue="TEXT-40" type="add" dev="chtompki" due-to="Sampanna 
Kahu">Escape HTML characters only once</action>
-    <action issue="TEXT-37" type="fix" dev="djones">Global vs local source of 
randomness</action>
-    <action issue="TEXT-38" type="fix" dev="djones">Fluent API in 
"RandomStringBuilder"</action>
-    <action issue="TEXT-26" type="fix" dev="chtompki">Fix JaroWinklerDistance 
in the manner of LUCENE-1297</action>
-    <action issue="TEXT-32" type="add" dev="chtompki">Add LCS similarity and 
distance</action>
-    <action issue="TEXT-34" type="add" dev="djones">Add class to generate 
random strings</action>
-    <action issue="TEXT-35" type="fix" dev="kinow">Unfinished class Javadoc 
for CosineDistance</action>
-    <action issue="TEXT-33" type="update" dev="chtompki">Consolidating since 
tags at 1.0, removing deprecated methods</action>
-    <action issue="TEXT-29" type="add" dev="chtompki">Add a builder to 
StringEscapeUtils</action>
-    <action issue="TEXT-28" type="add" dev="chtompki">Add shell/XSI 
escape/unescape support</action>
-    <action issue="TEXT-22" type="fix" dev="chtompki">LevenshteinDistance 
reduce memory consumption</action>
-    <action issue="TEXT-31" type="remove" dev="chtompki">Remove 
org.apache.commons.text.names, for later release than 1.0</action>
-    <action issue="TEXT-2" type="add" dev="chtompki" due-to="Don Jeba">Add 
Jaccard Index and Jaccard Distance</action>
-    <action issue="TEXT-27" type="add" dev="chtompki">Move 
org.apache.commons.lang3.StringEscapeUtils.java into text</action>
-    <action issue="TEXT-23" type="add" dev="chtompki">Moving from 
commons-lang, the package org.apache.commons.lang3.text</action>
-    <action issue="TEXT-10" type="add" dev="kinow" due-to="Don Jeba">A more 
complex Levenshtein distance</action>
-    <action issue="TEXT-24" type="add" dev="chtompki">Add coveralls and 
Travis.ci integration</action>
-    <action issue="TEXT-19" type="add" dev="kinow" due-to="Eyal Allweil">Add 
alphabet converter</action>
-    <action issue="TEXT-13" type="add" dev="kinow">Create Commons Text 
logo</action>
-    <action issue="TEXT-16" type="update" dev="britter">Improve 
HumanNameParser</action>
-    <action issue="TEXT-5" type="fix" dev="kinow">IP clearance for the names 
package</action>
-    <action issue="TEXT-7" type="add" dev="kinow">Write user guide</action>
-    <action issue="TEXT-11" type="fix" dev="kinow">Work on the string metric, 
distance, and similarity definitions for the project</action>
-    <action issue="TEXT-15" type="add" dev="kinow">Human name parser</action>
-    <action issue="TEXT-12" type="fix" dev="kinow" due-to="Jonathan 
baker">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.</action>
-    <action issue="TEXT-3" type="add" dev="kinow">Add Cosine Similarity and 
Cosine Distance</action>
-    <action issue="TEXT-8" type="fix" dev="kinow" due-to="Jonathan 
Baker">Change (R) StringMetric.compare(CS left, CS right) to "apply" so that it 
is consistent with BiFunction.</action>
-    <action issue="TEXT-6" type="fix" dev="kinow" due-to="Jonathan 
Baker">Allow extra information (e.g. Levenshtein threshold) to be stored as 
(final) fields in the StringMetric instance.</action>
-    <action issue="TEXT-4" type="add" dev="kinow">Port Myers algorithm from 
[collections]</action>
-    <action issue="TEXT-1" type="add" dev="kinow">Add Hamming distance</action>
-    <action issue="TEXT-9" type="add" dev="kinow" due-to="britter">Incorporate 
String algorithms from Commons Lang</action>
-  </release>
+      <action issue="TEXT-64" type="fix" dev="kinow" 
due-to="chtompki">Investigate locale issue in ExtendedMessageFormatTest</action>
+      <action issue="TEXT-69" type="fix" dev="chtompki">Resolve PMD/CMD 
Violations</action>
+      <action issue="TEXT-40" type="remove" dev="sebb">Escape HTML characters 
only once: revert</action>
+      <action issue="TEXT-65" type="fix" dev="chtompki">Fixing the 200 
checkstyle errors present in 1.0-beta-1</action>
+      <action issue="TEXT-63" type="fix" dev="sebb">Mutable fields should be 
private</action>
+    </release>
+    <release version="1.0-beta-1" date="2017-01-30" description="First release 
(beta) of Commons Text. Requires Java 7.">
+      <action issue="TEXT-62" type="fix" dev="chtompki">Incorporate 
suggestions from RC2 into 1.0 release</action>
+      <action issue="TEXT-61" type="update" dev="chtompki" due-to="Lee 
Adcock">Naming packages org.apache.commons.text.beta</action>
+      <action issue="TEXT-60" type="fix" dev="chtompki" due-to="Lee 
Adcock">Upgrading Jacoco for Java 9-ea compatibility.</action>
+      <action issue="TEXT-58" type="update" dev="chtompki">Refactor 
EntityArrays to have unmodifiableMaps in leu of String[][]</action>
+      <action issue="TEXT-53" type="update" dev="chtompki">Prepare site for 
1.0 release</action>
+      <action issue="TEXT-56" type="add" dev="chtompki" due-to="Jarek 
Strzeleck">Move CvsTranslators out of StringEscapeUtils and make them 
DRY</action>
+      <action issue="TEXT-55" type="remove" dev="chtompki">Remove WordUtils to 
be added back in an upcoming 1.X release</action>
+      <action issue="TEXT-52" type="fix" dev="chtompki">Possible attacks 
through StringEscapeUtils.escapeEcmaScrip better javadoc</action>
+      <action issue="TEXT-51" type="remove" dev="chtompki">Remove 
RandomStringGenerator to be added back in the 1.1 release</action>
+      <action issue="TEXT-50" type="update" dev="chtompki">Upgrade from 
commons-parent version 41 to version 42</action>
+      <action issue="TEXT-40" type="add" dev="chtompki" due-to="Sampanna 
Kahu">Escape HTML characters only once</action>
+      <action issue="TEXT-37" type="fix" dev="djones">Global vs local source 
of randomness</action>
+      <action issue="TEXT-38" type="fix" dev="djones">Fluent API in 
"RandomStringBuilder"</action>
+      <action issue="TEXT-26" type="fix" dev="chtompki">Fix 
JaroWinklerDistance in the manner of LUCENE-1297</action>
+      <action issue="TEXT-32" type="add" dev="chtompki">Add LCS similarity and 
distance</action>
+      <action issue="TEXT-34" type="add" dev="djones">Add class to generate 
random strings</action>
+      <action issue="TEXT-35" type="fix" dev="kinow">Unfinished class Javadoc 
for CosineDistance</action>
+      <action issue="TEXT-33" type="update" dev="chtompki">Consolidating since 
tags at 1.0, removing deprecated methods</action>
+      <action issue="TEXT-29" type="add" dev="chtompki">Add a builder to 
StringEscapeUtils</action>
+      <action issue="TEXT-28" type="add" dev="chtompki">Add shell/XSI 
escape/unescape support</action>
+      <action issue="TEXT-22" type="fix" dev="chtompki">LevenshteinDistance 
reduce memory consumption</action>
+      <action issue="TEXT-31" type="remove" dev="chtompki">Remove 
org.apache.commons.text.names, for later release than 1.0</action>
+      <action issue="TEXT-2" type="add" dev="chtompki" due-to="Don Jeba">Add 
Jaccard Index and Jaccard Distance</action>
+      <action issue="TEXT-27" type="add" dev="chtompki">Move 
org.apache.commons.lang3.StringEscapeUtils.java into text</action>
+      <action issue="TEXT-23" type="add" dev="chtompki">Moving from 
commons-lang, the package org.apache.commons.lang3.text</action>
+      <action issue="TEXT-10" type="add" dev="kinow" due-to="Don Jeba">A more 
complex Levenshtein distance</action>
+      <action issue="TEXT-24" type="add" dev="chtompki">Add coveralls and 
Travis.ci integration</action>
+      <action issue="TEXT-19" type="add" dev="kinow" due-to="Eyal Allweil">Add 
alphabet converter</action>
+      <action issue="TEXT-13" type="add" dev="kinow">Create Commons Text 
logo</action>
+      <action issue="TEXT-16" type="update" dev="britter">Improve 
HumanNameParser</action>
+      <action issue="TEXT-5" type="fix" dev="kinow">IP clearance for the names 
package</action>
+      <action issue="TEXT-7" type="add" dev="kinow">Write user guide</action>
+      <action issue="TEXT-11" type="fix" dev="kinow">Work on the string 
metric, distance, and similarity definitions for the project</action>
+      <action issue="TEXT-15" type="add" dev="kinow">Human name parser</action>
+      <action issue="TEXT-12" type="fix" dev="kinow" due-to="Jonathan 
baker">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.</action>
+      <action issue="TEXT-3" type="add" dev="kinow">Add Cosine Similarity and 
Cosine Distance</action>
+      <action issue="TEXT-8" type="fix" dev="kinow" due-to="Jonathan 
Baker">Change (R) StringMetric.compare(CS left, CS right) to "apply" so that it 
is consistent with BiFunction.</action>
+      <action issue="TEXT-6" type="fix" dev="kinow" due-to="Jonathan 
Baker">Allow extra information (e.g. Levenshtein threshold) to be stored as 
(final) fields in the StringMetric instance.</action>
+      <action issue="TEXT-4" type="add" dev="kinow">Port Myers algorithm from 
[collections]</action>
+      <action issue="TEXT-1" type="add" dev="kinow">Add Hamming 
distance</action>
+      <action issue="TEXT-9" type="add" dev="kinow" 
due-to="britter">Incorporate String algorithms from Commons Lang</action>
+    </release>
   </body>
 </document>

Reply via email to