Hi everyone, I want to share a proposed roadmap for the next Apache Unomi releases and open it for discussion. The goal is to clarify the sequencing of maintenance, compatibility, and feature releases, and to align on versioning decisions.
================================================== Apache Unomi 2.7.0 ================================================== Next maintenance release on the 2.x line. Content: - UNOMI-897: Groovy actions performance fix https://issues.apache.org/jira/browse/UNOMI-897 - UNOMI-886: Consider profileId from event collector request https://issues.apache.org/jira/browse/UNOMI-886 - UNOMI-885: Fix migration error on rollover alias https://issues.apache.org/jira/browse/UNOMI-885 Why 2.7.0 instead of 2.6.2? Some adopters already published internal builds labeled 2.6.2. To avoid versioning conflicts, we are skipping 2.6.2 and moving to 2.7.0. Timeline: ASAP (release candidate to be prepared immediately) ================================================== Apache Unomi 3.0.0 (Compatibility Release) ================================================== This release is focused on runtime and platform compatibility. Content: - Support for ElasticSearch 9 (ES 7 goes EOL end of 2025) - Support for Apache Karaf 4.4.8 Drop support for JDK 8 and JDK 11; require JDK 17 (needed by the ES 9 Java client) Why a major release? Even though feature scope is narrow, dropping older JDKs is a breaking change, which justifies the bump to 3.0.0. Risks: Some users may face JDK migration hurdles. Delays could leave users with little time to move before ES 7 EOL. Timeline: Early to late September 2025 ================================================== Apache Unomi 3.1 (or 4.0.0) - Major Feature Expansion ================================================== This release delivers the features from UNOMI-875 plus new support for OpenSearch and Explain/Tracing. Planned features: - Multi-tenancy: UNOMI-139, UNOMI-880 https://issues.apache.org/jira/browse/UNOMI-139 https://issues.apache.org/jira/browse/UNOMI-880 - Cluster-aware task scheduling: UNOMI-878 https://issues.apache.org/jira/browse/UNOMI-878 - Unified condition validation service: UNOMI-883 https://issues.apache.org/jira/browse/UNOMI-883 - Unified CRUD shell commands: UNOMI-879 https://issues.apache.org/jira/browse/UNOMI-879 - New unit testing framework: UNOMI-881 https://issues.apache.org/jira/browse/UNOMI-881 - Enhanced documentation and diagrams: UNOMI-882 https://issues.apache.org/jira/browse/UNOMI-882 - Migration scripts for V3: UNOMI-884 https://issues.apache.org/jira/browse/UNOMI-884 - OpenSearch support: UNOMI-828 https://issues.apache.org/jira/browse/UNOMI-828 - Explain / Tracing support: UNOMI-873 https://issues.apache.org/jira/browse/UNOMI-873 - V2 compatibility adjustments: UNOMI-904 https://issues.apache.org/jira/browse/UNOMI-904 Current status: - Feature complete - Passes integration tests Still needs: - V2 compatibility work (UNOMI-904) - Review and PR splitting (currently all changes are bundled in one branch) Timeline: Early to late October 2025, to align with known production rollouts ================================================== Versioning discussion (3.1 vs 4.0) ================================================== Current plan is to release this as 3.1.0 because: - APIs remain compatible with V2 when compatibility mode is enabled - A minor increment matches semantic versioning and lowers migration resistance - Avoids two major releases in a row (3.0 then 4.0), which could create upgrade fatigue Calling it 4.0.0 could provide more “marketing splash”, but would overstate breaking changes since compatibility mode keeps APIs aligned. ================================================== Summary Roadmap ================================================== 2.7.0 (ASAP) - Maintenance fixes: UNOMI-897, UNOMI-886, UNOMI-885 - Skips 2.6.2 due to internal use 3.0.0 (early to late September 2025) - ElasticSearch 9 support - Karaf 4.4.8 support - Drop JDK 8/11, require JDK 17 3.1.0 / 4.0.0 (early to late October 2025) - Multi-tenancy: UNOMI-139, UNOMI-880 - Cluster-aware scheduler: UNOMI-878 - Condition validation: UNOMI-883 - CRUD shell commands: UNOMI-879 - Unit testing framework: UNOMI-881 - Documentation improvements: UNOMI-882 - Migration scripts: UNOMI-884 - OpenSearch support: UNOMI-828 - Explain/Tracing support: UNOMI-873 - V2 compatibility adjustments: UNOMI-904 ================================================== Next steps ================================================== 1. Prepare and stage the 2.7.0 release candidate immediately 2. Finalize 3.0.0 in September for ES 9 and JDK 17 migration path 3. Structure and review the 3.1/4.0 branch, split into feature PRs, and complete UNOMI-904 Looking forward to your feedback on this proposed roadmap, especially around the 3.1 vs 4.0 naming decision and review priorities. Best regards, Serge Huber Apache Unomi PMC Chair