You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@opennlp.apache.org by Martin Wiesner <ma...@apache.org> on 2026/07/21 13:04:15 UTC

[VOTE] Apache OpenNLP 3.0.0-M5 (RC1)

Hi all,

I have posted a first release candidate for the Apache OpenNLP 3.0.0-M5 release and it is ready for testing.

The 3.x release line of Apache OpenNLP introduces no known breaking changes while significantly modularizing the project to improve library usage and future extensibility.
The core API remains stable and fully compatible with 2.x, so existing projects can continue using the opennlp-tools artifact without modifications.

######
This milestone delivers 33 resolved issues, headlined by a major overhaul of Unicode handling and text normalization.

The centerpiece of this release is a new Unicode-aware normalization and tokenization stack. A new normalization engine (CharClass, Dimension, and confusables support) is paired with an offset/alignment layer (Alignment, AlignedText) that correctly tracks character offsets through length-changing folds such as expansions and contractions. On top of this, OpenNLP now ships a UAX #29 compliant word tokenizer (WordSegmenter, WordTokenizer, WordType), a layered Term model with TermAnalyzer, and a per-language NormalizationProfile registry. Full Unicode case folding has been added to text normalization, whitespace handling is now aligned with the Unicode White_Space property, and the deep-learning components support offset-safe input normalization. A new emoji annotation layer is wired into the Sentiment, Name Finder, and Doccat components, with offset-aware bidirectional emoji and emoticon expansion/contraction.

Performance and robustness also received attention: legacy CharSequenceNormalizers replace regex matching with cursor scans, Tag patterns are precompiled to avoid repeated compilation, and normalization/tokenization hot paths saw non-breaking performance improvements. Stemmers are now thread-safe, with a new StemmerFactory and per-thread stem caching, and previously unexecuted stemmer tests have been brought back into the build.

On the security side, class instantiation in GeneratorFactory, StreamFactory, and StringInterners is now allowlist-based, and deserialization in BaseModel has been hardened.

Housekeeping updates include moving to Apache Parent 39, JUnit 6.1.2, gRPC 1.82.2, ONNX Runtime 1.27.0, and Log4j 2.26.1, plus a fix to the binary distribution LICENSE to include the BSD section for the bundled stopword lists. Documentation improvements cover the Entity Linker framework, the BioNLP converter, and a new Dev Manual section on Unicode normalization and the UAX #29 tokenizer.
######

Thank you to everyone who contributed to this release, including all of our users and the people who submitted bug reports, contributed code or documentation enhancements.

The release was made using the OpenNLP release process, documented on the website:
https://opennlp.apache.org/release.html

Maven Repo:
https://repository.apache.org/content/repositories/orgapacheopennlp-1071

<repositories>
<repository>
<id>opennlp-3.0.0-M5-RC1</id>
<name>Testing OpenNLP 3.0.0-M5 release candidate</name>
<url>
https://repository.apache.org/content/repositories/orgapacheopennlp-1071
</url>
</repository>
</repositories>

Binaries & Source:

https://dist.apache.org/repos/dist/dev/opennlp/opennlp-3.0.0-M5-rc1/

Tag:

https://github.com/apache/opennlp/releases/tag/opennlp-3.0.0-M5

Tag Hash: 936db0e9b79c9150afcf2c06e107b2b958ab536d

Release notes:

https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311215&version=12357221

The results of the eval tests for the aforementioned tag can be found
here: https://ci-builds.apache.org/job/OpenNLP/job/eval-tests-releases/36/

Reminder: The up-2-date KEYS file for signature verification can be
found here: https://dist.apache.org/repos/dist/release/opennlp/KEYS

Checklist for reference:

[ ] Both source (tar.gz/zip) and binary artifacts (tar.gz/zip) are present, along with .asc and .sha512 files for each.
[ ] PGP signatures are valid for the release artifacts using the KEYS file from dist.apache.org
[ ] SHA512 checksums are correct and verified.
[ ] LICENSE and NOTICE files exist and are accurate.
[ ] No unexpected binary files in the source release.
[ ] All source files have appropriate ASF headers (excluding generated files and legacy files).
[ ] Build completes successfully from source and the instruction to do so are clear.

Please vote on releasing these packages as Apache OpenNLP 3.0.0-M5
The vote is open for at least the next 72 hours.

Only votes from OpenNLP PMC are binding, but everyone is welcome to
check the release candidate and vote.
The vote passes if at least three binding +1 votes are cast.

