Repository navigation
Releases: AxonIQ/axoniq-framework
Releases · AxonIQ/axoniq-framework
Release list
Axoniq Framework v5.4.0
⭐ Features
- Multitenancy Data Protection support (#8, PR #346, by @jangalinski)
- Aggregate-based event storage engine: per-tenant support (PR #352, by @jangalinski)
- Dead Letter Queue: tenant-aware DLQ support (PR #353, by @jangalinski)
- Make
AxonServerEventStorageEngineaSnapshotStore(PR #397, by @smcvb) - Spring Cloud connector: distribute commands without Axon Server (PR #399, by @abuijze)
- Spring Cloud connector: distribute queries (PR #400, by @abuijze)
- Spring Cloud connector: distribute subscription queries (PR #401, by @abuijze)
- Move extension-workflow to axoniq-framework/workflow (PR #449, by @jangalinski)
- Implement Workflow Manager (ADR-018)- #303 (#443, #492, PR #452, by @zambrovski)
- Per-tenant sequencing policy (PR #458, by @jangalinski)
- Introduce WorkflowContext#publish primitive (#415, PR #488, by @schananas)
- Allow to statically specify intended tenants via framework configuration (PR #526, by @jangalinski)
- Port scope-routing and DeadlineManager core into axoniq-legacy (PR #563, by @hatzlj)
- Reuse the ambient connection for reads when already active (PR #576, by @hjohn)
- Introduce Legacy
XStreamConverter(#592, PR #594, by @smcvb) - Port
DeadlineManagerBackends toaxoniq-legacy(#5005, #595, PR #598, by @hatzlj) - Document / Test Saga state with XStream (PR #610, by @hatzlj)
- Aggregate-based
ScopeAwareimplementation rewriting deadlines to commands (#5004, PR #614, by @smcvb) - Deliver Saga deadlines without wiring (#564, #565, PR #615, by @hatzlj)
- Port deadline test-fixture support into axoniq-legacy-test (#5006, PR #619, by @MateuszNaKodach)
- Defer deadlines an entity command handler schedules to its commit (PR #620, by @MateuszNaKodach)
- Carry the correlation data of the handled message on a deadline (PR #621, by @MateuszNaKodach)
📈 Enhancements
- Local dispatch shortcut for command and query buses (PR #270, by @abuijze)
- chore: move to io.axoniq.framework.integrationtests.tracing package (PR #340, by @jangalinski)
- Include
TrackingTokenonCheckpointing.onSegmentClaimed| Warn on a checkpoint past the consumed position (#350, PR #351, by @schananas) - Ensure the GHA build actually finishes (PR #355, by @jangalinski)
- avoid real Axon Server client connections in tests (PR #378, by @jangalinski)
- Add tags to AppendEventsTransactionRejectedException (PR #383, by @hjohn)
- chore(305): clean up multi-tenant PoC leftovers (#305, PR #395, by @jangalinski)
- Add Maven build cache extension to skip unchanged reactor modules (PR #396, by @hjohn)
- Provide solution for tenant based SequenceDeadLetterProcessor (PR #446, by @jangalinski)
- Make SNAPSHOT fingerprinting tolerant of newly added, unpublished modules (PR #451, by @hjohn)
- Make the build cache opt-in locally, enabled only in CI (PR #453, by @hjohn)
- Post a per-module build status comment on pull requests (PR #462, by @hjohn)
- Split/integrationtests modules (PR #464, by @hjohn)
- Add Automatic-Module-Name manifest entries to all published Axoniq JAR modules (PR #469, by @jangalinski)
- Provide connector test for cancelling registration (PR #471, by @jangalinski)
- Remove the # suffix from workflow ids (#411, PR #475, by @schananas)
- chore(464): integration test pom hierarchy (#480, PR #485, by @jangalinski)
- Put failure detail in a full-width row, not a wide column (PR #486, by @hjohn)
- Set
AXONIQ_LICENSEvariable in GHA (PR #487, by @smcvb) - chore(464): remove multi-tenancy from integration tests support (PR #491, by @jangalinski)
@Workflowand@WorkflowStatusChangeListenerHandlerDefintionsand Parameter Resolver support (#412, #413, PR #496, by @smcvb)- Fine-tune
WorkflowModuleconfiguration (#410, #557, PR #498, by @smcvb) - Always run flatten-maven-plugin, even on a build cache hit (PR #502, by @CodeDrivenMitch)
- Consolidate Axon Server test containers to cut CI build time (PR #503, by @hjohn)
- Stop wastefully purging contexts multi-tenancy tests never use (PR #510, by @hjohn)
- Add SchemaInitialization option to PostgresqlEventStorageEngine (PR #511, by @hjohn)
- Workflow api segregation (#421, PR #516, by @zambrovski)
- Tune Axon Server container timeouts and cap CI JVM memory (PR #518, by @hjohn)
- Cut multitenancy IT time by building the app once per class, not per test (PR #519, by @hjohn)
- Fix Postgres finalizer advisory lock and executor sharing (PR #538, by @hjohn)
- Remove SonarQube/SonarCloud from the build (PR #548, by @hjohn)
- Improve Workflow Context / DSL configuration (#549, PR #552, by @zambrovski)
- Move the legacy module to Axoniq Framework (#5074, PR #554, by @hatzlj)
- Resolve the TODO and FIXME markers in the workflow modules (#425, PR #558, by @schananas)
- Integrate workflow into spring boot autoconfig (#463, PR #559, by @zambrovski)
- Manage the protobuf-java version explicitly in the axoniq-framework-bom (#524, PR #560, by @hatzlj)
- Fix main CI: slim Oracle/PostgreSQL test images and stop Spring Boot ITs sharing a container (PR #562, by @MateuszNaKodach)
- Pin testcontainers version everywhere, enforce it, raise container logging to INFO (PR #566, by @hjohn)
- Spring Cloud connector: split command and query sides into dedicated...
Axoniq Framework v5.3.3
📈 Enhancements
- Manage the protobuf-java version explicitly in the axoniq-framework-bom (#524, PR #561, by @hatzlj)
- Always run flatten-maven-plugin, even on a build cache hit (PR #507, by @CodeDrivenMitch)
🪲 Bug Fixes
- Ensure all Persistent Stream events are actually read (PR #578, by @smcvb)
- Fix dead letter processor resolution for multiply decorated event handling components (#531, PR #546, by @hatzlj)
- Add
SchemaInitializationoption toPostgresqlEventStorageEngine(PR #517, by @hjohn) - Backport build cache feature parity from main to axoniq-5.3.x (PR #513, by @hjohn)
- Fix persistent streams autoconfig ordering after optional dead-letter module (#504, PR #506, by @hatzlj)
📖 Documentation
🛠️ Dependency Upgrades
- Upgrade entitlement-manager to 1.3.1 (PR #509, by @CodeDrivenMitch)
❤️ Contributors
A heartfelt thank you to all contributors who worked on this section:
Axoniq Framework v5.4.0-RC1
Axoniq Framework v5.3.2
📈 Enhancements
- Add Maven build cache extension to skip unchanged reactor modules (PR #398, by @hjohn)
- Add tags to AppendEventsTransactionRejectedException (PR #390, by @hjohn)
- [Multi-Tenancy]: avoid real Axon Server client connections in tests (PR #380, by @jangalinski)
- Track in-flight queries asynchronously during connector shutdown (#337, PR #377, by @jangalinski)
🪲 Bug Fixes
- Fix memory leak in AxonServerCommandBusConnector (#476, PR #478, by @hatzlj)
- Process entire batch in
PersistentStreamConnectionregardless of closedPersistentStreamSegment(PR #394, by @smcvb) - Ensure
DistributedQueryBusadheres toProcessingContextlifecycle for subscription query operations (#317, PR #393, by @smcvb) - fix(connector): subscribe a command or query name exactly once (PR #391, by @abuijze)
- Multi-tenant
QueryBuscloses subscription query streams upon tenant removal (PR #388, by @smcvb) - Don't assume autocommit is
false(PR #384, by @hjohn) - Active subscription query of a deleted tenant hangs silently forever - already fixed (#318, PR #376, by @jangalinski)
- Use repeatable read isolation for query with 2 statements (PR #373, by @hjohn)
📖 Documentation
- Update Framework Comparison table (PR #371, by @smcvb)
- Add 5.3.1 release notes (PR #370, by @smcvb)
- Document dead-letter queue capacity and overflow impact (PR #368, by @abuijze)
❤️ Contributors
A heartfelt thank you to all contributors who worked on this section:
Axoniq Framework v5.3.1
⭐ Features
- Multitenancy Data Protection support (PR #354, by @jangalinski)
📈 Enhancements
- Include
TrackingTokenonCheckpointing.onSegmentClaimed| Warn on a checkpoint past the consumed position (#350, PR #357, by @schananas)
🪲 Bug Fixes
- Distinguish a rejected append from an undetermined one (#299, PR #347, by @schananas)
HandlerExecutionExceptiondetails lost for command and query in Axon Server #323
❤️ Contributors
A heartfelt thank you to all contributors who worked on this section:
Axoniq Framework v5.3.0
⭐ Features
- Relocate event-handler checkpointing into axoniq-event-streaming (PR #203, by @abuijze)
- split event transformation (#216, PR #218, by @laura-devriendt-lemon)
- multitenancy module scaffolding + integration branch (#204, PR #219, by @hatzlj)
- Infrastructure: tenant registration, resolution and wiring skeleton (PR #226, by @jangalinski)
- Add tenant aware components (PR #245, by @laura-devriendt-lemon)
- Distributed tracing based on Micrometer Tracing (PR #259, by @MateuszNaKodach)
- Migration logic for spliting type into
typeandtype_versionand maintaining an internal type tag__Tin the tags table (PR #262, by @hjohn) - Multi-Tenancy event storage (PR #263, by @jangalinski)
- spring boot auto config (#211, PR #265, by @laura-devriendt-lemon)
- Multi-Tenancy command handling (#207, PR #266, by @hatzlj)
- Multi-Tenancy query handling (#208, PR #281, by @hatzlj)
- Add multi-tenant pooled streaming read side (PR #283, by @laura-devriendt-lemon)
- Implement type queries and type appends for Postgres ESE (#52, PR #287, by @hjohn)
- Add multi-tenant persistent streams (#210, PR #307, by @hatzlj)
- Attach the tenant to a message dispatched from within a handler (#315, PR #316, by @hatzlj)
- Add entitlement checks for Multi-tenancy (PR #335, by @CodeDrivenMitch)
- Feature/backport action (PR #336, by @hjohn)
📈 Enhancements
- Split off big parts from
PostgresqlEventStorageEngineto reduce the main engine code size (PR #248, by @hjohn) - EventStorageEngine#source and SnapshotStore methods - add ProcessingContext parameter (PR #255, by @MateuszNaKodach)
- Add mutual TLS configuration properties for Axon Server connections (PR #256, by @abuijze)
- Disable some tests for coordination with Axon Framework (PR #264, by @hjohn)
- Improve watch.js for local doc rendering / improve docs readme / gitignore localLinks (PR #267, by @hatzlj)
- Switch default test SLF4J binding from Logback to Log4j2 (PR #269, by @hjohn)
DistributedQueryBusinclude and-countemit,complete, andcompleteExceptionallyoperations (PR #277, by @smcvb)- Enable multi-tenancy by default when on the classpath a... (#258, PR #303, by @hatzlj)
- Fix connection-pool leak and starved common pool on CI (PR #306, by @hjohn)
- Make all
SnapshotStoreimplementationsDescribableComponents(PR #312, by @smcvb) - Implement describeTo for SpanFactory implementations (PR #314, by @MateuszNaKodach)
- Align CLAUDE.md wildcard-import rule with .editorconfig (PR #328, by @hatzlj)
- Add entitlement checks for Micrometer Tracing (PR #334, by @MateuszNaKodach)
🪲 Bug Fixes
- Release notes fix - Move bug fix from 5.1.2 to 5.2.0 (PR #249, by @smcvb)
- Fix incorrect token position assumption in
MultiStreamableEventSourceTest(PR #297, by @hjohn) - Increase AxonServerContainer startup timeout to 2 minutes and log slow starts (PR #301, by @hjohn)
- Fix tracing integration tests failing under default-on multi-tenancy (PR #325, by @laura-devriendt-lemon)
HandlerExecutionExceptiondetails are carried over (#323, PR #326, by @smcvb)- Fix event metadata dropped on append in AggregateBasedAxonServerEventStorageEngine (#330, PR #332, by @hatzlj)
- Multi-tenant application shutdown blows the lifecycle phase budget and can leak live connectors (#319, PR #333, by @jangalinski)
📖 Documentation
- Include AAF 5.2.0 release notes (PR #233, by @smcvb)
- Externalize reference-guide code samples into compilable sources (PR #268, by @abuijze)
- Add 5.2.1 release notes (PR #291, by @smcvb)
- Add 5.2.2 Release Notes (PR #294, by @smcvb)
- Externalize the multi-tenancy code samples + reference demo (#280, PR #313, by @laura-devriendt-lemon)
- Documentation multi tenancy migration path (#212, PR #324, by @laura-devriendt-lemon)
- Add 5.2.3 release notes (PR #331, by @smcvb)
🛠️ Dependency Upgrades
- Bump actions/setup-java from 5.4.0 to 5.5.0 in the github-dependencies group across 1 directory (PR #231, by @app/dependabot)
- Bump the maven-dependencies group with 3 updates (PR #232, by @app/dependabot)
- Bump slackapi/slack-github-action from 3.0.3 to 3.0.5 in the github-dependencies group (PR #246, by @app/dependabot)
- Bump the maven-dependencies group with 2 updates (PR #247, by @app/dependabot)
- chore(deps): bump the github-dependencies group with 3 updates (PR #272, by @app/dependabot)
- chore(deps): bump the maven-dependencies group with 2 updates (PR #273, by @app/dependabot)
- chore(deps-dev): bump body-parser from 2.2.1 to 2.3.0 in /docs/_playbook (PR #275, by @app/dependabot)
- chore(deps): bump brace-expansion and @asciidoctor/core in /docs/_playbook (PR #276, by @app/dependabot)
- chore(deps): bump the maven-dependencies group with 4 updates (PR #290, by @app/dependabot)
- Upgrade the entitlement manager to 1.1.0 (PR #304, by @smcvb)
- chore(deps): bump the maven-dependencies group across 1 directory with 7 updates (PR #311, by @app/dependabot)
❤️ Contributors
A heartfelt thank you to all contributors who worked on this section:
Axoniq Framework v5.2.3
Axoniq Framework v5.3.0-RC1
Axoniq Framework v5.2.2
Axoniq Framework v5.2.1
🪲 Bug Fixes
- Mirror AF4 behavior by returning
"empty"for Query Handlers returning emptyOptionalsfor interoperability (#278, by @smcvb) - [Port] Mirror AF4 behavior by returning
"empty"for Query Handlers returning emptyOptionalsfor interoperability (#284, by @smcvb)
📖 Documentation
❤️ Contributors
A heartfelt thank you to all contributors who made this release possible: