Axoniq Framework Major Releases
All the enhancements and features which have been introduced to our major releases of the Axoniq Framework are noted here.
Release 5.3
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)
-
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)
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
-
Externalize reference-guide code samples into compilable sources (PR #268, by @abuijze)
-
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)
Dependency upgrades
-
Bump actions/setup-java from 5.4.0 to 5.5.0 in the GitHub dependencies group across 1 directory (PR #231)
-
Bump the maven-dependencies group with 3 updates (PR #232)
-
Bump slackapi/slack-GitHub-action from 3.0.3 to 3.0.5 in the GitHub dependencies group (PR #246)
-
Bump the maven-dependencies group with 2 updates (PR #247)
-
chore(deps): bump the GitHub dependencies group with 3 updates (PR #272)
-
chore(deps): bump the maven-dependencies group with 2 updates (PR #273)
-
chore(deps-dev): bump body-parser from 2.2.1 to 2.3.0 in /docs/_playbook (PR #275)
-
chore(deps): bump brace-expansion and @asciidoctor/core in /docs/_playbook (PR #276)
-
chore(deps): bump the maven-dependencies group with 4 updates (PR #290)
-
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)
Release 5.2
Features
-
Migrate core persistent streams API from AF4 #135
-
Enhancement/137/spec message transformator #138
-
[#137] Message Transformation / Upcasting - Specification #143
-
[#137] Message Transformation / Upcasting - Module setup (phase 1) #151
-
[#137] Message Transformation / Upcasting - SPI foundation (phase 2) #152
-
[#137] Message Transformation - Transform Chain and Event Store Decoration (phase 3) #153
-
[#137] Message Transformation - Sourcing Criteria widening for sourcing #160
-
Implement SnapshotStore for PostgresqlEventStorageEngine #163
-
[#137] Message Transformation - Rename support (phase 4) #164
-
[#137] Message Transformation - Drop / Filter support (phase 5) #167
-
[#137] Merge Message Transformation support #193
-
[#123] Persistent Streams Autoconfiguration #196
Enhancements
-
Include the data protection module in the Axoniq Framework BOM for convenience #130
-
fix the slack-release-notification.yml #141
-
build: unified apidocs profile and publish workflow #156
-
Remove _archive folder #166
-
[#137] Message Transformation - Semantic matching: exact precedence + from(List) (phase 6) #178
-
Disable sonar for builds #187
-
Improve flaky integration tests #189
-
cleanup remainders of the _archive folder #202
-
[#4633] AF4 MultiSourceLegacyToken classname compatibility fix #228
Bug fixes
-
Port axon 5.1.x to main #114
-
Align listing approach with Event Storage Engine parent page #115
-
Adjust import for TerminalEventMessage #132
-
Fix failing tests #136
-
Port (5.1.x): [#108] docs(dead-letter-queue): document DLQ transactional behavior #150
-
[#4625 | Port] Use
EventTypeResolverin Axon ServerEventStorageEnginesto defaultnullrevisionto default version #188 -
Support source with snapshot in single server call #220
-
[AxonFramework#4698] Ensure message type version for Commands/Queries sent from AF4 to AF5 applications #225
-
[AxonFramework#4625] Allow to gracefully handle events without revision for persistent streams #227
-
[#4625] Use
EventTypeResolverin Axon ServerEventStorageEnginesto defaultnullrevisionto default version #186
Documentation
-
Include Axoniq Data Protection release notes and module description in the framework reference #97
-
Include Axoniq Workflow Engine release notes and module description in the framework reference #99
-
Move workflow module table listing to workflow-repo for easier maintenance #101
-
[#77] Add migration guide for 5.0 → 5.1 #106
-
Include Axoniq feature indicator in navigation #107
-
[#77] Clarify migration of the AxonServerContainer from 5.0 → 5.1 #112
-
Add anchors for the event storage engines to allow referencing #117
-
Fix the maven coordinates for Axoniq PostgreSQL in the reference #119
-
Fix Modules Documentation (remove opentracing) #128
-
Introduce Framework Comparison page #134
-
[#137] add Event Transformation reference docs (moved from Axon Framework) #179
-
[#137] adapt moved Event Transformation docs + address review nits #180
-
Add 5.1.1 and 5.1.2 Release Notes #191
-
docs: use DeadLetterQueueConfiguration extension API in DLQ reference #197
-
Fix configuration example for
EventProcessorDefinitionbased persistent streams configuration #224
Dependency upgrades
-
Bump io.opentelemetry:opentelemetry-api from 1.60.1 to 1.62.0 in /_archive/extensions/tracing/tracing-opentelemetry #121
-
Bump Antora site-generator from 3.2.0-alpha.11 to 3.2.0-alpha.12 in /docs/_playbook #125
-
Bump Antora cli from 3.2.0-alpha.11 to 3.2.0-alpha.12 in /docs/_playbook #126
-
Bump the maven-dependencies group with 4 updates #127
-
Bump qs from 6.14.2 to 6.15.2 in /docs/_playbook #145
-
Bump the maven-dependencies group with 3 updates #146
-
Bump the maven-dependencies group with 6 updates #154
-
Bump the maven-dependencies group with 5 updates #161
-
Bump the maven-dependencies group with 7 updates #170
-
Bump the GitHub dependencies group with 4 updates #182
-
Bump Antora site-generator from 3.2.0-alpha.12 to 3.2.0-rc.2 in /docs/_playbook #183
-
Bump the maven-dependencies group with 4 updates #184
-
Bump js YAML and Antora cli in /docs/_playbook #185
-
Bump the GitHub dependencies group with 2 updates #194
-
Bump the maven-dependencies group with 4 updates #195
-
Bump the maven-dependencies group with 8 updates #215
-
[chore]: Add missing axoniq-message-transformation to combined coverage report #217
Release 5.1
Features
-
[#3105] Set AxonServerSnapshotStore in the AxonServerConfigurationEnhancer
-
Snapshotting rework to allow snapshots to be part of event stream
-
[#3435] Align MultiStreamableMessageSource with StreamableEventSource interface
-
[#3435] Created the MultiStreamableEventSource implementation
-
[#3517] Revise Dead Letter Queue
-
[#3517] feat: Dead Letter Queue adjusted to AF5 API
-
[#4182] feat(extensions/spring): JdbcAutoConfiguration + JdbcDeadLetterQueueAutoConfiguration
-
[#5] Port PostgreSQL Extension while keeping history
-
[#6] Construct axoniq-server-connector out of axon-server-connector
-
[#7] Move distributed CommandBus logic to axoniq-distributed-messaging
-
[#8] Move distributed QueryBus logic to axoniq-distributed-messaging
-
[#9] Move Sequenced Dead-Letter Queue logic to axoniq-dead-letter
-
[#9] feat(messaging/axoniq-dead-letter): initialize module and move code from Axon Framework 5 archive
-
[#11] Move multi-streamable event source to axoniq-event-streaming
-
[#12] Introduce Spring Autoconfigure and Spring Starter modules
-
[#21] Use of Entitlement Module for DLQ
-
[#21] Register PostgreSQL and DLQ with Entitlement Manager
-
Base for Axoniq Framework
Enhancements
-
feat(test): AxonServerContainer DCB context support
-
[#3517] JpaSequencedDeadLetterQueue aligned with AF5 APIs
-
[#3517] CachingSequencedDeadLetterQueue per Segment
-
[#3517] Move JPA dead letter classes from stash/todo to messaging module
-
[#3517] JdbcSequencedDeadLetterQueue aligned with AF5 APIs
-
[#3517] JpaSequencedDeadLetterQueue auto configuration
-
[#3517] Add Context context() method to DeadLetter interface
-
[#3517] Remove unused DeadLetterQueueProviderConfigurerModule
-
DistributedQueryBusConfiguration cleanup and support for local shortcut
-
Align DistributedQueryBusConfiguration with DistributedCommandBusConfiguration
-
Move Sequenced Dead-Letter Queue feature to Axoniq Framework
-
Moved MultiSourceTrackingToken and MultiStreamableEventSource to Axoniq Framework
-
Move Axon Server integration to Axoniq Framework
-
Port DistributedCommand- and -QueryBus to Axoniq Framework
-
Remove the final Axon Server mentions
-
[#15] Move (Spring) integration-tests
-
[#17] Align maven module name prefix
-
[#19] Clean up maven modules and build
-
[#42] Move AxonServerContainer and TestFixture Customization facilities to axoniq-test module
-
Restore modules with history - distributed-messaging, server-connector
-
chore(integrationtests): init Maven module for integration tests
-
Move Axon Server specific tests into integration test module
-
Move AxonServerContainer in axoniq-testcontainer module
-
Remove the examples.yml GitHub Action
-
chore: fix code inspections
-
Update Axoniq framework with AbstractMessageStream changes
-
Replace the Slack notify GHA
-
Add missing ArchUnit tests to axoniq-testcontainer
-
chore: improve Logback settings
-
Add tag format settings to release plugin
-
[#9] refactor(messaging/axoniq-dead-letter): change dead-letter addon identifier to framework.dead_letter_queue
-
Disable the Slack release notification
-
Port Axon Server Spring integration
-
Fix all remaining usages of org.axonframework.messaging.*.distributed
Bug fixes
-
Fix axon server address resolution for AxonServerTestContainerConnectionDetailsFactory
-
Fix race-condition for DistributedQueryBusSubscriptionQueryTest#replayBufferOverflow
-
[#4437] AggregateBasedAxonServerEventStorageEngine returns invalid AggregateSequence
-
[#4474] PostgresqlEventStorageEngine throws AppendEventsTransactionRejectedException when appending >= 2 events from a command handler
-
[#4408] Remove DLQ references from persistence configuration
-
Remove DLQ entity registration in JpaAutoConfiguration
-
Adjust AxonServerAutoConfiguration import for Spring Boot autoconfig classes
-
[#18] Fix AxonServerConfigurationEnhancerTest.enhanceSetsExpectedDefaultsInAbsenceOfTheseComponents
-
Minor licensing adjustments
-
Correct projectKey and organization for Sonar
-
fix(dependency-injection/spring): guard dead-letter autoconfiguration on SequencedDeadLetterQueueFactory classpath presence
-
Correct code owners
-
Fix consistency marker when sourcing an empty stream in the AggregateBasedAxonServerEventStorageEngine
-
Normalize event tags into a table; fix rejection for multi-event batches
Documentation
-
[#3289] Clarify DLQ Transactionality in the documentation
-
[#4326] Migration path - Sequenced Dead-Letter Queue
-
[#4442] Describe PostgreSQLEventStorageEngine in the documentation
-
[#4484] Fix cross-version references in the framework reference and related guides
-
Migration path for the DLQ
-
Prepare composite Axon Framework / Axoniq Framework documentation
-
Adjust references to AxoniqFramework classes in the reference guide
-
Add Visual indicator for features moved to Axoniq Framework
-
Restructure Antora Setup
-
Include Data Protection documentation in framework reference guide
-
[#14] Create composite Documentation for Axoniq Framework and Axon Framework
-
[#14] Prepare composite Axon Framework / Axoniq Framework documentation
-
[#14] Fix the Antora component version resolution for release branches
-
[#14] Restructure Antora Setup
-
[#60] Add visual indication for Axoniq Framework features to the reference guide
-
[#60] Add Visual indicator Axoniq Framework features
-
[#76] Adjust references to AxoniqFramework code in the documentation
-
[#76] Adjust class references and maven artifact references in the reference guide
-
[#77] Add a mini migration guide for 5.0 → 5.1
-
Update Copyright Notice