Please VOTE

[+1] go ship it
[+0] meh, don't care
[-1] stop, there is a ${showstopper}

Thanks!
Martin | mawiesne

Re: [VOTE] Apache OpenNLP 3.0.0-M5 (RC1)

Posted by Martin Wiesner <ma...@apache.org>.
Here’s my own +1 (binding)

Best
Martin

> Am 23.07.2026 um 14:33 schrieb Jeff Zemerick <jz...@apache.org>:
> 
> +1
> 
> Looks good. Thanks for the release.
> 
> On Wed, Jul 22, 2026 at 9:57 AM Richard Zowalla <rz...@apache.org> wrote:
>> 
>> +1 (binding)
>> 
>> Verified OpenNLP 3.0.0-M5 RC1 on macOS, JDK 25 / Maven 3.9.16:
>> 
>> [X] Artifacts: all 4 (src tar.gz/zip, bin tar.gz/zip) present, each with .asc and .sha512
>> [X] PGP: all 4 signatures Good, signed by Martin Wiesner <ma...@apache.org>, key present in KEYS
>> [X] SHA512: all 4 recomputed and matched
>> [X] LICENSE/NOTICE present and accurate in both src and bin. NOTICE covers Snowball,
>>    stopwords (BSD/Savoy), WordPiece (MIT), SymSpell (MIT), LIBSVM/zlibsvm, Unicode UCD 17.0.0.
>>    Confirmed the binary LICENSE now includes the BSD stopword-lists section.
>> [X] No unexpected binaries in the source release (only doc PNGs, small chunker .bin test
>>    models, and morfologik test dictionaries; no jars/classes/native libs)
>> [X] ASF headers: all source files carry the AL header except the BSD Snowball stemmers,
>>    which are covered by NOTICE/LICENSE and listed in rat-excludes
>> [X] Build completes from source: `mvn install` -> BUILD SUCCESS, README are clear.
>> 
>> Additional checks:
>> - Tag opennlp-3.0.0-M5 dereferences to commit 936db0e9b79c9150afcf2c06e107b2b958ab536d,
>>  matching the vote email.
>> - Binary CLI runs; bin dist ships the new modular jars.
>> - Nexus staging repo (orgapacheopennlp-1071) is populated with signed artifacts.
>> 
>> Minor nit (non-blocking): the source release omits .mvn/wrapper/, so the bundled ./mvnw
>> does not work standalone (we missed to create the issue last time I guess :))
>> 
>> The README correctly instructs `mvn install`, so building works
>> as documented.
>> 
>> Thanks for driving the release, Martin!
>> 
>> Gruß
>> Richard
>> 
>>> Am 21.07.2026 um 15:04 schrieb Martin Wiesner <ma...@apache.org>:
>>> 
>>> Hi all,
>>> 
>>> I have posted a first release candidate for the Apache OpenNLP 3.0.0-M5 release and it is ready for testing.
>>> 
>>> The 3.x release line of Apache OpenNLP introduces no known breaking changes while significantly modularizing the project to improve library usage and future extensibility.
>>> The core API remains stable and fully compatible with 2.x, so existing projects can continue using the opennlp-tools artifact without modifications.
>>> 
>>> ######
>>> This milestone delivers 33 resolved issues, headlined by a major overhaul of Unicode handling and text normalization.
>>> 
>>> The centerpiece of this release is a new Unicode-aware normalization and tokenization stack. A new normalization engine (CharClass, Dimension, and confusables support) is paired with an offset/alignment layer (Alignment, AlignedText) that correctly tracks character offsets through length-changing folds such as expansions and contractions. On top of this, OpenNLP now ships a UAX #29 compliant word tokenizer (WordSegmenter, WordTokenizer, WordType), a layered Term model with TermAnalyzer, and a per-language NormalizationProfile registry. Full Unicode case folding has been added to text normalization, whitespace handling is now aligned with the Unicode White_Space property, and the deep-learning components support offset-safe input normalization. A new emoji annotation layer is wired into the Sentiment, Name Finder, and Doccat components, with offset-aware bidirectional emoji and emoticon expansion/contraction.
>>> 
>>> Performance and robustness also received attention: legacy CharSequenceNormalizers replace regex matching with cursor scans, Tag patterns are precompiled to avoid repeated compilation, and normalization/tokenization hot paths saw non-breaking performance improvements. Stemmers are now thread-safe, with a new StemmerFactory and per-thread stem caching, and previously unexecuted stemmer tests have been brought back into the build.
>>> 
>>> On the security side, class instantiation in GeneratorFactory, StreamFactory, and StringInterners is now allowlist-based, and deserialization in BaseModel has been hardened.
>>> 
>>> Housekeeping updates include moving to Apache Parent 39, JUnit 6.1.2, gRPC 1.82.2, ONNX Runtime 1.27.0, and Log4j 2.26.1, plus a fix to the binary distribution LICENSE to include the BSD section for the bundled stopword lists. Documentation improvements cover the Entity Linker framework, the BioNLP converter, and a new Dev Manual section on Unicode normalization and the UAX #29 tokenizer.
>>> ######
>>> 
>>> Thank you to everyone who contributed to this release, including all of our users and the people who submitted bug reports, contributed code or documentation enhancements.
>>> 
>>> The release was made using the OpenNLP release process, documented on the website:
>>> https://opennlp.apache.org/release.html
>>> 
>>> Maven Repo:
>>> https://repository.apache.org/content/repositories/orgapacheopennlp-1071
>>> 
>>> <repositories>
>>> <repository>
>>> <id>opennlp-3.0.0-M5-RC1</id>
>>> <name>Testing OpenNLP 3.0.0-M5 release candidate</name>
>>> <url>
>>> https://repository.apache.org/content/repositories/orgapacheopennlp-1071
>>> </url>
>>> </repository>
>>> </repositories>
>>> 
>>> Binaries & Source:
>>> 
>>> https://dist.apache.org/repos/dist/dev/opennlp/opennlp-3.0.0-M5-rc1/
>>> 
>>> Tag:
>>> 
>>> https://github.com/apache/opennlp/releases/tag/opennlp-3.0.0-M5
>>> 
>>> Tag Hash: 936db0e9b79c9150afcf2c06e107b2b958ab536d
>>> 
>>> Release notes:
>>> 
>>> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311215&version=12357221
>>> 
>>> The results of the eval tests for the aforementioned tag can be found
>>> here: https://ci-builds.apache.org/job/OpenNLP/job/eval-tests-releases/36/
>>> 
>>> Reminder: The up-2-date KEYS file for signature verification can be
>>> found here: https://dist.apache.org/repos/dist/release/opennlp/KEYS
>>> 
>>> Checklist for reference:
>>> 
>>> [ ] Both source (tar.gz/zip) and binary artifacts (tar.gz/zip) are present, along with .asc and .sha512 files for each.
>>> [ ] PGP signatures are valid for the release artifacts using the KEYS file from dist.apache.org
>>> [ ] SHA512 checksums are correct and verified.
>>> [ ] LICENSE and NOTICE files exist and are accurate.
>>> [ ] No unexpected binary files in the source release.
>>> [ ] All source files have appropriate ASF headers (excluding generated files and legacy files).
>>> [ ] Build completes successfully from source and the instruction to do so are clear.
>>> 
>>> Please vote on releasing these packages as Apache OpenNLP 3.0.0-M5
>>> The vote is open for at least the next 72 hours.
>>> 
>>> Only votes from OpenNLP PMC are binding, but everyone is welcome to
>>> check the release candidate and vote.
>>> The vote passes if at least three binding +1 votes are cast.
>>> 
>>> Please VOTE
>>> 
>>> [+1] go ship it
>>> [+0] meh, don't care
>>> [-1] stop, there is a ${showstopper}
>>> 
>>> Thanks!
>>> Martin | mawiesne
>> 


