pax_global_header 0000666 0000000 0000000 00000000064 14516750743 0014526 g ustar 00root root 0000000 0000000 52 comment=d5e8a73e7b9e06f71a5c66576b428e6c34b3c684
commons-text-rel-commons-text-1.11.0/ 0000775 0000000 0000000 00000000000 14516750743 0017456 5 ustar 00root root 0000000 0000000 commons-text-rel-commons-text-1.11.0/.asf.yaml 0000664 0000000 0000000 00000002530 14516750743 0021171 0 ustar 00root root 0000000 0000000 # Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
github:
description: "Apache Commons Text"
homepage: https://commons.apache.org/text/
notifications:
commits: commits@commons.apache.org
issues: issues@commons.apache.org
pullrequests: issues@commons.apache.org
jira_options: link label
jobs: notifications@commons.apache.org
issues_bot_dependabot: notifications@commons.apache.org
pullrequests_bot_dependabot: notifications@commons.apache.org
issues_bot_codecov-commenter: notifications@commons.apache.org
pullrequests_bot_codecov-commenter: notifications@commons.apache.org
commons-text-rel-commons-text-1.11.0/.github/ 0000775 0000000 0000000 00000000000 14516750743 0021016 5 ustar 00root root 0000000 0000000 commons-text-rel-commons-text-1.11.0/.github/GH-ROBOTS.txt 0000664 0000000 0000000 00000001633 14516750743 0023066 0 ustar 00root root 0000000 0000000 # Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Keeps on creating FUD PRs in test code
# Does not follow Apache disclosure policies
User-agent: JLLeitschuh/security-research
Disallow: *
commons-text-rel-commons-text-1.11.0/.github/dependabot.yml 0000664 0000000 0000000 00000002006 14516750743 0023644 0 ustar 00root root 0000000 0000000 # Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
version: 2
updates:
- package-ecosystem: "maven"
directory: "/"
schedule:
interval: "weekly"
day: "friday"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "friday"
commons-text-rel-commons-text-1.11.0/.github/workflows/ 0000775 0000000 0000000 00000000000 14516750743 0023053 5 ustar 00root root 0000000 0000000 commons-text-rel-commons-text-1.11.0/.github/workflows/codeql-analysis.yml 0000664 0000000 0000000 00000006151 14516750743 0026671 0 ustar 00root root 0000000 0000000 # Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '33 9 * * 4'
permissions:
contents: read
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'java' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
steps:
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
persist-credentials: false
- uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@49abf0ba24d0b7953cb586944e918a0b92074c80 # v2.22.4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@49abf0ba24d0b7953cb586944e918a0b92074c80 # v2.22.4
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@49abf0ba24d0b7953cb586944e918a0b92074c80 # v2.22.4
commons-text-rel-commons-text-1.11.0/.github/workflows/coverage.yml 0000664 0000000 0000000 00000003454 14516750743 0025377 0 ustar 00root root 0000000 0000000 # Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Coverage
on: [push, pull_request]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ 8 ]
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
persist-credentials: false
- uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3.13.0
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Build with Maven
run: mvn --show-version --batch-mode --no-transfer-progress test jacoco:report
- name: Upload coverage to Codecov
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
with:
files: ./target/site/jacoco/jacoco.xml
commons-text-rel-commons-text-1.11.0/.github/workflows/maven.yml 0000664 0000000 0000000 00000003236 14516750743 0024710 0 ustar 00root root 0000000 0000000 # Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Java CI
on: [push, pull_request]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental }}
strategy:
matrix:
java: [ 8, 11, 17, 21 ]
experimental: [false]
include:
- java: 22-ea
experimental: true
# include:
# - java: 22-ea
# experimental: true
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
persist-credentials: false
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3.13.0
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Build with Maven
run: mvn --show-version --batch-mode --no-transfer-progress -Dpolyglot.engine.WarnInterpreterOnly=false
commons-text-rel-commons-text-1.11.0/.github/workflows/scorecards-analysis.yml 0000664 0000000 0000000 00000004745 14516750743 0027561 0 ustar 00root root 0000000 0000000 # Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache license, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the license for the specific language governing permissions and
# limitations under the license.
name: "Scorecards supply-chain security"
on:
branch_protection_rule:
schedule:
- cron: "30 1 * * 6" # Weekly on Saturdays
push:
branches: [ "master" ]
permissions: read-all
jobs:
analysis:
name: "Scorecards analysis"
runs-on: ubuntu-latest
permissions:
# Needed to upload the results to the code-scanning dashboard.
security-events: write
actions: read
id-token: write # This is required for requesting the JWT
contents: read # This is required for actions/checkout
steps:
- name: "Checkout code"
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
persist-credentials: false
- name: "Run analysis"
uses: ossf/scorecard-action@483ef80eb98fb506c348f7d62e28055e49fe2398 # 2.3.0
with:
results_file: results.sarif
results_format: sarif
# A read-only PAT token, which is sufficient for the action to function.
# The relevant discussion: https://github.com/ossf/scorecard-action/issues/188
repo_token: ${{ secrets.GITHUB_TOKEN }}
# Publish the results for public repositories to enable scorecard badges.
# For more details: https://github.com/ossf/scorecard-action#publishing-results
publish_results: true
- name: "Upload artifact"
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # 3.1.3
with:
name: SARIF file
path: results.sarif
retention-days: 5
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@49abf0ba24d0b7953cb586944e918a0b92074c80 # 2.22.4
with:
sarif_file: results.sarif
commons-text-rel-commons-text-1.11.0/.gitignore 0000664 0000000 0000000 00000000324 14516750743 0021445 0 ustar 00root root 0000000 0000000 # Maven build files
target
*.log
maven-eclipse.xml
build.properties
site-content
*~
# IntelliJ IDEA files
.idea
.iws
*.iml
*.ipr
# Eclipse files
.settings
.classpath
.project
.externalToolBuilders
/.checkstyle
commons-text-rel-commons-text-1.11.0/CODE_OF_CONDUCT.md 0000664 0000000 0000000 00000001641 14516750743 0022257 0 ustar 00root root 0000000 0000000
The Apache code of conduct page is [https://www.apache.org/foundation/policies/conduct.html](https://www.apache.org/foundation/policies/conduct.html).
commons-text-rel-commons-text-1.11.0/CONTRIBUTING.md 0000664 0000000 0000000 00000014566 14516750743 0021723 0 ustar 00root root 0000000 0000000
Contributing to Apache Commons Text
======================
You have found a bug or you have an idea for a cool new feature? Contributing code is a great way to give something back to
the open source community. Before you dig right into the code there are a few guidelines that we need contributors to
follow so that we can have a chance of keeping on top of things.
Getting Started
---------------
+ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
+ Make sure you have a [GitHub account](https://github.com/signup/free).
+ If you're planning to implement a new feature it makes sense to discuss your changes on the [dev list](https://commons.apache.org/mail-lists.html) first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache Commons Text's scope.
+ Submit a [Jira Ticket][jira] for your issue, assuming one does not already exist.
+ Clearly describe the issue including steps to reproduce when it is a bug.
+ Make sure you fill in the earliest version that you know has the issue.
+ Find the corresponding [repository on GitHub](https://github.com/apache/?query=commons-),
[fork](https://help.github.com/articles/fork-a-repo/) and check out your forked repository.
Making Changes
--------------
+ Create a _topic branch_ for your isolated work.
* Usually you should base your branch on the `master` branch.
* A good topic branch name can be the JIRA bug id plus a keyword, e.g. `TEXT-123-InputStream`.
* If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests.
+ Make commits of logical units.
* Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue.
* e.g. `TEXT-123: Close input stream earlier`
+ Respect the original code style:
+ Only use spaces for indentation.
+ Create minimal diffs - disable _On Save_ actions like _Reformat Source Code_ or _Organize Imports_. If you feel the source code should be reformatted create a separate PR for this change first.
+ Check for unnecessary whitespace with `git diff` -- check before committing.
+ Make sure you have added the necessary tests for your changes, typically in `src/test/java`.
+ Run all the tests with `mvn clean verify` to assure nothing else was accidentally broken.
Making Trivial Changes
----------------------
The JIRA tickets are used to generate the changelog for the next release.
For changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA.
In this case, it is appropriate to start the first line of a commit with '(doc)' instead of a ticket number.
Submitting Changes
------------------
+ Sign and submit the Apache [Contributor License Agreement][cla] if you haven't already.
* Note that small patches & typical bug fixes do not require a CLA as
clause 5 of the [Apache License](https://www.apache.org/licenses/LICENSE-2.0.html#contributions)
covers them.
+ Push your changes to a topic branch in your fork of the repository.
+ Submit a _Pull Request_ to the corresponding repository in the `apache` organization.
* Verify _Files Changed_ shows only your intended changes and does not
include additional files like `target/*.class`
+ Update your JIRA ticket and include a link to the pull request in the ticket.
If you prefer to not use GitHub, then you can instead use
`git format-patch` (or `svn diff`) and attach the patch file to the JIRA issue.
Additional Resources
--------------------
+ [Contributing patches](https://commons.apache.org/patches.html)
+ [Apache Commons Text JIRA project page][jira]
+ [Contributor License Agreement][cla]
+ [General GitHub documentation](https://help.github.com/)
+ [GitHub pull request documentation](https://help.github.com/articles/creating-a-pull-request/)
+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
+ `#apache-commons` IRC channel on `irc.freenode.net`
[cla]:https://www.apache.org/licenses/#clas
[jira]:https://issues.apache.org/jira/browse/TEXT
commons-text-rel-commons-text-1.11.0/LICENSE.txt 0000664 0000000 0000000 00000026136 14516750743 0021311 0 ustar 00root root 0000000 0000000
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
commons-text-rel-commons-text-1.11.0/NOTICE.txt 0000664 0000000 0000000 00000000256 14516750743 0021203 0 ustar 00root root 0000000 0000000 Apache Commons Text
Copyright 2014-2023 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (https://www.apache.org/).
commons-text-rel-commons-text-1.11.0/README.md 0000664 0000000 0000000 00000014536 14516750743 0020746 0 ustar 00root root 0000000 0000000
Apache Commons Text
===================
[](https://github.com/apache/commons-text/actions/workflows/maven.yml)
[](https://app.codecov.io/gh/apache/commons-text)
[](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-text/?gav=true)
[](https://javadoc.io/doc/org.apache.commons/commons-text/1.11.0)
[](https://github.com/apache/commons-text/actions/workflows/codeql-analysis.yml)
[](https://api.securityscorecards.dev/projects/github.com/apache/commons-text)
Apache Commons Text is a library focused on algorithms working on strings.
Documentation
-------------
More information can be found on the [Apache Commons Text homepage](https://commons.apache.org/proper/commons-text).
The [Javadoc](https://commons.apache.org/proper/commons-text/apidocs) can be browsed.
Questions related to the usage of Apache Commons Text should be posted to the [user mailing list][ml].
Getting the latest release
--------------------------
You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-text/download_text.cgi).
Alternatively, you can pull it from the central Maven repositories:
```xml
org.apache.commonscommons-text1.11.0
```
Building
--------
Building requires a Java JDK and [Apache Maven](https://maven.apache.org/).
The required Java version is found in the `pom.xml` as the `maven.compiler.source` property.
From a command shell, run `mvn` without arguments to invoke the default Maven goal to run all tests and checks.
Contributing
------------
We accept Pull Requests via GitHub. The [developer mailing list](https://commons.apache.org/mail-lists.html) is the main channel of communication for contributors.
There are some guidelines which will make applying PRs easier for us:
+ No tabs! Please use spaces for indentation.
+ Respect the existing code style for each file.
+ Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
+ Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running ```mvn```.
If you plan to contribute on a regular basis, please consider filing a [contributor license agreement](https://www.apache.org/licenses/#clas).
You can learn more about contributing via GitHub in our [contribution guidelines](CONTRIBUTING.md).
License
-------
This code is licensed under the [Apache License v2](https://www.apache.org/licenses/LICENSE-2.0).
See the `NOTICE.txt` file for required notices and attributions.
Donating
--------
You like Apache Commons Text? Then [donate back to the ASF](https://www.apache.org/foundation/contributing.html) to support development.
Additional Resources
--------------------
+ [Apache Commons Homepage](https://commons.apache.org/)
+ [Apache Issue Tracker (JIRA)](https://issues.apache.org/jira/browse/TEXT)
+ [Apache Commons Slack Channel](https://the-asf.slack.com/archives/C60NVB8AD)
+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
+ `#apache-commons` IRC channel on `irc.freenode.org`
Apache Commons Components
-------------------------
Please see the [list of components](https://commons.apache.org/components.html)
commons-text-rel-commons-text-1.11.0/RELEASE-NOTES.txt 0000664 0000000 0000000 00000105302 14516750743 0022166 0 ustar 00root root 0000000 0000000
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Apache Commons Text
Version 1.11.0
Release Notes
INTRODUCTION:
This document contains the release notes for the 1.11.0 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.11.0. Requires Java 8.
Changes in this version include:
New features:
o TEXT-224: Set SecureProcessing feature in XmlStringLookup by default. Thanks to PJ Fanning, Gary Gregory.
o TEXT-224: Add StringLookupFactory.xmlStringLookup(Map...). Thanks to Gary Gregory.
o Add @FunctionalInterface to FormatFactory. Thanks to Gary Gregory.
o Add RandomStringGenerator.builder(). Thanks to Gary Gregory.
o TEXT-229: Add XmlEncoderStringLookup/XmlDecoderStringLookup #449. Thanks to Michael Osipov, Elliotte Rusty Harold, Gary Gregory.
o Add StringSubstitutor.toString(). Thanks to Gary Gregory.
Fixed Bugs:
o TEXT-219: Fix StringTokenizer.getTokenList to return an independent modifiable list Thanks to Jaap Sperling.
o Fix Javadoc for StringEscapeUtils.escapeHtml4 #382 Thanks to James Nord.
o TextStringBuidler#hashCode() allocates a String on each call #387. Thanks to Pavel Belousov, Gary Gregory.
o TEXT-221: Fix Bundle-SymbolicName to use the package name org.apache.commons.text Thanks to Remco Riswick.
o Add and use a package-private singleton for RegexTokenizer. Thanks to Gary Gregory.
o Add and use a package-private singleton for CosineSimilarity. Thanks to Gary Gregory.
o Add and use a package-private singleton for LongestCommonSubsequence. Thanks to Gary Gregory.
o Add and use a package-private singleton for JaroWinklerSimilarity. Thanks to Gary Gregory.
o Add and use a package-private singleton for JaccardSimilarity. Thanks to Gary Gregory.
o [StepSecurity] ci: Harden GitHub Actions #428. Thanks to step-security-bot, Gary Gregory.
o Improve AlphabetConverter Javadoc #429. Thanks to Dimitrios Efthymiou.
o Fix exception message in IntersectionResult to make set-theoretic sense #438. Thanks to Dimitrios Efthymiou.
o Add null-check in RandomStringGenerator#Builder#selectFrom() to avoid NullPointerException #434. Thanks to Dimitrios Efthymiou, Gary Gregory.
o Add null-check in RandomStringGenerator#Builder#withinRange() to avoid NullPointerException. Thanks to Dimitrios Efthymiou, Gary Gregory.
o TEXT-228: Fix TextStringBuilder to over-allocate when ensuring capacity #452. Thanks to Alex Herbert, Gary Gregory.
o Constructor for ResourceBundleStringLookup should be private instead of package-private. Thanks to Elliotte Rusty Harold, Gary Gregory.
o Constructor for UrlDecoderStringLookup should be private instead of package-private. Thanks to Elliotte Rusty Harold, Gary Gregory.
o Constructor for UrlEncoderStringLookup should be private instead of package-private. Thanks to Elliotte Rusty Harold, Gary Gregory.
o TEXT-230: Javadoc of org.apache.commons.text.lookup.DefaultStringLookup.XML is incorrect. Thanks to Michael Osipov, Gary Gregory.
o Update DoubleFormat to state it is based on Double.toString. #467. Thanks to Alex Herbert.
Changes:
o Bump actions/cache. Thanks to Dependabot.
o Bump actions/setup-java. Thanks to Dependabot.
o Bump actions/checkout. Thanks to Dependabot.
o Bump pmd from 6.49.0 to 6.52.0 #364. Thanks to Dependabot, Gary Gregory.
o Bump commons-rng-simple from 1.4 to 1.5 #370. Thanks to Dependabot.
o Bump spotbugs-maven-plugin from 4.7.2.0 to 4.7.3.6 #371, #385. Thanks to Dependabot, Gary Gregory.
o Bump spotbugs from 4.7.2 to 4.7.3 #373. Thanks to Dependabot.
o Bump mockito-inline from 4.8.0 to 4.11.0 #380, #389, #396, #400. Thanks to Dependabot.
o Bump jmh.version from 1.35 to 1.37 #388. Thanks to Dependabot.
o Bump commons-parent from 54 to 64 #392, #401. Thanks to Gary Gregory.
o Bump assertj-core from 3.23.1 to 3.24.2 #405, #410. Thanks to Dependabot.
o Bump maven-checkstyle-plugin from 3.2.0 to 3.2.1 #407. Thanks to Dependabot.
o Bump commons-io from 2.11.0 to 2.14.0. Thanks to Gary Gregory.
o Bump commons-lang3 from 3.12.0 to 3.13.0. 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 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.10.0
Release Notes
INTRODUCTION:
This document contains the release notes for the 1.10.0 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.10.0. Requires Java 8.
Changes in this version include:
New features:
o TEXT-207: Add DoubleFormat utility.
o TEXT-190: Document negative limit for WordUtils abbreviate method Thanks to Benjamin Bing.
o TEXT-188: Speed up LevenshteinDistance with threshold by exiting early Thanks to Jakob Vesterstrm.
o TEXT-185: Release Notes page hasn't been updated for 1.9 release yet. Thanks to Larry West, Gary Gregory.
o Add StrBuilder.isNotEmpty(). Thanks to Gary Gregory.
Fixed Bugs:
o TEXT-189: Fix CaseUtils when the input string contains only delimiters Thanks to Gongpu Zhu.
o TEXT-187: Add GraalVM test dependencies to fix test failures with Java 15.
o TEXT-158: Incorrect values for Jaccard similarity with empty strings.
o TEXT-186: StringSubstitutor map constructor throws NPE on 1.9 with null map. Thanks to Gautam Korlam, Gary Gregory.
o TEXT-191: JaroWinklerDistance returns the same values as JaroWinklerSimilarity. Thanks to Bradley David Rumball.
o Correct Javadoc in FileStringLookup. Thanks to Gary Gregory.
o Minor Improvements #192, #196. Thanks to Arturo Bernal.
o TEXT-194: Use StringUtils.INDEX_NOT_FOUND constant. Thanks to Arturo Bernal.
o TEXT-199: Remove redundant local variable. Thanks to Arturo Bernal.
o TEXT-198: Replace lambda with method reference. Thanks to Arturo Bernal.
o TEXT-200: Simplify statements. Thanks to Arturo Bernal.
o TEXT-197: Replace statement lambda with expression lambda. Thanks to Arturo Bernal.
o TEXT-204: Use static class inner class in tests. Thanks to Arturo Bernal.
o TEXT-201: Simplify assertion. Thanks to Arturo Bernal.
o TEXT-202: Extract duplicate code. Thanks to Arturo Bernal.
o TEXT-205: Set void return method. Thanks to Arturo Bernal.
o Remove unused exception from TextStringBuilder.readFrom(CharBuffer). This preserves binary compatibility but not source compatibility. Thanks to Gary Gregory.
o StrBuilder.StrBuilderReader.skip(long): Throw an exception when an implicit narrowing conversion in a compound assignment would result in information loss or a numeric error such as an overflows. Thanks to CodeQL, Gary Gregory.
o 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. Thanks to CodeQL, Gary Gregory.
o TEXT-211: TextStringBuilder.equals whatever the capacity is #281. Thanks to sebx59.
o TEXT=212: A More Efficient Implementation for Calculating Size of Longest Common Subsequence. Thanks to Ali Ghanbari.
o TEXT-209: LookupTranslator returns count of chars consumed, not of codepoints consumed. Thanks to fourAjeff.
o TEXT-209: Use Math.min() call instead of doing it manually. #335. Thanks to Arturo Bernal.
o TextStringBuilder: Throw OutOfMemoryError instead of NegativeArraySizeException. Thanks to ValentijnvdBeek, Gary Gregory.
o TextStringBuilder: Can't grow to sizes up to Integer.MAX_VALUE. Thanks to ValentijnvdBeek, Gary Gregory.
o 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.
Changes:
o Bump actions/setup-java from v1.4.0 to 3 #147, #156, #155, #172, #215, #314. Thanks to Dependabot.
o Bump github/codeql-action from 1 to 2 #319. Thanks to Dependabot.
o 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. Thanks to Dependabot.
o 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. Thanks to Gary Gregory, Dependabot.
o Bump spotbugs from 4.1.3 to 4.7.2 #175, 189, #209, #218, #247, #256, #264, #275, #284, #289, #296, #306, #355. Thanks to Gary Gregory, Dependabot.
o 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. Thanks to Dependabot.
o Bump junit-jupiter from 5.6.2 to 5.9.1 #163, #204, #232, #265, #269, #288, #343, #357. Thanks to Dependabot.
o Bump assertj-core from 3.16.1 to 3.23.1 #151, #157, #160, #178, #184, #199, #244, #267, #294. Thanks to Dependabot, Gary Gregory.
o Bump commons-io from 2.7 to 2.11.0 #161 #251. Thanks to Dependabot, Gary Gregory.
o Bump commons-parent from 51 to 54 #145, #358. Thanks to Dependabot, Gary Gregory.
o Bump maven-pmd-plugin from 3.13.0 to 3.19.0 #186, #263, #302, #334, #349, #353. Thanks to Dependabot.
o Bump pmd from 6.42.0 to 6.46.0. Thanks to Gary Gregory.
o Bump graalvm.version from 20.2.0 to 22.0.0.2 #185, #198, #206, #227, #252, #276, #295, #300. Thanks to Dependabot.
o Bump commons.japicmp.version from 0.14.3 to 0.16.0. Thanks to Gary Gregory.
o Bump commons.jacoco.version 0.8.5 to 0.8.8; fixes Java 15 build. Thanks to Gary Gregory.
o Bump maven-checkstyle-plugin from 3.1.1 to 3.2.0 #202, #348. Thanks to Dependabot.
o Bump commons-lang3 3.11 -> 3.12.0. Thanks to Gary Gregory.
o Bump commons.javadoc.version from 3.2.0 to 3.4.1. Thanks to Gary Gregory.
o Bump commons.project-info.version from 3.1.0 to 3.1.2. Thanks to Gary Gregory.
o Bump jmh.version from 1.32 to 1.35 #254, #292, #313. Thanks to Dependabot.
o Bump commons-rng-simple from 1.3 to 1.4 #266. Thanks to Dependabot.
o Bump taglist-maven-plugin from 2.4 to 3.0.0 #297. Thanks to Dependabot.
o Bump commons.pmd-impl.version from 6.44.0 to 6.49.0 #323, #336, #345, #350. Thanks to Dependabot.
o Bump exec-maven-plugin from 3.0.0 to 3.1.0 #340. Thanks to Dependabot.
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 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.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). 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 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 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 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 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, 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 commons-text-rel-commons-text-1.11.0/SECURITY.md 0000664 0000000 0000000 00000001604 14516750743 0021250 0 ustar 00root root 0000000 0000000
The Apache Commons security page is [https://commons.apache.org/security.html](https://commons.apache.org/security.html).
commons-text-rel-commons-text-1.11.0/pom.xml 0000664 0000000 0000000 00000044141 14516750743 0020777 0 ustar 00root root 0000000 0000000
4.0.0org.apache.commonscommons-parent64commons-text1.11.0Apache Commons TextApache Commons Text is a library focused on algorithms working on strings.https://commons.apache.org/proper/commons-textISO-8859-1UTF-81.81.8texttextorg.apache.commons.text1.11.01.11.1(Java 8+)TEXT12318221texthttps://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-textsite-content1.14.94.11.022.0.0.21.5false1.371.10.0RC1truescm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}org.apache.commonscommons-lang33.13.0org.junit.jupiterjunit-jupitertestnet.bytebuddybyte-buddy${commons.bytebuddy.version}testnet.bytebuddybyte-buddy-agent${commons.bytebuddy.version}testorg.assertjassertj-core3.24.2testcommons-iocommons-io2.14.0testorg.mockitomockito-inline${commons.mockito.version}testorg.graalvm.jsjs${graalvm.version}testorg.graalvm.jsjs-scriptengine${graalvm.version}testorg.apache.commonscommons-rng-simple${commons.rng.version}testorg.openjdk.jmhjmh-core${jmh.version}testorg.openjdk.jmhjmh-generator-annprocess${jmh.version}testclean verify apache-rat:check japicmp:cmp checkstyle:check spotbugs:check javadoc:javadocorg.apache.ratapache-rat-pluginsite-content/**src/site/resources/download_lang.cgisrc/test/resources/org/apache/commons/text/stringEscapeUtilsTestData.txtsrc/test/resources/org/apache/commons/text/lcs-perf-analysis-inputs.csvsrc/site/resources/release-notes/RELEASE-NOTES-*.txtmaven-pmd-plugin${commons.pmd.version}${maven.compiler.target}maven-checkstyle-pluginfalsesrc/conf/checkstyle.xmlsrc/conf/checkstyle-header.txtsrc/conf/checkstyle-suppressions.xmlsrc/conf/checkstyle-suppressions.xmltrue**/generated/**.java,**/jmh_generated/**.javacom.github.spotbugsspotbugs-maven-pluginsrc/conf/spotbugs-exclude-filter.xmlmaven-assembly-pluginsrc/assembly/bin.xmlsrc/assembly/src.xmlgnuorg.apache.maven.pluginsmaven-jar-plugintest-jar${commons.module.name}org.apache.maven.pluginsmaven-scm-publish-pluginjavadocsorg.apache.maven.pluginsmaven-javadoc-plugin${maven.compiler.source}maven-checkstyle-pluginfalsesrc/conf/checkstyle.xmlsrc/conf/checkstyle-header.txtsrc/conf/checkstyle-suppressions.xmlsrc/conf/checkstyle-suppressions.xmltrue**/generated/**.java,**/jmh_generated/**.javacheckstylecom.github.spotbugsspotbugs-maven-pluginsrc/conf/spotbugs-exclude-filter.xmlcom.github.siom79.japicmpjapicmp-maven-pluginmaven-pmd-plugin${maven.compiler.target}pmdcpdorg.codehaus.mojotaglist-maven-plugin3.0.0Needs WorkTODOexactFIXMEexactXXXexactNoteable MarkersNOTEexactNOPMDexactNOSONARexact2014kinowBruno P. Kinoshitakinow@apache.orgbritterBenedikt Ritterbritter@apache.orgchtompkiRob Tompkinschtompki@apache.orgggregoryGary Gregoryggregory at apache.orghttps://www.garygregory.comThe Apache Software Foundationhttps://www.apache.org/PMC MemberAmerica/New_Yorkhttps://people.apache.org/~ggregory/img/garydgregory80.pngdjonesDuncan Jonesdjones@apache.orgDon Jebadonjeba@yahoo.comSampanna KahuJarek StrzeleckiLee AdcockAmey Jadiyeameyjadiye@gmail.comArun Vinud S SIoannis SermetziadisJostein TveitLuciano MedalliaJan Martin KeilNandor KollarNick WongAli Ghanbarihttps://ali-ghanbari.github.io/scm:git:https://gitbox.apache.org/repos/asf/commons-textscm:git:https://gitbox.apache.org/repos/asf/commons-texthttps://gitbox.apache.org/repos/asf?p=commons-text.gitjirahttps://issues.apache.org/jira/browse/TEXTapache.websiteApache Commons Sitescm:svn:https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-text/setup-checkoutsite-contentorg.apache.maven.pluginsmaven-antrun-pluginprepare-checkoutrunpre-sitebenchmarktrueorg.apacheorg.codehaus.mojoexec-maven-plugin3.1.0benchmarktestexectestjava-classpathorg.openjdk.jmh.Main-rfjson-rfftarget/jmh-result.${benchmark}.json${benchmark}
commons-text-rel-commons-text-1.11.0/src/ 0000775 0000000 0000000 00000000000 14516750743 0020245 5 ustar 00root root 0000000 0000000 commons-text-rel-commons-text-1.11.0/src/assembly/ 0000775 0000000 0000000 00000000000 14516750743 0022064 5 ustar 00root root 0000000 0000000 commons-text-rel-commons-text-1.11.0/src/assembly/bin.xml 0000664 0000000 0000000 00000003061 14516750743 0023356 0 ustar 00root root 0000000 0000000
bintar.gzzipfalseLICENSE.txtNOTICE.txtRELEASE-NOTES.txttarget*.jartarget/site/apidocsapidocs
commons-text-rel-commons-text-1.11.0/src/assembly/src.xml 0000664 0000000 0000000 00000003315 14516750743 0023377 0 ustar 00root root 0000000 0000000
srctar.gzzip${project.artifactId}-${commons.release.version}-srccheckstyle.xmlcheckstyle-suppressions.xmlCONTRIBUTING.mdsb-excludes.xmlLICENSE.txtcheckstyle-header.txtNOTICE.txtpom.xmlPROPOSAL.htmlREADME.mdRELEASE-NOTES.txtsrc
commons-text-rel-commons-text-1.11.0/src/changes/ 0000775 0000000 0000000 00000000000 14516750743 0021655 5 ustar 00root root 0000000 0000000 commons-text-rel-commons-text-1.11.0/src/changes/changes.xml 0000664 0000000 0000000 00000117042 14516750743 0024014 0 ustar 00root root 0000000 0000000
Apache Commons Text ChangesFix StringTokenizer.getTokenList to return an independent modifiable listFix Javadoc for StringEscapeUtils.escapeHtml4 #382TextStringBuidler#hashCode() allocates a String on each call #387.Fix Bundle-SymbolicName to use the package name org.apache.commons.textAdd and use a package-private singleton for RegexTokenizer.Add and use a package-private singleton for CosineSimilarity.Add and use a package-private singleton for LongestCommonSubsequence.Add and use a package-private singleton for JaroWinklerSimilarity.Add and use a package-private singleton for JaccardSimilarity.[StepSecurity] ci: Harden GitHub Actions #428.Improve AlphabetConverter Javadoc #429.Fix exception message in IntersectionResult to make set-theoretic sense #438.Add null-check in RandomStringGenerator#Builder#selectFrom() to avoid NullPointerException #434.Add null-check in RandomStringGenerator#Builder#withinRange() to avoid NullPointerException.Fix TextStringBuilder to over-allocate when ensuring capacity #452.Constructor for ResourceBundleStringLookup should be private instead of package-private.Constructor for UrlDecoderStringLookup should be private instead of package-private.Constructor for UrlEncoderStringLookup should be private instead of package-private.Javadoc of org.apache.commons.text.lookup.DefaultStringLookup.XML is incorrect.Update DoubleFormat to state it is based on Double.toString. #467.Set SecureProcessing feature in XmlStringLookup by default.Add StringLookupFactory.xmlStringLookup(Map<String, Boolean>...).Add @FunctionalInterface to FormatFactory.Add RandomStringGenerator.builder().Add XmlEncoderStringLookup/XmlDecoderStringLookup #449.Add StringSubstitutor.toString().Bump actions/cache.Bump actions/setup-java.Bump actions/checkout.Bump pmd from 6.49.0 to 6.52.0 #364.Bump commons-rng-simple from 1.4 to 1.5 #370.Bump spotbugs-maven-plugin from 4.7.2.0 to 4.7.3.6 #371, #385.Bump spotbugs from 4.7.2 to 4.7.3 #373.Bump mockito-inline from 4.8.0 to 4.11.0 #380, #389, #396, #400.Bump jmh.version from 1.35 to 1.37 #388.Bump commons-parent from 54 to 64 #392, #401.Bump assertj-core from 3.23.1 to 3.24.2 #405, #410.Bump maven-checkstyle-plugin from 3.2.0 to 3.2.1 #407.Bump commons-io from 2.11.0 to 2.14.0.Bump commons-lang3 from 3.12.0 to 3.13.0.Fix CaseUtils when the input string contains only delimitersAdd GraalVM test dependencies to fix test failures with Java 15.Incorrect values for Jaccard similarity with empty strings.StringSubstitutor map constructor throws NPE on 1.9 with null map.JaroWinklerDistance returns the same values as JaroWinklerSimilarity.Correct Javadoc in FileStringLookup.Minor Improvements #192, #196.Use StringUtils.INDEX_NOT_FOUND constant.Remove redundant local variable.Replace lambda with method reference.Simplify statements.Replace statement lambda with expression lambda.Use static class inner class in tests.Simplify assertion.Extract duplicate code.Set void return method.Remove unused exception from TextStringBuilder.readFrom(CharBuffer). This preserves binary compatibility but not source compatibility.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.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.TextStringBuilder.equals whatever the capacity is #281.A More Efficient Implementation for Calculating Size of Longest Common Subsequence.LookupTranslator returns count of chars consumed, not of codepoints consumed.Use Math.min() call instead of doing it manually. #335.TextStringBuilder: Throw OutOfMemoryError instead of NegativeArraySizeException.TextStringBuilder: Can't grow to sizes up to Integer.MAX_VALUE.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.Add DoubleFormat utility.Document negative limit for WordUtils abbreviate methodSpeed up LevenshteinDistance with threshold by exiting earlyRelease Notes page hasn't been updated for 1.9 release yet.Add StrBuilder.isNotEmpty().Bump actions/setup-java from v1.4.0 to 3 #147, #156, #155, #172, #215, #314.Bump github/codeql-action from 1 to 2 #319.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.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.Bump spotbugs from 4.1.3 to 4.7.2 #175, 189, #209, #218, #247, #256, #264, #275, #284, #289, #296, #306, #355.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.Bump junit-jupiter from 5.6.2 to 5.9.1 #163, #204, #232, #265, #269, #288, #343, #357.Bump assertj-core from 3.16.1 to 3.23.1 #151, #157, #160, #178, #184, #199, #244, #267, #294.Bump commons-io from 2.7 to 2.11.0 #161 #251.Bump commons-parent from 51 to 54 #145, #358.Bump maven-pmd-plugin from 3.13.0 to 3.19.0 #186, #263, #302, #334, #349, #353.Bump pmd from 6.42.0 to 6.46.0.Bump graalvm.version from 20.2.0 to 22.0.0.2 #185, #198, #206, #227, #252, #276, #295, #300.Bump commons.japicmp.version from 0.14.3 to 0.16.0.Bump commons.jacoco.version 0.8.5 to 0.8.8; fixes Java 15 build.Bump maven-checkstyle-plugin from 3.1.1 to 3.2.0 #202, #348.Bump commons-lang3 3.11 -> 3.12.0.Bump commons.javadoc.version from 3.2.0 to 3.4.1.Bump commons.project-info.version from 3.1.0 to 3.1.2.Bump jmh.version from 1.32 to 1.35 #254, #292, #313.Bump commons-rng-simple from 1.3 to 1.4 #266.Bump taglist-maven-plugin from 2.4 to 3.0.0 #297.Bump commons.pmd-impl.version from 6.44.0 to 6.49.0 #323, #336, #345, #350.Bump exec-maven-plugin from 3.0.0 to 3.1.0 #340.Removed non-existing parameter from Javadocs and spelled out parameters in throws.StringEscapeUtils.unescapeCsv doesn't remove quotes at begin and end of string.ScriptStringLookup does not accept ":" #126.StringSubstitutor incorrectly removes some escape characters.Fix Javadocs #135.Fix typos #137.Make ConstantStringLookup.constantCache final #136.Simplify if in CaseUtils #134.[javadoc] Fix compiler warnings in Java code example in Javadoc #124.Update from Apache Commons Lang 3.9 to 3.11.Add StringMatcher.size().Refactor TextStringBuilder.readFrom(Readable), extracting readFrom(CharBuffer) and readFrom(Reader).Add BiStringLookup and implementation BiFunctionStringLookup.Add org.apache.commons.text.StringSubstitutor.StringSubstitutor(StringSubstitutor).Add org.apache.commons.text.TextStringBuilder.TextStringBuilder(CharSequence).Add org.apache.commons.text.TextStringBuilder.drainChar(int).Add org.apache.commons.text.TextStringBuilder.drainChars(int, int, char[]. int).Add org.apache.commons.text.TextStringBuilder.isNotEmpty().Add org.apache.commons.text.TextStringBuilder.isReallocated().Add org.apache.commons.text.TextStringBuilder.readFrom(Reader, int).Add org.apache.commons.text.TextStringBuilder.set(String).Add org.apache.commons.text.TextStringBuilder.wrap(char[]).Add org.apache.commons.text.TextStringBuilder.wrap(char[], int).Add org.apache.commons.text.io.StringSubstitutorReader.Add org.apache.commons.text.lookup.StringLookupFactory.functionStringLookup(Function<String, V>).Add org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, int).Add org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, int, int, int).Add org.apache.commons.text.matcher.StringMatcherFactory.andMatcher(StringMatcher...).Add org.apache.commons.text.matcher.StringMatcherFactory.stringMatcher(char...).[build] Skip clirr since we use JApiCmp.[test] junit-jupiter 5.5.1 -> 5.5.2.[test] org.assertj:assertj-core 3.13.2 -> 3.16.1.[build] com.puppycrawl.tools:checkstyle 8.23 -> 8.34.[build] Update JUnit from 5.5.2 to 5.6.2.[build] commons.jacoco.version 0.8.4 -> 0.8.5.[build] commons.javadoc.version 3.1.1 -> 3.2.0.[build] commons.japicmp.version 0.14.1 -> 0.14.3.[build] checkstyle.plugin.version 3.1.0 -> 3.1.1.[build] checkstyle.version 8.27 -> 8.33.[build] org.apache.commons:commons-parent 48 -> 51.[build] maven-pmd-plugin 3.12.0 -> 3.13.0.[build] org.mockito 3.3.3 -> 3.4.4.commons-text web page missing "RELEASE-NOTES-1.7.txt"(doc) Fixed wrong value for Jaro-Winkler example #117Add helper factory method org.apache.commons.text.StringSubstitutor.createInterpolator().Add String lookup for host names and IP addresses (DnsStringLookup).StringLookupFactory.addDefaultStringLookups(Map) does not convert keys to lower case.Expand Javadoc for StringSubstitutor and friends.[site] checkstyle.version 8.21 -> 8.23.WordUtils.wrap must calculate offset increment from wrapOn pattern lengthJaro Winkler Distance refers to similarityAdd an enum to the lookup package that lists all StringLookupsAdd a toggle to throw an exception when a variable is unknown in StringSubstitutorTextStringBuilder append sub-sequence not consistent with Appendable.Fix possible infinite loop in WordUtils.wrap for a regex pattern that would trigger on a match of 0 lengthMake prefixSet in LookupTranslator a BitSetFix the RegexTokenizer to use a static PatternRemove rounding from JaccardDistance and JaccardSimilarityFix the JaroWinklerSimilarity to use StringUtils.equals to test for CharSequence equalityAdd a generic IntersectionSimilarity measureUpdate Apache Commons Lang from 3.8.1 to 3.9.ResourceBundleStringLookup.lookup(String) throws MissingResourceException instead of returning null.Update tests from org.assertj:assertj-core 3.12.1 to 3.12.2.Update site from com.puppycrawl.tools:checkstyle 8.18 to 8.21.Add the resource string bundle string lookup to the default set of lookupsAdd StringLookupFactory methods for the URL encoder and decoder string lookupsorg.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup() should reuse a singleton instanceAdd a Base64 encoder string lookup.Improve JaccardSimilarity computational costJSON escaping incorrect for the delete control characterFixes JaroWinklerDistance: Wrong results due to precision of transpositionsJaroWinklerDistance: Calculation deviates from definitionUpdate Apache Commons Lang from 3.7 to 3.8.1Add a XML file XPath string lookup.Add a Properties file string lookup.Add a script string lookup.Add a file string lookup.Add a URL string lookup.Add a Base64 string lookup.Add org.apache.commons.text.lookup.StringLookupFactory.resourceBundleStringLookup(String).Add URL encoder and decoder string lookups.Add constant string lookup like the one in Apache Commons Configuration.StringEscapeUtils#unescapeJson does not unescape double quotes and forward slashRemove mention of SQL escaping from user guideUpdate Java requirement from version 7 to 8.Allow full customization with new API org.apache.commons.text.lookup.StringLookupFactory.interpolatorStringLookup(Map<String, StringLookup>, StringLookup, boolean).WordUtils.wrap throws StringIndexOutOfBoundsException when wrapLength is Integer.MAX_VALUE.Add Automatic-Module-Name MANIFEST entry for Java 9 compatibilityBuild failure with java 9-ea+159Add an interpolator string lookup: StringLookupFactory#interpolatorStringLookup()Add a StrSubstitutor replacement based on interfaces: StringSubstitutorAdd a StrBuilder replacement based on the StringMatcher interface: TextStringBuilderAdd a StrTokenizer replacement based on the StringMatcher interface: StringTokenizerAdd a local host string lookup: LocalHostStringLookupStrLookup API confusingUpversion commons-lang to 3.7Exception thrown in ExtendedMessageFormat using quotes with custom registryStringEscapeUtils#UnEscapeJson doesn't recognize escape signs correctlyStrSubstitutor: Ability to turn off substitution in valuesRandomStringGenerator able to pass multiple ranges to .withinRange()Deprecate isDelimiter and use HashSets for delimiter checksWordUtils.initials support for UTF-16 surrogate pairsWordUtils should treat an empty delimiter array as no delimitersUpdate RandomStringGenerator to accept a list of valid charactersAdd CharacterPredicates for ASCII letters (uppercase/lowercase) and arabic numeralsAdded CaseUtils class with camel case conversion supportRandomStringGenerator should be able to generate a String with a random lengthUpdate commons-lang dependency to version 3.6Document that commons-csv should be used in preference to CsvTranslatorsNumericEntityUnescaper.options - fix TODORandomStringGenerator claims to be immutable, but isn'tAdd StrLookup.resourceBundleLookup(ResourceBundle)Typo in LongestCommonSubsequence#logestCommonSubsequenceWordUtils should use toXxxxCase(int) rather than toXxxxCase(char)WordUtils.abbreviate supportPutting WordUtils back in to the codebaseAdd RandomStringGeneratorRandomStringGenerator: allow users to provide source of randomnessCorrect round issue in Jaro Winkler implementationSimilar to LANG-1025, clirr fails site build.Investigate locale issue in ExtendedMessageFormatTestResolve PMD/CMD ViolationsEscape HTML characters only once: revertFixing the 200 checkstyle errors present in 1.0-beta-1Mutable fields should be privateIncorporate suggestions from RC2 into 1.0 releaseNaming packages org.apache.commons.text.betaUpgrading Jacoco for Java 9-ea compatibility.Refactor EntityArrays to have unmodifiableMaps in leu of String[][]Prepare site for 1.0 releaseMove CvsTranslators out of StringEscapeUtils and make them DRYRemove WordUtils to be added back in an upcoming 1.X releasePossible attacks through StringEscapeUtils.escapeEcmaScrip better javadocRemove RandomStringGenerator to be added back in the 1.1 releaseUpgrade from commons-parent version 41 to version 42Escape HTML characters only onceGlobal vs local source of randomnessFluent API in "RandomStringBuilder"Fix JaroWinklerDistance in the manner of LUCENE-1297Add LCS similarity and distanceAdd class to generate random stringsUnfinished class Javadoc for CosineDistanceConsolidating since tags at 1.0, removing deprecated methodsAdd a builder to StringEscapeUtilsAdd shell/XSI escape/unescape supportLevenshteinDistance reduce memory consumptionRemove org.apache.commons.text.names, for later release than 1.0Add Jaccard Index and Jaccard DistanceMove org.apache.commons.lang3.StringEscapeUtils.java into textMoving from commons-lang, the package org.apache.commons.lang3.textA more complex Levenshtein distanceAdd coveralls and Travis.ci integrationAdd alphabet converterCreate Commons Text logoImprove HumanNameParserIP clearance for the names packageWrite user guideWork on the string metric, distance, and similarity definitions for the projectHuman name parserCreate StringDistanceFrom class that contains a StringMetric and the "left" side string. This would have a method that accepts the "right" side string to test.Add Cosine Similarity and Cosine DistanceChange (R) StringMetric.compare(CS left, CS right) to "apply" so that it is consistent with BiFunction.Allow extra information (e.g. Levenshtein threshold) to be stored as (final) fields in the StringMetric instance.Port Myers algorithm from [collections]Add Hamming distanceIncorporate String algorithms from Commons Lang
commons-text-rel-commons-text-1.11.0/src/changes/release-notes.vm 0000664 0000000 0000000 00000010676 14516750743 0025001 0 ustar 00root root 0000000 0000000 ## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements. See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership. The ASF licenses this file
## to you under the Apache License, Version 2.0 (the
## "License"); you may not use this file except in compliance
## with the License. You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing,
## software distributed under the License is distributed on an
## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
## KIND, either express or implied. See the License for the
## specific language governing permissions and limitations
## under the License.
##
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
${project.name}
Version ${version}
Release Notes
INTRODUCTION:
This document contains the release notes for the ${version} 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.
$introduction.replaceAll("(?