This is an automated email from the ASF dual-hosted git repository.
mawiesne pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/opennlp-site.git
The following commit(s) were added to refs/heads/main by this push:
new 5c4224d95 Adjusts website to include OpenNLP 3.0.0-M5
5c4224d95 is described below
commit 5c4224d95ed705e71ca205375226f3aaf5670a97
Author: Martin Wiesner <[email protected]>
AuthorDate: Fri Jul 24 09:08:52 2026 +0200
Adjusts website to include OpenNLP 3.0.0-M5
---
.github/workflows/main.yml | 3 +-
pom.xml | 10 ++++
src/main/jbake/content/docs/legacy.ad | 18 ++++++
src/main/jbake/content/news/release-300-M5.ad | 86 +++++++++++++++++++++++++++
src/main/jbake/jbake.properties | 2 +-
5 files changed, 117 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 70b977b26..ff6a1cb7d 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -86,4 +86,5 @@ jobs:
[ -d target/opennlp-site/docs/3.0.0-M1 ] && echo 'docs for 3.0.0-M1
exist'
[ -d target/opennlp-site/docs/3.0.0-M2 ] && echo 'docs for 3.0.0-M2
exist'
[ -d target/opennlp-site/docs/3.0.0-M3 ] && echo 'docs for 3.0.0-M3
exist'
- [ -d target/opennlp-site/docs/3.0.0-M4 ] && echo 'docs for 3.0.0-M3
exist'
\ No newline at end of file
+ [ -d target/opennlp-site/docs/3.0.0-M4 ] && echo 'docs for 3.0.0-M4
exist'
+ [ -d target/opennlp-site/docs/3.0.0-M5 ] && echo 'docs for 3.0.0-M5
exist'
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index b7058dc1f..ca5e688ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -710,6 +710,16 @@
<outputDirectory>${project.build.directory}/distr/3.0.0-M4</outputDirectory>
<excludes>**/lib/**/*</excludes>
</artifactItem>
+ <artifactItem>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-distr</artifactId>
+ <version>3.0.0-M5</version>
+ <overWrite>false</overWrite>
+ <type>zip</type>
+ <classifier>bin</classifier>
+
<outputDirectory>${project.build.directory}/distr/3.0.0-M5</outputDirectory>
+ <excludes>**/lib/**/*</excludes>
+ </artifactItem>
</artifactItems>
</configuration>
</execution>
diff --git a/src/main/jbake/content/docs/legacy.ad
b/src/main/jbake/content/docs/legacy.ad
index 9757e6a08..9f9dcaa14 100755
--- a/src/main/jbake/content/docs/legacy.ad
+++ b/src/main/jbake/content/docs/legacy.ad
@@ -27,6 +27,24 @@ WARNING: This page contains the archived documentation.
Please refer to link:/do
There exists a manual and Javadoc API documentation for Apache OpenNLP. The
manual
explains how the various OpenNLP components can be used and trained.
+== Apache OpenNLP 3.0.0-M4 documentation
+* link:/docs/3.0.0-M4/manual/opennlp.html[Apache OpenNLP Manual]
+* link:/docs/3.0.0-M4/opennlp.pdf[Apache OpenNLP PDF Manual]
+* link:/docs/3.0.0-M4/apidocs/opennlp-api/index.html[Apache OpenNLP API
Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-cli/index.html[Apache OpenNLP CLI
Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-dl/index.html[Apache OpenNLP DL Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-formats/index.html[Apache OpenNLP
Formats Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-ml-bayes/index.html[Apache OpenNLP ML
Bayes Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-ml-commons/index.html[Apache OpenNLP ML
Commons Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-ml-maxent/index.html[Apache OpenNLP ML
Maxent Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-ml-perceptron/index.html[Apache OpenNLP
ML Perceptron Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-ml-libsvm/index.html[Apache OpenNLP ML
LibSVM Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-model-resolver/index.html[Apache OpenNLP
Model resolver Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-morfologik/index.html[Apache OpenNLP
Morfologik Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-runtime/index.html[Apache OpenNLP
Runtime Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-tools/index.html[Apache OpenNLP Tools
Javadoc]
+* link:/docs/3.0.0-M4/apidocs/opennlp-uima/index.html[Apache OpenNLP UIMA
Javadoc]
+
== Apache OpenNLP 3.0.0-M3 documentation
* link:/docs/3.0.0-M3/manual/opennlp.html[Apache OpenNLP Manual]
* link:/docs/3.0.0-M3/opennlp.pdf[Apache OpenNLP PDF Manual]
diff --git a/src/main/jbake/content/news/release-300-M5.ad
b/src/main/jbake/content/news/release-300-M5.ad
new file mode 100644
index 000000000..7d7d487ae
--- /dev/null
+++ b/src/main/jbake/content/news/release-300-M5.ad
@@ -0,0 +1,86 @@
+////
+ 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 OpenNLP 3.0.0-M5 released
+Apache OpenNLP
+2026-07-24
+:jbake-type: post
+:jbake-tags: community
+:jbake-status: published
+:category: news
+:idprefix:
+
+The Apache OpenNLP team is pleased to announce the release of Apache OpenNLP
3.0.0-M5.
+
+The Apache OpenNLP library is a machine learning based toolkit for the
processing of natural language text.
+
+It supports the most common NLP tasks, such as tokenization, sentence
segmentation, part-of-speech tagging, named entity extraction, chunking,
parsing, and coreference resolution.
+
+Apache OpenNLP 3.0.0-M5 binary and source distributions are available for
download from our link:/download.html[download page].
+
+The OpenNLP library is distributed by Maven Central as well. See the
link:/maven-dependency.html[Maven dependency] page for more details.
+
+== What's new in Apache OpenNLP 3.0.0-M5
+
+This milestone release delivers 33 resolved issues, headlined by a major
overhaul of Unicode handling and text normalization.
+In addition, it brings *security hardening*, *new NLP capabilities*, and
*dependency maintenance*.
+
+=== Security Fixes
+
+One security issue is addressed in this release.
+
+==== CWE-502 Arbitrary Class Instantiation via XML Feature Generator
Descriptor and Format Name in Apache OpenNLP (OPENNLP-1890, CVE-2026-63317)
+
+* OpenNLP contained three code paths that instantiated arbitrary classes by
name without validation,
+letting attackers with control over model archives or format names trigger
side effects from any classpath class's constructor or static initializer.
+The fix enforces a package-prefix allowlist (defaulting to opennlp.*) before
class loading; until upgrading,
+users should only load models and format names from trusted sources.
+
+=== New Features and Improvements
+
+* 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.
+* Housekeeping updates include moving to Apache Parent 39, 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.
+
+=== Bug fixes
+* None
+
+=== Dependency Updates
+
+* Update ONNX runtime to 1.27.0 (OPENNLP-1873)
+* Update log4j2 to 2.26.1 (OPENNLP-1874)
+* Update gRPC to 1.82.2 (OPENNLP-1857)
+
+For further details, check the full list of
link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311215&version=12357221[changes,role=external,window=_blank]
via the project's issue tracker.
+
+--The Apache OpenNLP Team
diff --git a/src/main/jbake/jbake.properties b/src/main/jbake/jbake.properties
index 7c4d95a6d..dfe9ba476 100755
--- a/src/main/jbake/jbake.properties
+++ b/src/main/jbake/jbake.properties
@@ -33,7 +33,7 @@ template.news.file=news.ftl
asciidoctor.attributes.export=true
asciidoctor.attributes.export.prefix=
opennlp.version=2.5.11
-opennlp.3x.version=3.0.0-M4
+opennlp.3x.version=3.0.0-M5
opennlp.next.version=3.0.0-SNAPSHOT
opennlp.models=ud-models-1.3
opennlp.downloads=https://downloads.apache.org/opennlp/models