Re: [VOTE] Apache OpenNLP 3.0.0-M5 (RC1)

Posted by Jeff Zemerick <jz...@apache.org>.
+1

Looks good. Thanks for the release.

On Wed, Jul 22, 2026 at 9:57 AM Richard Zowalla <rz...@apache.org> wrote:
>
> +1 (binding)
>
> Verified OpenNLP 3.0.0-M5 RC1 on macOS, JDK 25 / Maven 3.9.16:
>
> [X] Artifacts: all 4 (src tar.gz/zip, bin tar.gz/zip) present, each with .asc and .sha512
> [X] PGP: all 4 signatures Good, signed by Martin Wiesner <ma...@apache.org>, key present in KEYS
> [X] SHA512: all 4 recomputed and matched
> [X] LICENSE/NOTICE present and accurate in both src and bin. NOTICE covers Snowball,
>     stopwords (BSD/Savoy), WordPiece (MIT), SymSpell (MIT), LIBSVM/zlibsvm, Unicode UCD 17.0.0.
>     Confirmed the binary LICENSE now includes the BSD stopword-lists section.
> [X] No unexpected binaries in the source release (only doc PNGs, small chunker .bin test
>     models, and morfologik test dictionaries; no jars/classes/native libs)
> [X] ASF headers: all source files carry the AL header except the BSD Snowball stemmers,
>     which are covered by NOTICE/LICENSE and listed in rat-excludes
> [X] Build completes from source: `mvn install` -> BUILD SUCCESS, README are clear.
>
> Additional checks:
> - Tag opennlp-3.0.0-M5 dereferences to commit 936db0e9b79c9150afcf2c06e107b2b958ab536d,
>   matching the vote email.
> - Binary CLI runs; bin dist ships the new modular jars.
> - Nexus staging repo (orgapacheopennlp-1071) is populated with signed artifacts.
>
> Minor nit (non-blocking): the source release omits .mvn/wrapper/, so the bundled ./mvnw
> does not work standalone (we missed to create the issue last time I guess :))
>
> The README correctly instructs `mvn install`, so building works
> as documented.
>
> Thanks for driving the release, Martin!
>
> Gruß
> Richard
>
> > Am 21.07.2026 um 15:04 schrieb Martin Wiesner <ma...@apache.org>:
> >
> > Hi all,
> >
> > I have posted a first release candidate for the Apache OpenNLP 3.0.0-M5 release and it is ready for testing.
> >
> > The 3.x release line of Apache OpenNLP introduces no known breaking changes while significantly modularizing the project to improve library usage and future extensibility.
> > The core API remains stable and fully compatible with 2.x, so existing projects can continue using the opennlp-tools artifact without modifications.
> >
> > ######
> > This milestone delivers 33 resolved issues, headlined by a major overhaul of Unicode handling and text normalization.
> >
> > The centerpiece of this release is a new Unicode-aware normalization and tokenization stack. A new normalization engine (CharClass, Dimension, and confusables support) is paired with an offset/alignment layer (Alignment, AlignedText) that correctly tracks character offsets through length-changing folds such as expansions and contractions. On top of this, OpenNLP now ships a UAX #29 compliant word tokenizer (WordSegmenter, WordTokenizer, WordType), a layered Term model with TermAnalyzer, and a per-language NormalizationProfile registry. Full Unicode case folding has been added to text normalization, whitespace handling is now aligned with the Unicode White_Space property, and the deep-learning components support offset-safe input normalization. A new emoji annotation layer is wired into the Sentiment, Name Finder, and Doccat components, with offset-aware bidirectional emoji and emoticon expansion/contraction.
> >
> > Performance and robustness also received attention: legacy CharSequenceNormalizers replace regex matching with cursor scans, Tag patterns are precompiled to avoid repeated compilation, and normalization/tokenization hot paths saw non-breaking performance improvements. Stemmers are now thread-safe, with a new StemmerFactory and per-thread stem caching, and previously unexecuted stemmer tests have been brought back into the build.
> >
> > On the security side, class instantiation in GeneratorFactory, StreamFactory, and StringInterners is now allowlist-based, and deserialization in BaseModel has been hardened.
> >
> > Housekeeping updates include moving to Apache Parent 39, JUnit 6.1.2, gRPC 1.82.2, ONNX Runtime 1.27.0, and Log4j 2.26.1, plus a fix to the binary distribution LICENSE to include the BSD section for the bundled stopword lists. Documentation improvements cover the Entity Linker framework, the BioNLP converter, and a new Dev Manual section on Unicode normalization and the UAX #29 tokenizer.
> > ######
> >
> > Thank you to everyone who contributed to this release, including all of our users and the people who submitted bug reports, contributed code or documentation enhancements.
> >
> > The release was made using the OpenNLP release process, documented on the website:
> > https://opennlp.apache.org/release.html
> >
> > Maven Repo:
> > https://repository.apache.org/content/repositories/orgapacheopennlp-1071
> >
> > <repositories>
> > <repository>
> > <id>opennlp-3.0.0-M5-RC1</id>
> > <name>Testing OpenNLP 3.0.0-M5 release candidate</name>
> > <url>
> > https://repository.apache.org/content/repositories/orgapacheopennlp-1071
> > </url>
> > </repository>
> > </repositories>
> >
> > Binaries & Source:
> >
> > https://dist.apache.org/repos/dist/dev/opennlp/opennlp-3.0.0-M5-rc1/
> >
> > Tag:
> >
> > https://github.com/apache/opennlp/releases/tag/opennlp-3.0.0-M5
> >
> > Tag Hash: 936db0e9b79c9150afcf2c06e107b2b958ab536d
> >
> > Release notes:
> >
> > https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311215&version=12357221
> >
> > The results of the eval tests for the aforementioned tag can be found
> > here: https://ci-builds.apache.org/job/OpenNLP/job/eval-tests-releases/36/
> >
> > Reminder: The up-2-date KEYS file for signature verification can be
> > found here: https://dist.apache.org/repos/dist/release/opennlp/KEYS
> >
> > Checklist for reference:
> >
> > [ ] Both source (tar.gz/zip) and binary artifacts (tar.gz/zip) are present, along with .asc and .sha512 files for each.
> > [ ] PGP signatures are valid for the release artifacts using the KEYS file from dist.apache.org
> > [ ] SHA512 checksums are correct and verified.
> > [ ] LICENSE and NOTICE files exist and are accurate.
> > [ ] No unexpected binary files in the source release.
> > [ ] All source files have appropriate ASF headers (excluding generated files and legacy files).
> > [ ] Build completes successfully from source and the instruction to do so are clear.
> >
> > Please vote on releasing these packages as Apache OpenNLP 3.0.0-M5
> > The vote is open for at least the next 72 hours.
> >
> > Only votes from OpenNLP PMC are binding, but everyone is welcome to
> > check the release candidate and vote.
> > The vote passes if at least three binding +1 votes are cast.
> >
> > Please VOTE
> >
> > [+1] go ship it
> > [+0] meh, don't care
> > [-1] stop, there is a ${showstopper}
> >
> > Thanks!
> > Martin | mawiesne
>

