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 3f70e00dc Adjusts website to include OpenNLP 3.0.0-M4
3f70e00dc is described below

commit 3f70e00dc03e74ba94681246d0e161e2d7a7fe59
Author: Martin Wiesner <[email protected]>
AuthorDate: Tue Jun 30 08:55:03 2026 +0200

    Adjusts website to include OpenNLP 3.0.0-M4
---
 .github/workflows/main.yml                    |  3 +-
 README.md                                     |  8 ++-
 pom.xml                                       | 10 +++
 src/main/jbake/content/docs/index.ad          |  2 +
 src/main/jbake/content/docs/legacy.ad         | 18 ++++++
 src/main/jbake/content/news/index.html        |  2 +-
 src/main/jbake/content/news/release-300-M4.ad | 89 +++++++++++++++++++++++++++
 src/main/jbake/jbake.properties               |  2 +-
 8 files changed, 128 insertions(+), 6 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 06053f007..16df9397a 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -84,4 +84,5 @@ jobs:
           [ -d target/opennlp-site/docs/2.5.10 ] && echo 'docs for 2.5.10 
exist'
           [ -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'
\ No newline at end of file
+          [ -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
diff --git a/README.md b/README.md
index a0a890a2a..c54fd7d1a 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,7 @@ Welcome to OpenNLP Site Source Code
 #### Build
 
 ```bash
-mvn clean install
+mvn clean verify
 ```
 
 The output is rendered to `target/opennlp-site/`. Open 
`target/opennlp-site/index.html` in a browser to preview.
@@ -40,8 +40,10 @@ The output is rendered to `target/opennlp-site/`. Open 
`target/opennlp-site/inde
 #### Live Dev Mode
 
 ```bash
-mvn compile -Pserve                       # http://localhost:8080/
-mvn compile -Pserve -Djbake.port=9000     # custom port
+# http://localhost:8080/
+mvn compile -Pserve                       
+# custom port
+mvn compile -Pserve -Djbake.port=9000     
 ```
 
 Bakes the site once, then serves `target/opennlp-site/` over HTTP and watches 
`src/main/jbake/` recursively. Any change to a content file, template, asset or 
`jbake.properties` triggers a re-bake (debounced ~400 ms); reload the browser 
to see it. Press Ctrl-C to stop.
diff --git a/pom.xml b/pom.xml
index c84400402..e9d2991d6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -690,6 +690,16 @@
                   
<outputDirectory>${project.build.directory}/distr/3.0.0-M3</outputDirectory>
                   <excludes>**/lib/**/*</excludes>
                 </artifactItem>
+                <artifactItem>
+                  <groupId>org.apache.opennlp</groupId>
+                  <artifactId>opennlp-distr</artifactId>
+                  <version>3.0.0-M4</version>
+                  <overWrite>false</overWrite>
+                  <type>zip</type>
+                  <classifier>bin</classifier>
+                  
<outputDirectory>${project.build.directory}/distr/3.0.0-M4</outputDirectory>
+                  <excludes>**/lib/**/*</excludes>
+                </artifactItem>
               </artifactItems>
             </configuration>
           </execution>
diff --git a/src/main/jbake/content/docs/index.ad 
b/src/main/jbake/content/docs/index.ad
index 061bd1681..b00b851b1 100755
--- a/src/main/jbake/content/docs/index.ad
+++ b/src/main/jbake/content/docs/index.ad
@@ -44,10 +44,12 @@ NOTE: All the documentation is also included in the binary 
distribution.
 * link:/docs/{opennlp_3x_version}/apidocs/opennlp-ml-commons/index.html[Apache 
OpenNLP ML Commons]
 * link:/docs/{opennlp_3x_version}/apidocs/opennlp-ml-maxent/index.html[Apache 
OpenNLP ML Maxent]
 * 
link:/docs/{opennlp_3x_version}/apidocs/opennlp-ml-perceptron/index.html[Apache 
OpenNLP ML Perceptron]
+* link:/docs/{opennlp_3x_version}/apidocs/opennlp-ml-libsvm/index.html[Apache 
OpenNLP ML LibSVM Javadoc]
 * 
link:/docs/{opennlp_3x_version}/apidocs/opennlp-model-resolver/index.html[Apache
 OpenNLP Model resolver]
 * link:/docs/{opennlp_3x_version}/apidocs/opennlp-morfologik/index.html[Apache 
OpenNLP Morfologik]
 * link:/docs/{opennlp_3x_version}/apidocs/opennlp-runtime/index.html[Apache 
OpenNLP Runtime]
 * link:/docs/{opennlp_3x_version}/apidocs/opennlp-tools/index.html[Apache 
OpenNLP Tools]
+* link:/docs/{opennlp_3x_version}/apidocs/opennlp-spellcheck/index.html[Apache 
OpenNLP Spellchecker Javadoc]
 * link:/docs/{opennlp_3x_version}/apidocs/opennlp-uima/index.html[Apache 
OpenNLP UIMA]
 
 == Apache OpenNLP {opennlp_version}
diff --git a/src/main/jbake/content/docs/legacy.ad 
b/src/main/jbake/content/docs/legacy.ad
index 747b5b989..6acd88067 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-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]
+* link:/docs/3.0.0-M3/apidocs/opennlp-api/index.html[Apache OpenNLP API 
Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-cli/index.html[Apache OpenNLP CLI 
Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-dl/index.html[Apache OpenNLP DL Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-formats/index.html[Apache OpenNLP 
Formats Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-ml-bayes/index.html[Apache OpenNLP ML 
Bayes Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-ml-commons/index.html[Apache OpenNLP ML 
Commons Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-ml-maxent/index.html[Apache OpenNLP ML 
Maxent Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-ml-perceptron/index.html[Apache OpenNLP 
ML Perceptron Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-ml-libsvm/index.html[Apache OpenNLP ML 
LibSVM Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-model-resolver/index.html[Apache OpenNLP 
Model resolver Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-morfologik/index.html[Apache OpenNLP 
Morfologik Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-runtime/index.html[Apache OpenNLP 
Runtime Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-tools/index.html[Apache OpenNLP Tools 
Javadoc]
+* link:/docs/3.0.0-M3/apidocs/opennlp-uima/index.html[Apache OpenNLP UIMA 
Javadoc]
+
 == Apache OpenNLP 3.0.0-M2 documentation
 * link:/docs/3.0.0-M2/manual/opennlp.html[Apache OpenNLP Manual]
 * link:/docs/3.0.0-M2/opennlp.pdf[Apache OpenNLP PDF Manual]
diff --git a/src/main/jbake/content/news/index.html 
b/src/main/jbake/content/news/index.html
index 6e5c7e1b3..e0c1cb038 100644
--- a/src/main/jbake/content/news/index.html
+++ b/src/main/jbake/content/news/index.html
@@ -1,5 +1,5 @@
 title=News
-date=2026-06-24
+date=2026-06-30
 type=news
 status=published
 ~~~~~~
diff --git a/src/main/jbake/content/news/release-300-M4.ad 
b/src/main/jbake/content/news/release-300-M4.ad
new file mode 100644
index 000000000..e3d798569
--- /dev/null
+++ b/src/main/jbake/content/news/release-300-M4.ad
@@ -0,0 +1,89 @@
+////
+   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-M4 released
+Apache OpenNLP
+2026-06-30
+: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-M4.
+
+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-M4 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-M4
+
+This release focuses on *security hardening*, *new NLP capabilities*, and 
*dependency maintenance*.
+
+=== Security Fixes
+
+One security issue is addressed in this release.
+
+==== CWE-502 Deserialization of Untrusted Data (OPENNLP-1823, CVE-2026-43825)
+
+Fixed unsafe Java deserialization in `SvmDoccatModel.deserialize()` (libsvm 
doccat module, 3.x before 3.0.0-M4) that
+could allow remote code execution via a crafted stream when a gadget chain is 
present on the classpath;
+an `ObjectInputFilter` is now applied.
+
+=== New Features and Improvements
+
+* Include list of stop words for various languages (OPENNLP-660)
+* Add SymSpell-based spell correction component (OPENNLP-1832)
+* Add BertTokenizer with BERT basic tokenization (OPENNLP-1837)
+* Harden SvmDoccatModel.deserialize() with ObjectInputFilter and resource 
limits (OPENNLP-1823)
+* Tolerate unsupported XML parser security options (OPENNLP-1835)
+* Fix NameFinderDL only worked with Person, expand to all types (OPENNLP-1846)
+* Several updates of dependencies were conducted, see Jira release notes 
listing - URL down below
+* Some minor tasks have been completed
+
+=== Bug fixes
+* This release ships four bug fixes for: OPENNLP-1826, OPENNLP-1836, 
OPENNLP-1839, and OPENNLP-1840
+
+=== IMPORTANT CHANGES
+* The ONNX input encoding in SentenceVectorsDL was fixed, which changes the 
produced sentence vectors.
+Any embeddings persisted with the old encoding are not comparable to the new 
output and must be re-generated. (OPENNLP-1836 - PR #1072)
+* WordpieceTokenizer (public API, used by opennlp-dl) now splits punctuation 
runs into single tokens, collapses
+partially-matched words to a single [UNK], and throws from tokenizePos instead 
of returning null.
+These change tokenization output for existing callers. (OPENNLP-1837 - PR 
#1073)
+* NameFinderDL now decodes all BIO entity types (PER/ORG/LOC/…) instead of 
only persons. Span.getType() now returns
+the entity label rather than the covered text, which is a contract change for 
existing callers. (OPENNLP-1846 - PR #1086)
+* The opennlp-dl components are now thread-safe; as part of this, loadVocab 
became public static (source- and binary-incompatible)
+and AbstractDL's implicit no-arg constructor was removed.
+Both affect downstream code that calls loadVocab or extends AbstractDL. 
(OPENNLP-1844 - PR #1084)
+
+=== Dependency Updates
+
+* Update ONNX runtime to 1.26.0 (OPENNLP-1824)
+* Update gRPC to 1.81.0 (OPENNLP-1825)
+* Update log4j2 to 2.26.0 (OPENNLP-1827)
+* Update Slf4j to 2.0.18 (OPENNLP-1831)
+* Update gRPC to 1.82.0 (OPENNLP-1847)
+* Update Morfologik to 2.2.0 (OPENNLP-1848)
+
+For further details, check the full list of 
link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311215&version=12356941[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 8e0602143..fd3c92270 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.10
-opennlp.3x.version=3.0.0-M3
+opennlp.3x.version=3.0.0-M4
 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