forked from apache/commons-text
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRELEASE-NOTES.txt
More file actions
526 lines (383 loc) · 22.1 KB
/
RELEASE-NOTES.txt
File metadata and controls
526 lines (383 loc) · 22.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
Apache Commons Text
Version 1.9
Release Notes
INTRODUCTION:
This document contains the release notes for the 1.9 version of Apache Commons Text.
Commons Text is a set of utility functions and reusable components for the purpose of processing
and manipulating text that should be of use in a Java environment.
Apache Commons Text is a library focused on algorithms working on strings.
Release 1.9. Requires Java 8.
Changes in this version include:
New features:
o Add StringMatcher.size(). Thanks to Gary Gregory.
o Refactor TextStringBuilder.readFrom(Readable), extracting readFrom(CharBuffer) and readFrom(Reader). Thanks to Gary Gregory.
o Add BiStringLookup and implementation BiFunctionStringLookup. Thanks to Gary Gregory.
o Add org.apache.commons.text.StringSubstitutor.StringSubstitutor(StringSubstitutor). Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.TextStringBuilder(CharSequence). Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.drainChar(int). Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.drainChars(int, int, char[]. int). Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.isNotEmpty(). Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.isReallocated(). Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.readFrom(Reader, int). Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.set(String). Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.wrap(char[]). Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.wrap(char[], int). Thanks to Gary Gregory.
o Add org.apache.commons.text.io.StringSubstitutorReader. Thanks to Gary Gregory.
o Add org.apache.commons.text.lookup.StringLookupFactory.functionStringLookup(Function<String, V>). Thanks to Gary Gregory.
o Add org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, int). Thanks to Gary Gregory.
o Add org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, int, int, int). Thanks to Gary Gregory.
o Add org.apache.commons.text.matcher.StringMatcherFactory.andMatcher(StringMatcher...). Thanks to Gary Gregory.
o Add org.apache.commons.text.matcher.StringMatcherFactory.stringMatcher(char...). Thanks to Gary Gregory.
Fixed Bugs:
o TEXT-166: Removed non-existing parameter from Javadocs and spelled out parameters in throws. Thanks to Mikko Maunu.
o TEXT-149: StringEscapeUtils.unescapeCsv doesn't remove quotes at begin and end of string. Thanks to Yuji Konishi.
o TEXT-174: ScriptStringLookup does not accept ":" #126. Thanks to furkilic.
o TEXT-178: StringSubstitutor incorrectly removes some escape characters. Thanks to Gary Gregory.
o TEXT-181: Fix Javadocs #135. Thanks to XenoAmess.
o TEXT-182: Fix typos #137. Thanks to XenoAmess.
o TEXT-183: Make ConstantStringLookup.constantCache final #136. Thanks to XenoAmess.
o TEXT-184: Simplify if in CaseUtils #134. Thanks to XenoAmess.
Changes:
o [javadoc] Fix compiler warnings in Java code example in Javadoc #124. Thanks to Johan Hammar.
o TEXT-177: Update from Apache Commons Lang 3.9 to 3.11. Thanks to Gary Gregory.
o [build] Skip clirr since we use JApiCmp. Thanks to Gary Gregory.
o [test] junit-jupiter 5.5.1 -> 5.5.2. Thanks to Gary Gregory.
o [test] org.assertj:assertj-core 3.13.2 -> 3.16.1. Thanks to Gary Gregory.
o [build] com.puppycrawl.tools:checkstyle 8.23 -> 8.34. Thanks to Gary Gregory.
o [build] Update JUnit from 5.5.2 to 5.6.2. Thanks to Gary Gregory.
o [build] commons.jacoco.version 0.8.4 -> 0.8.5. Thanks to Gary Gregory.
o [build] commons.javadoc.version 3.1.1 -> 3.2.0. Thanks to Gary Gregory.
o [build] commons.japicmp.version 0.14.1 -> 0.14.3. Thanks to Gary Gregory.
o [build] checkstyle.plugin.version 3.1.0 -> 3.1.1. Thanks to Gary Gregory.
o [build] checkstyle.version 8.27 -> 8.33. Thanks to Gary Gregory.
o [build] org.apache.commons:commons-parent 48 -> 51. Thanks to Gary Gregory.
o [build] maven-pmd-plugin 3.12.0 -> 3.13.0. Thanks to Gary Gregory.
o [build] org.mockito 3.3.3 -> 3.4.4. Thanks to Gary Gregory.
Historical list of changes: https://commons.apache.org/proper/commons-text/changes-report.html
For complete information on Apache Commons Text, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Text website:
https://commons.apache.org/proper/commons-text
Download page: https://commons.apache.org/proper/commons-text/download_text.cgi
Have fun!
-Apache Commons Team
=============================================================================
Apache Commons Text
Version 1.8
Release Notes
INTRODUCTION:
This document contains the release notes for the 1.8 version of Apache Commons Text.
Commons Text is a set of utility functions and reusable components for the purpose of processing
and manipulating text that should be of use in a Java environment.
Apache Commons Text is a library focused on algorithms working on strings.
Release 1.8
Changes in this version include:
- New Features
o TEXT-169: Add helper factory method org.apache.commons.text.StringSubstitutor.createInterpolator(). Thanks to Gary Gregory.
o TEXT-170: Add String lookup for host names and IP addresses (DnsStringLookup). Thanks to Gary Gregory.
- Fixed Bugs
o TEXT-167: commons-text web page missing "RELEASE-NOTES-1.7.txt". Thanks to Larry West.
o TEXT-168: (doc) Fixed wrong value for Jaro-Winkler example #117. Thanks to luksan47.
o TEXT-171: StringLookupFactory.addDefaultStringLookups(Map) does not convert keys to lower case. Thanks to Gary Gregory.
- Changes
o Expand Javadoc for StringSubstitutor and friends. Thanks to Gary Gregory.
o [site] checkstyle.version 8.21 -> 8.23. Thanks to Gary Gregory.
Historical list of changes: https://commons.apache.org/proper/commons-textchanges-report.html
For complete information on Apache Commons Text, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Text website:
https://commons.apache.org/proper/commons-text
Download it from https://commons.apache.org/proper/commons-text/download_text.cgi
=============================================================================
Apache Commons Text
Version 1.7
Release Notes
INTRODUCTION:
This document contains the release notes for the 1.7 version of Apache Commons Text.
Commons Text is a set of utility functions and reusable components for the purpose of processing
and manipulating text that should be of use in a Java environment.
Apache Commons Text is a library focused on algorithms working on strings.
Changes in this version include:
New features:
o TEXT-148: Add an enum to the lookup package that lists all StringLookups
o TEXT-127: Add a toggle to throw an exception when a variable is unknown in StringSubstitutor Thanks to Jean-Baptiste REICH, Sebb, Don Jeba, Gary Gregory.
o TEXT-138: TextStringBuilder append sub-sequence not consistent with Appendable. Thanks to Neal Johnson, Don Jeba.
o TEXT-152: Fix possible infinite loop in WordUtils.wrap for a regex pattern that would trigger on a match of 0 length Thanks to @CAPS50.
o TEXT-155: Add a generic IntersectionSimilarity measure
Fixed Bugs:
o TEXT-111: WordUtils.wrap must calculate offset increment from wrapOn pattern length Thanks to @CAPS50.
o TEXT-151: Fix the JaroWinklerSimilarity to use StringUtils.equals to test for CharSequence equality
o TEXT-165: ResourceBundleStringLookup.lookup(String) throws MissingResourceException instead of returning null.
Changes:
o TEXT-104: Jaro Winkler Distance refers to similarity Thanks to Sascha Szott.
o TEXT-153: Make prefixSet in LookupTranslator a BitSet Thanks to amirhadadi.
o TEXT-156: Fix the RegexTokenizer to use a static Pattern
o TEXT-157: Remove rounding from JaccardDistance and JaccardSimilarity
o TEXT-162: Update Apache Commons Lang from 3.8.1 to 3.9.
o Update tests from org.assertj:assertj-core 3.12.1 to 3.12.2.
o Update site from com.puppycrawl.tools:checkstyle 8.18 to 8.21.
Historical list of changes: https://commons.apache.org/proper/commons-text/changes-report.html
For complete information on Apache Commons Text, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Text website:
https://commons.apache.org/proper/commons-text
Download it from https://commons.apache.org/proper/commons-text/download_text.cgi
=============================================================================
Apache Commons Text
Version 1.6
Release Notes
INTRODUCTION
============
This document contains the release notes for the 1.6 version of Apache Commons
Text. Commons Text is a set of utility functions and reusable components for
the purpose of processing and manipulating text that should be of use in a Java
environment.
This component requires Java 8.
CHANGES
=======
o TEXT-144: Add the resource string bundle string lookup to the default set of lookups
o TEXT-145: Add StringLookupFactory methods for the URL encoder and decoder string lookups
o TEXT-146: org.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup() should reuse a singleton instance
o TEXT-147: Add a Base64 encoder string lookup.
Historical list of changes: https://commons.apache.org/proper/commons-text/changes-report.html
For complete information on Apache Commons Text, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Text website:
https://commons.apache.org/proper/commons-text
=============================================================================
Apache Commons Text
Version 1.5
Release Notes
INTRODUCTION
============
This document contains the release notes for the 1.5 version of Apache Commons
Text. Commons Text is a set of utility functions and reusable components for
the purpose of processing and manipulating text that should be of use in a Java
environment.
This component requires Java 8.
NEW FEATURES
============
o TEXT-133: Add a XML file XPath string lookup.
o TEXT-134: Add a Properties file string lookup.
o TEXT-135: Add a script string lookup.
o TEXT-136: Add a file string lookup.
o TEXT-137: Add a URL string lookup.
o TEXT-140: Add a Base64 string lookup.
o TEXT-141: Add org.apache.commons.text.lookup.StringLookupFactory.resourceBundleStringLookup(String).
o TEXT-142: Add URL encoder and decoder string lookups.
o TEXT-143: Add constant string lookup like the one in Apache Commons Configuration.
FIXED BUGS
==========
o TEXT-139: Improve JaccardSimilarity computational cost Thanks to Nick Wong.
o TEXT-118: JSON escaping incorrect for the delete control character Thanks to Nandor Kollar.
o TEXT-130: Fixes JaroWinklerDistance: Wrong results due to precision of transpositions Thanks to Jan Martin Keil.
o TEXT-131: JaroWinklerDistance: Calculation deviates from definition Thanks to Jan Martin Keil.
CHANGES
=======
o TEXT-132: Update Apache Commons Lang from 3.7 to 3.8.1
=============================================================================
Apache Commons Text
Version 1.4
Release Notes
INTRODUCTION
============
This document contains the release notes for the 1.4 version of Apache Commons
Text. Commons Text is a set of utility functions and reusable components for
the purpose of processing and manipulating text that should be of use in a Java
environment.
This component requires Java 8.
Changes in this version include:
Fixed Bugs:
o TEXT-120: StringEscapeUtils#unescapeJson does not unescape double quotes and forward slash.
o TEXT-119: Remove mention of SQL escaping from user guide.
o TEXT-123: WordUtils.wrap throws StringIndexOutOfBoundsException when wrapLength is Integer.MAX_VALUE. Thanks to Takanobu Asanuma.
Changes:
o TEXT-121: Update Java requirement from version 7 to 8. Thanks to pschumacher.
o TEXT-122: Allow full customization with new API org.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup(Map<String, StringLookup>, StringLookup, boolean).
=============================================================================
Apache Commons Text
Version 1.3
Release Notes
INTRODUCTION
============
This document contains the release notes for the 1.3 version of Apache Commons
Text. Commons Text is a set of utility functions and reusable components for
the purpose of processing and manipulating text that should be of use in a Java
environment.
This component requires Java 7.
NEW FEATURES
=============
o Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility Issue: TEXT-110.
o Add an interpolator string lookup: StringLookupFactory#interpolatorStringLookup() Issue: TEXT-113.
o Add a StrSubstitutor replacement based on interfaces: StringSubstitutor Issue: TEXT-114.
o Add a StrBuilder replacement based on the StringMatcher interface: TextStringBuilder Issue: TEXT-115.
o Add a StrTokenizer replacement based on the StringMatcher interface: StringTokenizer Issue: TEXT-116.
o Add a local host string lookup: LocalHostStringLookup Issue: TEXT-117.
FIXED BUGS
==========
o Build failure with java 9-ea+159 Issue: TEXT-70.
o StrLookup API confusing Issue: TEXT-80.
=============================================================================
Apache Commons Text
Version 1.2
Release Notes
INTRODUCTION
============
This document contains the release notes for the 1.2 version of Apache Commons
Text. Commons Text is a set of utility functions and reusable components for
the purpose of processing and manipulating text that should be of use in a Java
environment.
This component requires Java 7.
JAVA 9 SUPPORT
==============
At our time of release of 1.1, our build succeeds with Java 9-ea build 159,
and we believe all of our features to be Java 9 compatible. However, when we
run "mvn clean site" we have failures.
NEW FEATURES
=============
o TEXT-74: StrSubstitutor: Ability to turn off substitution in values. Thanks to Ioannis Sermetziadis.
o TEXT-97: RandomStringGenerator able to pass multiple ranges to .withinRange(). Thanks to Amey Jadiye.
o TEXT-89: WordUtils.initials support for UTF-16 surrogate pairs. Thanks to Arun Vinud S S.
o TEXT-90: Add CharacterPredicates for ASCII letters (uppercase/lowercase) and arabic numerals.
o TEXT-85: Added CaseUtils class with camel case conversion support. Thanks to Arun Vinud S S.
o TEXT-91: RandomStringGenerator should be able to generate a String with a random length.
o TEXT-102: Add StrLookup.resourceBundleLookup(ResourceBundle).
FIXED BUGS
==========
o TEXT-106: Exception thrown in ExtendedMessageFormat using quotes with custom registry. Thanks to Benoit Moreau.
o TEXT-100: StringEscapeUtils#UnEscapeJson doesn't recognize escape signs correctly. Thanks to Don Jeba.
o TEXT-105: Typo in LongestCommonSubsequence#logestCommonSubsequence. Thanks to Abrasha.
CHANGES
=======
o TEXT-107: Upversion commons-lang to 3.7.
o TEXT-98: Deprecate isDelimiter and use HashSets for delimiter checks. Thanks to Arun Vinud S S.
o TEXT-88: WordUtils should treat an empty delimiter array as no delimiters. Thanks to Amey Jadiye.
o TEXT-93: Update RandomStringGenerator to accept a list of valid characters. Thanks to Amey Jadiye.
o TEXT-92: Update commons-lang dependency to version 3.6.
o TEXT-83: Document that commons-csv should be used in preference to CsvTranslators. Thanks to Amey Jadiye.
o TEXT-67: NumericEntityUnescaper.options - fix TODO.
o TEXT-84: RandomStringGenerator claims to be immutable, but isn't.
=============================================================================
Release Notes for version 1.1
JAVA 9 SUPPORT
==============
At our time of release of 1.1, our build succeeds with Java 9-ea build 159,
and we believe all of our features to be Java 9 compatible. However, when we
run "mvn clean site" we have failures.
NEW FEATURES
============
o TEXT-41: WordUtils.abbreviate support Thanks to Amey Jadiye.
o TEXT-82: Putting WordUtils back in to the codebase Thanks to Amey Jadiye.
o TEXT-81: Add RandomStringGenerator Thanks to djones.
o TEXT-36: RandomStringGenerator: allow users to provide source of randomness
Thanks to Raymond DeCampo.
FIXED BUGS
==========
o TEXT-76: Correct round issue in Jaro Winkler implementation
o TEXT-72: Similar to LANG-1025, clirr fails site build.
CHANGES
=======
o TEXT-39: WordUtils should use toXxxxCase(int) rather than toXxxxCase(char)
Thanks to Amey Jadiye.
=============================================================================
Release Notes for version 1.0
INCOMPATIBLE CHANGES
====================
All package names changed from org.apache.commons.text.beta in 1.0-beta-1 to
org.apache.commons.text in 1.0.
Methods StringEscapeUtils#escapeHtml3Once and StringEscapeUtils#escapeHtml4Once
have been removed; see TEXT-40
JAVA 9 SUPPORT
==============
At our time of release of 1.0, our build succeeds with Java 9-ea build 158,
and we believe all of our features to be Java 9 compatible. However, when we run
"mvn clean site" we have failures.
FIXED BUGS
==========
o TEXT-64: Investigate locale issue in ExtendedMessageFormatTest. Thanks to
chtompki.
o TEXT-69: Resolve PMD/CMD Violations
o TEXT-65: Fixing the 200 checkstyle errors present in 1.0-beta-1.
o TEXT-63: Mutable fields should be private.
REMOVED
=======
o TEXT-40: Escape HTML characters only once: revert.
=============================================================================
Release Notes for version 1.0-beta-1
A NOTE ON THE HISTORY OF THE CODE
=================================
The codebase began in the fall of 2014 as a location for housing algorithms for
operating on Strings that seemed to have a more complex nature than those which
would be considered a needed extension to java.lang. Thus, a new component,
different from Apache Commons Lang was warranted. As the project evolved, it was
noticed that Commons Lang had considerable more text manipulation tools than
the average Java application developer would need or even want. So, we have
decided to move the more esoteric String processing algorithms out of Commons
Lang into Commons Text.
JAVA 9 SUPPORT
==============
At our time of release of 1.0-beta-1, our build succeeds with Java 9-ea build 153,
and we believe all of our features to be Java 9 compatible.
NEW FEATURES
============
o TEXT-56: Move CvsTranslators out of StringEscapeUtils and make them DRY
Thanks to Jarek Strzeleck.
o TEXT-40: Escape HTML characters only once Thanks to Sampanna Kahu.
o TEXT-32: Add LCS similarity and distance
o TEXT-34: Add class to generate random strings
o TEXT-29: Add a builder to StringEscapeUtils
o TEXT-28: Add shell/XSI escape/unescape support
o TEXT-2: Add Jaccard Index and Jaccard Distance Thanks to Don Jeba.
o TEXT-27: Move org.apache.commons.lang3.StringEscapeUtils.java into text
o TEXT-23: Moving from commons-lang, the package org.apache.commons.lang3.text
o TEXT-10: A more complex Levenshtein distance Thanks to Don Jeba.
o TEXT-24: Add coveralls and Travis.ci integration
o TEXT-19: Add alphabet converter Thanks to Eyal Allweil.
o TEXT-13: Create Commons Text logo
o TEXT-7: Write user guide
o TEXT-15: Human name parser
o TEXT-3: Add Cosine Similarity and Cosine Distance
o TEXT-4: Port Myers algorithm from [collections]
o TEXT-1: Add Hamming distance
o TEXT-9: Incorporate String algorithms from Commons Lang Thanks to britter.
FIXED BUGS
==========
Note. We recognize the curiosity of a new component having "fixed bugs," but a
considerable number of files were migrated over from Commons Lang, some of which
needed fixes.
o TEXT-62: Incorporate suggestions from RC2 into 1.0 release.
o TEXT-60: Upgrading Jacoco for Java 9-ea compatibility. Thanks to Lee Adcock.
o TEXT-52: Possible attacks through StringEscapeUtils.escapeEcmaScrip better
javadoc
o TEXT-37: Global vs local source of randomness
o TEXT-38: Fluent API in "RandomStringBuilder"
o TEXT-26: Fix JaroWinklerDistance in the manner of LUCENE-1297
o TEXT-35: Unfinished class Javadoc for CosineDistance
o TEXT-22: LevenshteinDistance reduce memory consumption
o TEXT-5: IP clearance for the names package
o TEXT-11: Work on the string metric, distance, and similarity definitions for
the project
o TEXT-12: Create StringDistanceFrom class that contains a StringMetric and
the "left" side string. This would have a method that accepts the
"right" side string to test. Thanks to Jonathan baker.
o TEXT-8: Change (R) StringMetric.compare(CS left, CS right) to "apply" so
that it is consistent with BiFunction. Thanks to Jonathan Baker.
o TEXT-6: Allow extra information (e.g. Levenshtein threshold) to be stored
as (final) fields in the StringMetric instance. Thanks to Jonathan
Baker.
CHANGES
=======
o TEXT-61: Naming packages org.apache.commons.text.beta Thanks to Lee Adcock.
o TEXT-58: Refactor EntityArrays to have unmodifiableMaps in leu of String[][]
o TEXT-53: Prepare site for 1.0 release
o TEXT-50: Upgrade from commons-parent version 41 to version 42
o TEXT-33: Consolidating since tags at 1.0, removing deprecated methods
o TEXT-16: Improve HumanNameParser
REMOVED
=======
o TEXT-55: Remove WordUtils to be added back in an upcoming 1.X release
o TEXT-51: Remove RandomStringGenerator to be added back in the 1.1 release
o TEXT-31: Remove org.apache.commons.text.names, for later release than 1.0
Historical list of changes: https://commons.apache.org/text/changes-report.html
For complete information on Apache Commons Text, including instructions on how
to submit bug reports, patches, or suggestions for improvement, see the Apache
Apache Commons Text website:
https://commons.apache.org/text/
Have fun!
-Apache Commons Text team