Re: [VOTE] Apache OpenNLP 3.0.0-M5 (RC1)

Posted by Richard Zowalla <rz...@apache.org>.
+1 (binding)

Verified OpenNLP 3.0.0-M5 RC1 on macOS, JDK 25 / Maven 3.9.16:

[X] Artifacts: all 4 (src tar.gz/zip, bin tar.gz/zip) present, each with .asc and .sha512
[X] PGP: all 4 signatures Good, signed by Martin Wiesner <ma...@apache.org>, key present in KEYS
[X] SHA512: all 4 recomputed and matched
[X] LICENSE/NOTICE present and accurate in both src and bin. NOTICE covers Snowball,
    stopwords (BSD/Savoy), WordPiece (MIT), SymSpell (MIT), LIBSVM/zlibsvm, Unicode UCD 17.0.0.
    Confirmed the binary LICENSE now includes the BSD stopword-lists section.
[X] No unexpected binaries in the source release (only doc PNGs, small chunker .bin test
    models, and morfologik test dictionaries; no jars/classes/native libs)
[X] ASF headers: all source files carry the AL header except the BSD Snowball stemmers,
    which are covered by NOTICE/LICENSE and listed in rat-excludes
[X] Build completes from source: `mvn install` -> BUILD SUCCESS, README are clear.

