+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