Hi all, I (finally !) submit Apache Unomi 4.0.0 to your vote.
This release has been a long time coming. The work began as the "Unomi Version 3" plan (UNOMI-875, February 2025), with implementation from March 2025 — months before Unomi 3.0.0 was cut in November 2025. By September 2025 the tree was already versioned 3.1.0-SNAPSHOT; 3.0.0 (and later 3.0.1 in July 2026) was a first slice, while this line continued in parallel. As the scope grew — multi-tenancy, a second persistence backend, a large platform refresh, and a much stronger REST and operations story — we renamed it 4.0.0 so the version number matches the size of the change. This candidate is the result. A short view of what 4.0 brings: Features - Multi-tenancy, with a compatibility mode for single-tenant setups - OpenSearch as a persistence option alongside Elasticsearch - Cluster-aware scheduling, unified tenant caching, and a unified shell CRUD - Tenant usage through the REST API, plus event retention purge - Request tracing, and a rangeQuery API on persistence - REST V2 compatibility mode, better input validation, and clearer error responses - Migration scripts from 3.x, including resume-safe 3.1/4.0 migration Platform and libraries - Newer Karaf, Elasticsearch, OpenSearch, and Log4j - Further third-party updates (UNOMI-990 and related) - Stricter startup (explicit admin and health-check passwords) and tighter control of privileged REST, Groovy actions, and import/export - Build cache, BOM coverage for advanced conditions, and a published distribution again Fixes - Condition validation and matching (optional parameters, unresolved types, segment/scoring save) - Context/profile binding, CSV import, persona sessions, health-check concurrency - Scheduler locks and recovery in a cluster - Tracker WAB, visit/session counts, logging, and several CI/IT flakes Documentation and developer experience - Manual refresh with diagrams, Javadoc, and OpenAPI filled from Javadoc - Pluggable persistence ITs, better IT progress/tooling, improved build.sh, and contributor guidelines Tests grew a lot compared with 3.0.1. Annotated test methods went from about 280 to about 2,130. Most of that is new unit tests: roughly 90 unit tests in 15 classes became about 1,640 in 120 classes, while integration tests rose from about 190 to about 490. The bulk of the unit work uses a new in-memory persistence manager (UNOMI-881), so core services can be tested without Elasticsearch or OpenSearch. That harness also has its own suite (about 200 tests on the in-memory store), and more than a dozen service tests (profiles, events, rules, segments, scheduler, conditions, and others) now run on it. Full JIRA notes (about 79 issues): https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319220&version=12356384 Staging repository: https://repository.apache.org/content/repositories/orgapacheunomi-1054/ Source: https://repository.apache.org/content/repositories/orgapacheunomi-1054/org/apache/unomi/unomi-root/4.0.0/unomi-root-4.0.0-source-release.zip Convenience binaries: https://repository.apache.org/content/repositories/orgapacheunomi-1054/org/apache/unomi/unomi/4.0.0/ Git tag: unomi-root-4.0.0 Dist: https://dist.apache.org/repos/dist/dev/unomi/4.0.0/ Please vote to approve this release: [ ] +1 Approve the release [ ] -1 Don't approve the release (please provide specific comments) This vote will be open for at least 72 hours, or until the necessary number of binding votes (3 +1) is reached. Please let me know if you have any questions. Thanks, Serge
