Here’s my own +1 (binding)

Best
Martin

> Am 23.07.2026 um 14:33 schrieb Jeff Zemerick <[email protected]>:
> 
> +1
> 
> Looks good. Thanks for the release.
> 
> On Wed, Jul 22, 2026 at 9:57 AM Richard Zowalla <[email protected]> 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 
>> <[email protected]>, 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 <[email protected]>:
>>> 
>>> 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
>> 

Reply via email to