+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