← Back to all sparks
A

Apache OpenNLP

DEVOPS
Velocity5.0

Machine learning toolkit for natural language text processing

Apache OpenNLP adds RoBERTa ONNX inference and a Unicode normalization engine, bridging traditional Java NLP to transformer workflows.

nlpjavatransformersonnxunicode
Current state
Apache OpenNLP maintains three active release lines (1.9.x legacy for Lucene/Solr dependents, 2.x stable, 3.0.0 milestone track). The recent work runs on two parallel tracks: security hardening (XML XXE fixes, deserialization protections, OOM prevention, ExtensionLoader allowlisting) and capability expansion (RoBERTa via ONNX in 2.x, Unicode normalization engine in 3.x). Both the 2.5.12 patch and 3.0.0-M6 milestone dropped on the same day, signaling coordinated multi-branch release management.
Where it's heading
OpenNLP is working to close the gap between traditional probabilistic NLP models and modern transformer architectures without requiring Python runtimes. The ONNX path in 2.x lets Java applications run RoBERTa inference natively; the 3.x Unicode normalization engine (CharClass, confusables, alignment layer) addresses multilingual text processing gaps. Together, these signal a deliberate push to remain relevant for enterprise Java NLP workloads as LLM-adjacent tooling matures.
Prediction
3.0.0-M6's content will likely extend the Unicode normalization engine and possibly add more ONNX model family support. A 3.0 stable release is still several milestones out, but the feature scope is becoming concrete.

Recent moves

  1. 8d ago

    Apache OpenNLP 2.5.12 released

    Maven release plugin tag commit for the 2.5.12 maintenance release. The actual content of this release is not captured in the entry; it represents a patch-level bump on the stable 2.x line.

    View source ↗
  2. 8d ago

    Apache OpenNLP 3.0.0-M6 milestone released

    Sixth milestone release on the 3.0.0 development track. Given that M5 shipped the Unicode normalization engine, M6 likely continues that work or adds adjacent NLP capabilities — the entry is a release tag only, without detailed change notes.

    View source ↗
  3. 1mo ago

    OpenNLP 3.0.0-M5

    ⚡ SPARK

    3.0.0-M5 introduces a dedicated Unicode normalization engine with CharClass, confusable character detection, and an offset/alignment layer for text span tracking. This is new NLP infrastructure — confusable detection matters for adversarial input handling and multilingual text normalization, and the alignment layer is foundational for any feature that needs to map processed text back to original positions.

    View source ↗
  4. 1mo ago

    OpenNLP 1.9.5

    Security maintenance release for the 1.9.x branch, targeting Apache Lucene 8.x and Solr 8.x deployments that still depend on OpenNLP 1.9.x. XML parser XXE hardening, ExtensionLoader package allowlisting, and OOM prevention address the same CVE class fixed in 3.0.0-M3.

    View source ↗
  5. 1mo ago

    OpenNLP 2.5.10

    ⚡ SPARK

    OpenNLP 2.5.10 adds RoBERTa-based model inference via ONNX Runtime, letting Java applications run transformer models natively without Python dependencies. This is a category-level addition to the library — previously OpenNLP offered MaxEnt and Perceptron models; now it can serve as a Java ONNX inference layer for transformer-based NLP.

    View source ↗
  6. 1mo ago

    OpenNLP 2.5.11

    GitHub Actions CI pipeline updates (actions/checkout, actions/cache, setup-java bumps) and a fix to resolve DocBook DTD from a local catalog instead of a remote URL during docs builds. No user-visible change.

    View source ↗