I’m glad to announce that we’ve released Axon and Axoniq Framework version 5.1.0 on April 28, 2026.
This release marks the first release wherein the split between Axon Framework and Axoniq Framework is apparent.
As such, the feature-specific sections are split between Axon Framework and Axoniq Framework features, enhancements, fixes, documentation, and dependency changes.
For those looking for a quick overview of “what is Axon and what is Axoniq Framework”, the following components have been ported to Axoniq Framework are:
- The
axon-server-connectormodule. - All Axon Server Spring integration.
- The
AxonServerContainerfor Testcontainer support - The
DistributedCommandBusandCommandBusConnector. In line with the move of theaxon-server-connector - The
DistributedQueryBusandQueryBusConnector. In line with the move of theaxon-server-connector - The
SequencedDeadLetterQueue,SequencedDeadLetterQueueintegration into Event Handling Components, and the JPA/JDBC/InMemory storage solutions for theSequencedDeadLetterQueue - The
MultiStreamableEventSource
Axon Framework
Features
- [#3105] Revise Snapshotting logic
- [#3105] Reintroduce Snapshotting by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4204
- [#3105] Set AxonServerSnapshotStore in the AxonServerConfigurationEnhancer by @smcvb in [#3105] Set `AxonServerSnapshotStore` in the `AxonServerConfigurationEnhancer` by smcvb · Pull Request #4307 · AxonIQ/AxonFramework · GitHub
- Snapshotting rework to allow snapshots to be part of event stream by @hjohn in Snapshotting rework to allow snapshots to be part of event stream by hjohn · Pull Request #4335 · AxonIQ/AxonFramework · GitHub
- [#3514] First-class Spring support for AxonTestFixture
- feat(extensions): init axon-spring-boot-starter-test with AxonTestFixture bean support by @MateuszNaKodach in feat(extensions): init `axon-spring-boot-starter-test` with `AxonTestFixture` bean support by MateuszNaKodach · Pull Request #4213 · AxonIQ/AxonFramework · GitHub
- [#3618] Last-minute Message#payload conversion
- [#3618] Introduce conversion awareness to the GenericMessage by @hatzlj in Introduce conversion awareness to the `GenericMessage` (#3618) by hatzlj · Pull Request #4312 · AxonIQ/AxonFramework · GitHub
- [#3618] Make lastminute/inline payload conversion available for command handling by @hatzlj in Make lastminute/inline payload conversion available for command handling (#3618) by hatzlj · Pull Request #4314 · AxonIQ/AxonFramework · GitHub
- [#3618] Make lastminute/inline payload conversion available for event handling by @hatzlj in Make lastminute/inline payload conversion available for event handling (#3618) by hatzlj · Pull Request #4313 · AxonIQ/AxonFramework · GitHub
- [#3618] Make lastminute/inline payload conversion available for query handling by @hatzlj in Make lastminute/inline payload conversion available for query handling (#3618) by hatzlj · Pull Request #4315 · AxonIQ/AxonFramework · GitHub
- [#3879] Provide Kotlin extension for 5.0
- [#3879] Introduce Kotlin extension by @jangalinski in https://github.com/AxonIQ/AxonFramework/pull/4432
- [#3886] Support Spring Data Page through the JacksonConverter
- [#3886] Add Jackson module for Spring Data Page deserialization by @theoema in [#3886] Add Jackson module for Spring Data Page deserialization by theoema · Pull Request #3937 · AxonIQ/AxonFramework · GitHub
- [#3891] Introduce @Namespace annotation and use for Event Processor naming
- [#3891] Introduce and use the @Namespace annotation by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4226
- [#3923] Filter events while streaming with given EventCriteria for aggregate-based storage solutions
- [#3923] Filter events while streaming with given EventCriteria for aggregate-based storage solutions by @hjohn in [#3923] Filter events while streaming with given `EventCriteria` for aggregate-based storage solutions by hjohn · Pull Request #4005 · AxonIQ/AxonFramework · GitHub
- [#4111] Enable decorator pattern for EventProcessors (register as interface type)
- [#4111] Register event processors as interface types for decorator support by @theoema in [#4111] Register event processors as interface types for decorator support by theoema · Pull Request #4113 · AxonIQ/AxonFramework · GitHub
- [#4182] Reintroduce JdbcAutoConfiguration
- [#4384] Introduce configuration section functionality
- [#4384] feat: introduce extensible configuration + adjust DLQ to use the approach by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4385
- Introduce ReplayStatusChangedHandler by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4297
- Port Reactor Extension to Axon Framework 5 by @theoema in https://github.com/AxonIQ/AxonFramework/pull/4245
- Introduce dedicated examples for Spring Boot 3 and 4 by @hatzlj in Introduce dedicated examples for spring boot 3 and 4 by hatzlj · Pull Request #4367 · AxonIQ/AxonFramework · GitHub
- feat(integrationtests): base AbstractIntegrationTest class decoupled from Axon Server by @MateuszNaKodach in feat(integrationtests): base AbstractIntegrationTest class decoupled from Axon Server by MateuszNaKodach · Pull Request #4413 · AxonIQ/AxonFramework · GitHub
Enhancements
- [#3149] Allow queries with a local handler to shortcut to the local segment
- [#3194] DbScheduler 15+ incompatible with Axon Framework 4.10.2
- [#3304] Integrate event replay logic into Event Handling Component
- [#3304] Support resets for the PooledStreamingEventProcessor resulting in EventHandlingComponent replays by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/3957
- [#3304] Deserialize ReplayToken#context with the Converter by @MateuszNaKodach in [#3304] Deserialize `ReplayToken#context` with the `Converter` by MateuszNaKodach · Pull Request #3979 · AxonIQ/AxonFramework · GitHub
- [#3577] Modules should inherit ConfigurationEnhancer settings from the parent
- [#3577] Module registry inheritance by @zambrovski in https://github.com/AxonIQ/AxonFramework/pull/4090
- [#3816] Adopt JSpecify nullability annotations
- [#3816] Adopt JSpecify nullability annotations by @jangalinski in [#3816] Adopt JSpecify nullability annotations by jangalinski · Pull Request #4233 · AxonIQ/AxonFramework · GitHub
- [#3816] Adopt JSpecify nullability annotations - Nullmarked by @jangalinski in [#3816] Adopt JSpecify nullability annotations - Nullmarked by jangalinski · Pull Request #4251 · AxonIQ/AxonFramework · GitHub
- [#3952] Transactional resources should be managed by resource executors as part of the processing context
- [#3962] Validate necessity of SpringLazyCreatingModule
- [#3962] LazyInitializedModule is still required, but can be slightly improved by @zambrovski in [3962] `LazyInitializedModule` is still required, but can be slightly improved by zambrovski · Pull Request #4033 · AxonIQ/AxonFramework · GitHub
- [#3998] Allow SimpleUnitOfWorkFactory to augment its work units with enhancers
- Allow SimpleUnitOfWorkFactory to augment its work units with enhancers by @hjohn in Allow SimpleUnitOfWorkFactory to augment its work units with enhancers by hjohn · Pull Request #3999 · AxonIQ/AxonFramework · GitHub
- Show failed message handler in logs by @Sam-Kruglov in https://github.com/AxonIQ/AxonFramework/pull/3913
- Default to the AnnotationMessageTypeResolver in annotation-specific components by @Sam-Kruglov in Default to the `AnnotationMessageTypeResolver` in annotation-specific components by Sam-Kruglov · Pull Request #3894 · AxonIQ/AxonFramework · GitHub
- Refactor JPA Spring Boot auto configuration and slight SpringComponentRegistry tweak by @Sam-Kruglov in Refactor JPA Spring Boot auto configuration and slight `SpringComponentRegistry` tweak by Sam-Kruglov · Pull Request #3892 · AxonIQ/AxonFramework · GitHub
- Some codestyle improvements by @abuijze in Some codestyle improvements by abuijze · Pull Request #3951 · AxonIQ/AxonFramework · GitHub
- Event Storage Engine Test Suite improvements - Add stream-sees-appended-events tests and make methods protected by @hjohn in Event Storage Engine Test Suite improvements - Add stream-sees-appended-events tests and make methods protected by hjohn · Pull Request #3956 · AxonIQ/AxonFramework · GitHub
- feat(test-fixture): AxonTestThenCommand - resultMessagePayload - convert payload before executing the check by @MateuszNaKodach in feat(test-fixture): `AxonTestThenCommand` - resultMessagePayload - convert payload before executing the check by MateuszNaKodach · Pull Request #3995 · AxonIQ/AxonFramework · GitHub
- Introduce ArchUnit into commons module by @hjohn in Introduce ArchUnit into commons module by hjohn · Pull Request #4015 · AxonIQ/AxonFramework · GitHub
- Add new integration test using event store and unit of work by @hjohn in Add new integration test using event store and unit of work by hjohn · Pull Request #4014 · AxonIQ/AxonFramework · GitHub
- [#3517] feat(eventhandling): PooledStreamingEventProcessor - introduce SegmentChangeListener by @MateuszNaKodach in [#3517] feat(eventhandling): PooledStreamingEventProcessor - introduce `SegmentChangeListener` by MateuszNaKodach · Pull Request #4183 · AxonIQ/AxonFramework · GitHub
- EntityManagerTransactionManager - supports JPA transactions without Spring by @MateuszNaKodach in feature(messaging): EntityManagerTransactionManager - supports JPA transactions without Spring by MateuszNaKodach · Pull Request #4232 · AxonIQ/AxonFramework · GitHub
- EventProcessors - enforce explicitly named event components by @MateuszNaKodach in feat(messaging): EventProcessors - enforce explicitly named event components by MateuszNaKodach · Pull Request #4265 · AxonIQ/AxonFramework · GitHub
- Make Property#get method return nullable value by @jangalinski in chore: make Property#get method return nullable value by jangalinski · Pull Request #4358 · AxonIQ/AxonFramework · GitHub
- Enhancement/university java springboot3 setup by @hatzlj in Enhancement/university java springboot3 setup by hatzlj · Pull Request #4374 · AxonIQ/AxonFramework · GitHub
- Refactor AbstractMessageStream and implementations by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4396
- Replace AxonTestFixture setting axonServerEnabled for integrationEnabled by @smcvb in Replace `AxonTestFixture` setting `axonServerEnabled` for `integrationEnabled` by smcvb · Pull Request #4445 · AxonIQ/AxonFramework · GitHub
- Replace AxonIQ references with Axoniq by @MateuszNaKodach in refactor(update): replace `AxonIQ` references with `Axoniq` by MateuszNaKodach · Pull Request #4471 · AxonIQ/AxonFramework · GitHub
- Provide default ResetHandler#handle(ResetContext, ProcessingContext) for EventHandlingComponent by @smcvb in Provide `default` `ResetHandler#handle(ResetContext, ProcessingContext)` for `EventHandlingComponent` by smcvb · Pull Request #4350 · AxonIQ/AxonFramework · GitHub
- Fix javadocs / warnings in EventSourcing module by @hjohn in Fix javadocs / warnings in EventSourcing module by hjohn · Pull Request #4360 · AxonIQ/AxonFramework · GitHub
- Fix warnings in messaging by @hjohn in Feature/fix warnings in messaging by hjohn · Pull Request #4368 · AxonIQ/AxonFramework · GitHub
- Add test case for appending multiple events with append condition set by @hjohn in Add test case for appending multiple events with append condition set by hjohn · Pull Request #4478 · AxonIQ/AxonFramework · GitHub
- fix(test): disable PostgresqlConfigurationEnhancer in AxonTestFixture to prevent using Postgres db in non-integration tests by @MateuszNaKodach in fix(test): disable `PostgresqlConfigurationEnhancer` in `AxonTestFixture` to prevent using Postgres db in non-integration tests by MateuszNaKodach · Pull Request #4480 · AxonIQ/AxonFramework · GitHub
- Remove unused imports by @jangalinski in chore: remove unused imports by jangalinski · Pull Request #4235 · AxonIQ/AxonFramework · GitHub
- Update copyright notice for 2026 by @jangalinski in Update copyright notice for 2026 by jangalinski · Pull Request #4066 · AxonIQ/AxonFramework · GitHub
Bug Fixes
- [#3784] Polymorphic @EventSourcedEntity - doesn’t evolve immutable entities
- [#3784] Support Polymorphic Sealed Interface Entity Evolution by @hatzlj in #3784: Support Polymorphic Sealed Interface Entity Evolution by hatzlj · Pull Request #3975 · AxonIQ/AxonFramework · GitHub
- [#3853] Setting a callback on a MessageStream which throws an error during callback should result in the stream completing with that error
- [#3853] Fix exceptions on callback should report error and close MessageStream by @jangalinski in https://github.com/AxonIQ/AxonFramework/pull/4072
- [#3855] When a sourcing completes, the callback should be called per MessageStream contract
- [#3855] Re-Enable callback test on AggregateBasedStorageEngineTestSuite by @jangalinski in https://github.com/AxonIQ/AxonFramework/pull/4352
- Make initial callback execution for InMemory engine unconditional by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4176
- [#3982] fix(test): Event events(@Nonnull List<?>… events) - invalid usage of varargs by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/3984
- Fix toString in GenericEventMessage by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4000
- [#4006] AggregateBasedJpaEventStorageEngine should return the max (or latest) token when tokenAt is called with a date in the future
- Feature/fix token at future date by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4007
- [#4012] Resolve MessageType for query handlers based on MessageTypeResolver
- Resolve MessageType for query handlers based on MessageTypeResolver by @CodeDrivenMitch in https://github.com/AxonIQ/AxonFramework/pull/4012
- [#4200] DefaultEventStoreTransaction can under some circumstances return a sourced stream without filtering the consistency marker
- [#4203] When snapshot loading fails (for any reason), fallback to normal loading
- [#4220] When using EventStore::publish with multiple events, no processing context, and with the default interceptor, events can be published in different order
- [#4288] Fix token advancement in AggregateBasedJpaEventStorageEngine by @markuseckstein in https://github.com/AxonIQ/AxonFramework/pull/4290
- [#4339] AF 5.1.0-RC1 regression: JpaTransactionAutoConfiguration and JdbcTransactionAutoConfiguration break on Spring Boot 4 due to hard class references
- [#4339] fix(extensions/spring-boot): Spring Boot 4.x support - use afterName in AutoConfiguration classes by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4344
- [#4340] AF 5.1.0-RC1 regression: circular dependency BoundConfigurationProperties / AxonServerConfiguration on Spring Boot 4
- [#4340] Break cyclic dependencies in spring autoconfiguration by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4354
- [#4340] fix(extensions/spring-boot): defer SpringComponentRegistry initialization for infrastructure beans to prevent BoundConfigurationProperties cycle by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4365
- fix(messaging): prevent StackOverflowError from double LocalConfiguration in module parent chain by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4351
- [#4355] ConcatenatingMessageStream should ensure it interacts with its first stream before calling isCompleted as this flag may otherwise be out of date
- [#4355] ConcatenatingMessageStream ensures it interacts with its first stream before calling isCompleted by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4357
- [#4356] QueueMessageStream should only return true for isCompleted when actually completed
- [#4366] JpaPollingEventCoordinator daemon thread races against EntityManagerFactory.close() during Spring context shutdown
- Wait for polling thread to terminate for JPA event storage engine by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4372
- [#4377] Remove hard dependency on Jackson 3 from autoconfigured JpaTokenStore and JdbcTokenStore
- Bug/4377/tokenstore autoconfig jackson3 dependency by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4380
- [#4392] Event Processors Spring Boot properties are not applied
- [#4392] fix(messaging): consistent EventProcessor module naming by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4393
- fix(extensions/spring-boot): do not ignore @Namespace annotation on @Component with @EventHandler annotations if the matching EventProcessorDefinition is not present by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4369
- test(messaging): fix command-threads property test using wrong prefix and weak assertion by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4381
- Fix test isolation for the ReplayStatusChangedHandlerIT by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4321
- [#4427] Re-enable Examples build
- [#4427] Re-enable Examples build by @jangalinski in https://github.com/AxonIQ/AxonFramework/pull/4447
- [#4437] Fix consistency marker when sourcing an empty stream in the AggregateBasedJpaEventStorageEngine by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4454
- [#4455] NullPointerException in AbstractMessageStream.next() - FetchResult.Value(@Nullable) + Optional.of() crash PooledStreamingEventProcessors
- [#4455] Support a null MessageStream.Entry on the AbstractMessageStream.FetchResult by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4457
- [#4450] Order JdbcAutoConfiguration correctly for Datasource by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4451
- Ensure UnitOfWork recorded cause on runErrorHandlers is set by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4435
- Fix flakey test in AbstractSubscriptionQueryTestSuite by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4433
- Possible fix for CI flakyness problem by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4481
- Reintroduce Getting Started AI-specific files by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4268
Documentation
- [#3311] Construct a migration guide for Axon Framework 5
- [#3961] Rework Documentation to align with AF5 API
- [#3961] Rework Documentation to align with AF5 API by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4074
- [#4030] Add documentation explaining application startup event
- Add documentation explaining application startup event by @corradom in https://github.com/AxonIQ/AxonFramework/pull/4284
- [#4059] Explain use of @EventTag annotation in event-dispatchers.adoc
- [#4059] Reference DCB/EventTag in for event dispatchers by @jangalinski in https://github.com/AxonIQ/AxonFramework/pull/4064
- [#4092] Migration path - Configuration and Configurer Modules in AF5
- [#4092] Introduce Configuration migration path by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4353
- [#4095] Rewrite Tuning section to comply with AF5 API
- [#4325] Migration path - Snapshotting
- [#4414] Add note on Converter/Serializer Documentation
- Updated documentation for dispatching of Commands, Events and Queries by @abuijze in https://github.com/AxonIQ/AxonFramework/pull/3939
- Documentation for command handlers by @abuijze in https://github.com/AxonIQ/AxonFramework/pull/3946
- Migrated documentation for query handlers by @abuijze in https://github.com/AxonIQ/AxonFramework/pull/3963
- Migrated messaging concepts section to Axon 5 style by @abuijze in https://github.com/AxonIQ/AxonFramework/pull/3967
- Migrated event handling documentation by @abuijze in https://github.com/AxonIQ/AxonFramework/pull/3974
- docs: update modules structure and platform branding by @abuijze in https://github.com/AxonIQ/AxonFramework/pull/3960
- Doc/doc migration conversion by @abuijze in https://github.com/AxonIQ/AxonFramework/pull/3954
- Rewrote documentation about test fixtures by @abuijze in https://github.com/AxonIQ/AxonFramework/pull/3991
- Fix documentation for EventStoreTransaction methods by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/3983
- docs(af5-getting-started): Update Axon Framework version to 5.0.1 by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/3987
- docs(messaging): clarify that @Timestamp annotation is required to inject event timestamp in @EventHandler and @EventSourcingHandler annotations by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4106
- [#3517] docs(reference-guide): update DLQ docs for Axon Framework 5 by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4292
- Introduce the base migration guide by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4075
- Mark documentation as pre-release for development branch by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4103
- [#3105] Add snapshot documentation by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4298
- Add reference documentation for inline message payload conversion by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4316
- Improvements for queries documentation in the reference guide by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4322
- Improve Javadoc on QueryUpdateEmitter by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4327
- Doc typo - refer to Event schedulers instead of Deadlines by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4310
- Add missing author and since tags by @hjohn in https://github.com/AxonIQ/AxonFramework/pull/4371
- Add a module overview diagram to the Axon Framework Documentation by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4386
- Color-code the module overview in the reference by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4387
- Repository Transfer notice by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4415
- Remove image link about AxonIQ Console by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4421
Axoniq Framework
Features
- [#3105] Set AxonServerSnapshotStore in the AxonServerConfigurationEnhancer by @smcvb in [#3105] Set `AxonServerSnapshotStore` in the `AxonServerConfigurationEnhancer` by smcvb · Pull Request #4307 · AxonIQ/AxonFramework · GitHub
- Snapshotting rework to allow snapshots to be part of event stream by @hjohn in Snapshotting rework to allow snapshots to be part of event stream by hjohn · Pull Request #4335 · AxonIQ/AxonFramework · GitHub
- [#3435] Align MultiStreamableMessageSource with StreamableEventSource interface
- [#3435] Created the MultiStreamableEventSource implementation by @abuijze in https://github.com/AxonIQ/AxonFramework/pull/4116
- [#3517] Revise Dead Letter Queue
- [#3517] feat: Dead Letter Queue adjusted to AF5 API by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4120
- [#4182] feat(extensions/spring): JdbcAutoConfiguration + JdbcDeadLetterQueueAutoConfiguration by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4287
- [#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 by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/3992
- [#3517] JpaSequencedDeadLetterQueue aligned with AF5 APIs by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4178
- [#3517] CachingSequencedDeadLetterQueue per Segment by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4202
- [#3517] Move JPA dead letter classes from stash/todo to messaging module by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4211
- [#3517] JdbcSequencedDeadLetterQueue aligned with AF5 APIs by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4230
- [#3517] JpaSequencedDeadLetterQueue auto configuration by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4247
- [#3517] Add Context context() method to DeadLetter interface by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4289
- [#3517] Remove unused DeadLetterQueueProviderConfigurerModule by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4361
- DistributedQueryBusConfiguration cleanup and support for local shortcut by @abuijze in https://github.com/AxonIQ/AxonFramework/pull/4195
- Align DistributedQueryBusConfiguration with DistributedCommandBusConfiguration by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4373
- Move Sequenced Dead-Letter Queue feature to Axoniq Framework by @MateuszNaKodach in https://github.com/AxonIQ/AxonFramework/pull/4408
- Moved MultiSourceTrackingToken and MultiStreamableEventSource to Axoniq Framework by @jangalinski in https://github.com/AxonIQ/AxonFramework/pull/4410
- Move Axon Server integration to Axoniq Framework by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4412
- Port DistributedCommand- and -QueryBus to Axoniq Framework by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4439
- Remove the final Axon Server mentions by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4446
- [#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 by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4266
- Fix race-condition for DistributedQueryBusSubscriptionQueryTest#replayBufferOverflow by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4286
- [#4437] AggregateBasedAxonServerEventStorageEngine returns invalid AggregateSequence
- [#4474] PostgresqlEventStorageEngine throws AppendEventsTransactionRejectedException when appending >= 2 events from a command handler
- [#4408] Remove DLQ references from persistence configuration by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4440
- Remove DLQ entity registration in JpaAutoConfiguration by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4441
- Adjust AxonServerAutoConfiguration import for Spring Boot autoconfig classes by @smcvb in https://github.com/AxonIQ/AxonFramework/pull/4438
- [#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 by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4338
- Prepare composite Axon Framework / Axoniq Framework documentation by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4420
- Adjust references to AxoniqFramework classes in the reference guide by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4449
- Add Visual indicator for features moved to Axoniq Framework by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4462
- Restructure Antora Setup by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4469
- Include Data Protection documentation in framework reference guide by @hatzlj in https://github.com/AxonIQ/AxonFramework/pull/4473
- [#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
Contributors
We’d like to thank all the contributors who worked on this release!
- https://github.com/abuijze
- https://github.com/CodeDrivenMitch
- https://github.com/corradom
- https://github.com/dilgerma
- https://github.com/hatzlj
- https://github.com/hjohn
- https://github.com/jangalinski
- https://github.com/Kirboyyy
- https://github.com/markuseckstein
- https://github.com/masaha03
- https://github.com/MateuszNaKodach
- https://github.com/Sam-Kruglov
- https://github.com/smcvb
- https://github.com/stefanmirkovic
- https://github.com/theoema
- https://github.com/vcanuel
- https://github.com/zambrovski