Additional checks:
- Tag opennlp-3.0.0-M5 dereferences to commit 936db0e9b79c9150afcf2c06e107b2b958ab536d,
  matching the vote email.
- Binary CLI runs; bin dist ships the new modular jars.
- Nexus staging repo (orgapacheopennlp-1071) is populated with signed artifacts.

Minor nit (non-blocking): the source release omits .mvn/wrapper/, so the bundled ./mvnw
does not work standalone (we missed to create the issue last time I guess :))

The README correctly instructs `mvn install`, so building works
as documented.

Thanks for driving the release, Martin!

Gruß
Richard

> Am 21.07.2026 um 15:04 schrieb Martin Wiesner <ma...@apache.org>:
> 
> Hi all,
> 
> I have posted a first release candidate for the Apache OpenNLP 3.0.0-M5 release and it is ready for testing.
> 
> The 3.x release line of Apache OpenNLP introduces no known breaking changes while significantly modularizing the project to improve library usage and future extensibility.
> The core API remains stable and fully compatible with 2.x, so existing projects can continue using the opennlp-tools artifact without modifications.
> 
> ######
> This milestone delivers 33 resolved issues, headlined by a major overhaul of Unicode handling and text normalization.
> 
> The centerpiece of this release is a new Unicode-aware normalization and tokenization stack. A new normalization engine (CharClass, Dimension, and confusables support) is paired with an offset/alignment layer (Alignment, AlignedText) that correctly tracks character offsets through length-changing folds such as expansions and contractions. On top of this, OpenNLP now ships a UAX #29 compliant word tokenizer (WordSegmenter, WordTokenizer, WordType), a layered Term model with TermAnalyzer, and a per-language NormalizationProfile registry. Full Unicode case folding has been added to text normalization, whitespace handling is now aligned with the Unicode White_Space property, and the deep-learning components support offset-safe input normalization. A new emoji annotation layer is wired into the Sentiment, Name Finder, and Doccat components, with offset-aware bidirectional emoji and emoticon expansion/contraction.
> 
> Performance and robustness also received attention: legacy CharSequenceNormalizers replace regex matching with cursor scans, Tag patterns are precompiled to avoid repeated compilation, and normalization/tokenization hot paths saw non-breaking performance improvements. Stemmers are now thread-safe, with a new StemmerFactory and per-thread stem caching, and previously unexecuted stemmer tests have been brought back into the build.
> 
> On the security side, class instantiation in GeneratorFactory, StreamFactory, and StringInterners is now allowlist-based, and deserialization in BaseModel has been hardened.
> 
> Housekeeping updates include moving to Apache Parent 39, JUnit 6.1.2, gRPC 1.82.2, ONNX Runtime 1.27.0, and Log4j 2.26.1, plus a fix to the binary distribution LICENSE to include the BSD section for the bundled stopword lists. Documentation improvements cover the Entity Linker framework, the BioNLP converter, and a new Dev Manual section on Unicode normalization and the UAX #29 tokenizer.
> ######
> 
> Thank you to everyone who contributed to this release, including all of our users and the people who submitted bug reports, contributed code or documentation enhancements.
> 
> The release was made using the OpenNLP release process, documented on the website:
> https://opennlp.apache.org/release.html
> 
> Maven Repo:
> https://repository.apache.org/content/repositories/orgapacheopennlp-1071
> 
> <repositories>
> <repository>
> <id>opennlp-3.0.0-M5-RC1</id>
> <name>Testing OpenNLP 3.0.0-M5 release candidate</name>
> <url>
> https://repository.apache.org/content/repositories/orgapacheopennlp-1071
> </url>
> </repository>
> </repositories>
> 
> Binaries & Source:
> 
> https://dist.apache.org/repos/dist/dev/opennlp/opennlp-3.0.0-M5-rc1/
> 
> Tag:
> 
> https://github.com/apache/opennlp/releases/tag/opennlp-3.0.0-M5
> 
> Tag Hash: 936db0e9b79c9150afcf2c06e107b2b958ab536d
> 
> Release notes:
> 
> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311215&version=12357221
> 
> The results of the eval tests for the aforementioned tag can be found
> here: https://ci-builds.apache.org/job/OpenNLP/job/eval-tests-releases/36/
> 
> Reminder: The up-2-date KEYS file for signature verification can be
> found here: https://dist.apache.org/repos/dist/release/opennlp/KEYS
> 
> Checklist for reference:
> 
> [ ] Both source (tar.gz/zip) and binary artifacts (tar.gz/zip) are present, along with .asc and .sha512 files for each.
> [ ] PGP signatures are valid for the release artifacts using the KEYS file from dist.apache.org
> [ ] SHA512 checksums are correct and verified.
> [ ] LICENSE and NOTICE files exist and are accurate.
> [ ] No unexpected binary files in the source release.
> [ ] All source files have appropriate ASF headers (excluding generated files and legacy files).
> [ ] Build completes successfully from source and the instruction to do so are clear.
> 
> Please vote on releasing these packages as Apache OpenNLP 3.0.0-M5
> The vote is open for at least the next 72 hours.
> 
> Only votes from OpenNLP PMC are binding, but everyone is welcome to
> check the release candidate and vote.
> The vote passes if at least three binding +1 votes are cast.
> 
> Please VOTE
> 
> [+1] go ship it
> [+0] meh, don't care
> [-1] stop, there is a ${showstopper}
> 
> Thanks!
> Martin | mawiesne