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

Reply via email to