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

Reply via email to