Releases: AxonIQ/AxonFramework
Release list
Axon Framework v5.0.0-RC2
⭐ Features
- Usage of Release Candidates #2589
📈 Enhancements
- Removed
SubscriptionQueryMessageand responseType from QueryMessage #3835 - fix(messaging):
DistributedCommandBusConfigurationEnhancer- InterceptingCommandBus wraps DistributedCommandBus #3830 - Add additional tests to StorageEngineTestSuite #3827
- [#3811, #3813] Gateways get default implementations for nullable/optional parameters #3815
- Move QueryGateway to
gatewaypackage #3813
🪲 Bug fixes
- Allow for multiple initial responses on a subscription query #3829
- fix(axon-server-connector): handle error query result #3828
- [#3809] fix:
DistributedQueryBus- intercept dispatching + register handlers #3826 - [#3752] feat(messaging): InterceptingQueryBus - intercept subscription queries on dispatch #3824
- [#3818] fix(messaging): improving MessageStream creation from single, null, future and concatination #3821
- Distributed SubscriptionQuery (single) does not receive updates from server #3818
- InterceptingQueryGateway must also wrap the DistributedQueryBus, not the local segment #3809
🛠️ Dependency upgrades
- chore(deps): bump the maven-dependencies group with 8 updates #3790
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v5.0.0-RC1
What's Changed
- [#3734] fix(messaging):
QueryGateway- handlesMessageStream.Emptyas a query result by @MateuszNaKodach in #3735 - Bump the maven-dependencies group with 4 updates by @dependabot[bot] in #3738
- Replace TokenStore Builders by @nordicthings in #3730
- Fix missed renames by @hjohn in #3741
- fix(messaging):
DelegatingCommandBusConnector- fix subscribe returns CompletableFuture by @MateuszNaKodach in #3742 - testcontainers: change Axon Server image version to
2025.2.0-EAP2by @MateuszNaKodach in #3739 - chore: make functional interface by @jangalinski in #3744
- chore: enable jenv local by @jangalinski in #3743
- refactor(messaging):
SubscribableMessageSourcetoSubscribableEventSource+EventProcessingStrategyremoval by @MateuszNaKodach in #3736 - Typos on website university demo by @rubenahrens in #3737
- chore: configure javaagent for mockito by @jangalinski in #3755
- TokenStore rebuild by @zambrovski in #3749
- Send-and-wait API clean-up on the
CommandGatewayby @smcvb in #3748 - [#3358 & #3488] Remove Query-specific
ResponseTypeandStreamingQueryMessageby @smcvb in #3740 - [#3553] Rename trace and correlation identifier to correlation and causation identifier in the
MessageOriginProviderby @smcvb in #3746 - Clean-up
ErrorHandlerAPI by @smcvb in #3747 - Potential build improvements by @hjohn in #3745
- Bump the maven-dependencies group with 6 updates by @dependabot[bot] in #3770
- chore: introduce commandhandling sub package for interceptors by @jangalinski in #3765
- [#3601] Remove the
RevisionResolverand@Revisionby @smcvb in #3750 - Move static factory methods for reactor types to MessageStreamUtils by @hjohn in #3766
- Feature/warning fixes by @hjohn in #3775
- [#3392] feat(messaging):
EventStore extends EventBus, async-nativeEventBusby @MateuszNaKodach in #3754 - refactor:
StreamableEventSource- remove generic parameter by @MateuszNaKodach in #3780 - [#3392] feat: remove
AbstractEventBus- prefer composition over inheritance by @MateuszNaKodach in #3778 - [#3653] Reintroduce JPA-based Spring Boot autoconfiguration by @zambrovski in #3769
- [#3596] feat: EntityIdResolver throws an checked exception when resolution fails by @hjohn in #3779
- chore(deps): bump actions/setup-node from 5 to 6 in the github-dependencies group by @dependabot[bot] in #3789
- Create Framework Extensions by @zambrovski in #3787
- chore: autoclose file in/out stream by @jangalinski in #3795
- feat:
Configuration- addgetComponents()method to the interface by @MateuszNaKodach in #3793 - Restructuring of the QueryBus, namely for Subscription Queries by @abuijze in #3796
- [#3595] feat:
MessageMonitorsand monitoring support by @jangalinski in #3763 - chore: handler interceptors use generic super message type by @jangalinski in #3797
- [#3521] feat(axon-server-connector):
EventProcessorControlServicealigned with the new Configuration API by @MateuszNaKodach in #3794 - [#3672] Abstract sourcing condition position by @hjohn in #3774
- [#3752] feat(messaging):
InterceptingQueryBus- intercept queries and emitted updates by @MateuszNaKodach in #3801 - chore: clean conventions for Utility classes by @jangalinski in #3802
- Update docs for extensions by @zambrovski in #3799
- Update TokenStore interface to be compatible with future mask changes by @hjohn in #3805
- [#722] Introduce class level @command, @event, @query @QueryResponse by @zambrovski in #3806
- [#3465] feat:
TokenStore- store mask in token entry tables by @hjohn in #3792 - [#613 & #3488] The
DistributedQueryBus,QueryBusConnector, andAxonServerQueryBusConnectorby @smcvb in #3762 - feat:
DistributedQueryBusConfigurationEnhancer+DefaultQueryGatewaywith converter by @MateuszNaKodach in #3810
New Contributors
- @rubenahrens made their first contribution in #3737
Full Changelog: axon-5.0.0-preview...axon-5.0.0-RC1
Axon Framework v5.0.0-preview
The preview of Axon Framework 5 is finally here! Expect the first release candidate to drop soon after.
For those looking to experiment with this milestone, be sure to check out the Getting Started section of AxonIQ Docs.
The list below contains all the features, enhancements, bugs, and documentation changes we've done.
⭐ Features
- [#3641] feat:
SequencingPolicyadjusted to AF5 API #3679 - [#3640] feat:
@SequencingPolicyannotation (class-level and method-level) +@EventHandlerannotationeventNameproperty #3705 - Annotation-less configuration API for Query Handling Components #3364
- [#3488] Query Handler Registration #3719
- feat(test):
AxonTestFixture- await assertions, generic expect, AxonServer enabled customization #3714 - Revamp
SpringAggregateLookupandSpringAggregateConfigurerto new Entity and Configuration API #3499 - Sequencing Policy configuration per Annotated Event Handler and Event Handling Component #3640
- Introduce an
@Internalannotation and use throughout #3427
📈 Enhancements
- Revise
SequencingPolicyimplementations #3641 - Update
SequentialPerAggregatePolicyto useProcessingContext#3652 - [#3641] feat:
SequencingPolicyadjusted to AF5 API #3679 - [#3640] feat:
@SequencingPolicyannotation (class-level and method-level) +@EventHandlerannotationeventNameproperty #3705 - [#3357] cleanup: remove unnecessary methods from the legacy
EventProcessingModule#3687 - [#3098] refactor: EventProcessors - change the API to async-native #3693
- [#3640] feat:
EventProcessors - allows to retrieve components fromProcessingContextwhile determining the Sequence Identifier #3695 - Remove EventHandlingComponentBuilder,
MetaDataSequencingPolicy- do not contain fallback internally #3718 - Revise
TokenStoreto be Async Native #3432 - [#3432] Make the
TokenStoreasync-native #3715 - [#3103] Add Dispatch and Handler registration methods #3657
- Revise
MessageHandlerInterceptorandMessageDispatcherInterceptorAPI #3103 - [#3103] Integrate Event Handler Interceptors into Event Processing #3660
- [#3103] Event
MessageDispatchInterceptorsupport for publishing and appending events #3663 - [#3103] Clean-up Message Dispatch and Handler Interceptor revising todos #3665
- Ensure
CorrelationDataProvidersare integrated correctly #3579 - [#3579] Provide correlation data support #3666
- [#3488] Preliminary clean-up of
QueryGatewayandQueryBus#3669 - [#3488] Remove
SimpleQueryBus#Builderand make theQueryBusandSimpleQueryBusinto aQueryHandlerRegistry#3681 - Revise the Query API #3079
- [#3488] Align "Direct Query" / "Point-to-Point Query" with Async Native API #3688
- [#3488] Remove scatter-gather support #3690
- [#3488] Reintroduce
QueryBus#streamingQuery#3700 - [#3488] Reintroduce
QueryBus#subscriptionQuery#3708 - Reintroduce
MessageHandlerLookupandMessageHandlerConfigurer#3498 - [#3498 & #3499] Spring AutoConfiguration for message handlers and event-sourced entities/aggregates #3686
- Updating Event Processor configuration for Spring Boot #3495
- [#3495] Updating Event Processor configuration for Spring Boot #3702
- Unify annotation names #1781
- Add ProcessingContext to EventStore and EventStorageEngine methods #3692
- Add new method afterCommit to EventStorageTransaction#AppendTransaction #3703
- feat: add
EventCriteria#either(Collection<EventCriteria>)method #3694 - Avoid using reserved keywords in the package structure. #3635
- Component configuration shift #902
- Component Decoration type validation #3513
- [#3513] Validate that decoration result matches the registered type #3639
- Convert the
AvroSerializerto anAvroConverter#3609 - Implement Avro Converter #3645
- refactor(messaging):
eventhandling- reorganize subpackages for improved structure and clarity #3646 - Mark
EventStorageEngineinterface as internal. #3671 - enhancement(eventsourcing):
EventStoreinterface extendsStreamableEventSource#3650 - [#3577] Disable enhancer scanning for
BaseModuleimplementations #3668 - Mark
EventStorageEngineas internal #3676 - Add slow and flaky tags to some tests #3685
- Unwrap exceptions when using CommandGateway::sendAndWait #3712
- Mark ConnectionProvider and EntityManagerProvider internal #3722
- Rename
MetaDatatoMetadata, including all usages #3593 - [#3593] Rename all occurences of metadata #3682
- Fix new generic of MetaData #3683
📖 Documentation
- Expand Getting Started with Event Processing and Handling (Automations) #3648
- [#3648] docs: Axon Framework 5.0.0-M3 - Expand Getting Started with Event Processing and Handling #3658
- Expand Getting Started with Projection (Read Model) example #3659
- [#3659] docs: Axon Framework 5.0.0-M3 - Expand Getting Started with Read Model example #3691
- Review Aggregate to Entities section of AF5 API Changes #3697
- 📝 docs(af5-getting-started): Update Axon version from
5.0.0-M3to5.0.0-preview#3723 - 📝 docs(af5-getting-started): add QueryHandler example #3729
🪲 Bug fixes
- [#3103]
CommandMessage,EventMessage, andQueryMessage-specificMessageDispatchInterceptorsupport #3664 - Ensure
ConfigurationEnhancersare not registered twice #3656 - fix(eventsourcing):
InMemoryEventStorageEnginehandles streaming if the store is empty #3649 - Additional Integration Test,
AxonTestFixture#stop,EventSinkasDescribableComponent,EventAppendercompletes publication, and transactionUnitOfWorkFactoryresource fix #3655 IteratorMessageStreamreports completion too early when usingpeek[#3670](https://github.com/AxonFramework/Ax...
Axon Framework v5.0.0 - Milestone 3
The third milestone of Axon Framework 5 is finally here!
The list below contains all the features, enhancements, bugs, and documentation changes we've done.
For those looking to experiment with this milestone, be sure to check out the Getting Started section of AxonIQ Docs.
⭐ Features
- [#3098] feat(event-processing): add
EventCriteriasupport toPooledStreamingEventProcessor - Annotation-less configuration API for Event Handling Components
- [#3098] feat(eventhandling): new EventProcessing configuration +
SequencingEventHandlingComponent ProcessingContextshould allow to get components from theConfiguration- [#3608] feat:
ProcessingContextshould allow to get components from theConfiguration - Introduce Stateful Event Handler
- [#3357] feat(eventhandling): allows to use EventProcessor with
StateManager - [#3102] Introduce
Message#payloadAs(Type, Converter) - [#722] Introduce class-level
@Command,@Event, and@Queryannotations - Add Async (Annotated) Message Handler test suite
- Feature/handler test case
- Introduce
CommandDispatcherandProcessingContextusage validation for command-flow - [#3401] Introduce the
CommandDispatcher - Introduce special First and Latest
TrackingTokeninstances - Introduce FirstTrackingToken and LatestTrackingToken (#3552)
📈 Enhancements
- Clean-up new Distributed Command Bus solution
- [#3399]
AxonServerConnectorfor theDistributedCommandBus - Wire the
AxonServerConnectorinstead of theAxonServerCommandBus - [#3076] Numerous Axon Server Spring Boot Auto Configuration fixes
- [#3098] refactor(event-processing): revise
EventProcessors- replaceEventHandlerInvokerwithEventHandlingComponent - [#3098] refactor!: remove
TrackingEventProcessorand setPooledStreamingEventProcessoras a default - feat(event-sourcing): support
@EventCriteriaBuilderdetection in nested classes - feat(eventhandling): change default
SequencingPolicytoSequentialPolicy ModellingConfigurer- simplified "root-level" entity registration- [#3607] feat(modelling):
ModellingConfigurer- simplified "root-level" entity registration - Revise
SequencingPolicyimplementations - [#3641] feat(eventhandling):
SequencingPolicy- addProcessingContextas a parameter - Rewrite
SerializerstoConverters - [#3102] The
JacksonConverterimplementation - [#3102] Pass through on the
PassThroughConverter - [#3102] Remove
TestConverter - [#3102] Allow for
TypeonConverters - [#3102] Rename
Message#getPayloadTypetoMessage#payloadType - [#3102] Use
TypeandConverterforMessage#withConvertedPayload - [#3102] Remember converted payloads in the
GenericMessage - [#3102] Deprecate
EventDataand removeLegacyJpaEventStorageEngine - [#3102] Replace
DomainEventEntryforAggregateBasedEventEntryand fine-tuneAggregateBasedJpaEventStorageEngine - [#3102 / #3167 / #3239] Remove
AxonServerEventStoreand related tools in favor ofAxonServerEventStorageEngine - [#3102] Remove the
XStreamSerializer - [#3102] Remove
MessageandConverterserialization specific methods - [#3102] Reintroduce
Converterlayering andConverterSpring Boot autoconfiguration - [#3102] Add
Serializer-to-Converterdocumentation - [#3103] Align
MessageDispatchInterceptorandMessageHandlerInterceptorwith Async Native API - Convert payload before extracting id from message for AnnotatedEntityMetamodel
- Feature/remove message generic
- Change update checker request parameters
- Store non-domain Events without
aggregateIdentifierandsequenceNumber - Increase batched event processing parallelization
- Use
@Nonnulland@NullablethroughMessageimplementation - Move tag resolution responsibility from
EventStoreTransactiontoEventStore - [#3253] Move
TagResolverfromDefaultEventStoreTransactiontoSimpleEventStore - Rename
Message#getIdentifiertoMessage#identifier - Rename
Message#getPayloadtoMessage#payload - Rename
Message#getMetaDatatoMessage#metaData - Rename
EventMessage#getTimestamp,QueryMessage#getResponseType(), andSubscriptionQueryMessage#getUpdateResponseType() - Streamline
EventProcessortests - Expand the
MessageTestSuite
📖 Documentation
- Add Command Bus / Command Gateway section to the
api-changes.md - [#3408] Add Command Dispatching and Handling section to
api-changes.md
🪲 Bug fixes
- fix(eventhandling):
EventHandlingComponent#sequenceIdentifierForreturns Optional instead of the value inside - fix(test): resolve non-deterministic race condition in AccessSerializingRepositoryTest
- [#3483] Minor
SimpleEventStorechange - useEventStorageEnginei.o.UnitOfWorkFactoryonEventStore#publishwithoutProcessingContext. - Fix minor generic mismatches allowed by javac, but not by ecj
- ECJ compiler fix in the
AnnotatedHandlerInspector - Consider switching from h2 to TestContainer tests to avoid build pipeline blocking
- [#3623] Add HSQLDB container and use it in JDBCEventStorageEngineTest
- Bump the maven-dependencies group across 1 directory with 25 updates
- Bump slackapi/slack-github-action from 1.27.0 to 2.1.1 in the github-dependencies group
- Bump the maven-dependencies group with 4 updates
- Bump the maven-dependencies group with 6 updates
- Bump actions/checkout from 4 to 5 in the github-dependencies group
- [Bump the maven-dependencies group with 11 updates](https://github.com/AxonFramework/...
🪲 Dependency upgrades
Axon Framework v4.12.1
🔨 Breaking changes
If your application uses the JobRunrEventScheduler or JobRunrDeadlineManager, be sure to upgrade to JobRunr 8!
This dependency upgrade pull request for Axon Framework 4.12.0 upgraded the version of JobRunr, which is not backwards compatible.
🪲 Bug fixes
- [#3565] Several Axon Framework Update Checker fixes #3574
- UpdateCheckerHttpClient unable to report usage data, does not follow redirect #3565
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v4.12.0
Update Checker Notice
This release introduces the "Axon Framework Update Checker," which report the Axon Framework version and anonymized machine identifier to AxonIQ Servers.
In return, the Update Checker receives information about version updates and potential vulnerabilities, reporting this to the Axon Framework application.
For more details on what it does, why we added it, what you get in return, and how you can configure it, can be found on this page.
🔨 Breaking changes
If your application uses the JobRunrEventScheduler or JobRunrDeadlineManager, be sure to upgrade to JobRunr 8!
This dependency upgrade pull request for Axon Framework 4.12.0 upgraded the version of JobRunr, which is not backwards compatible.
⭐ Features
📈 Enhancements
- #3431 Added caching for unknown classes
- #3530 Incompatibility of MessageAuthorizationDispatchInterceptor and Tracing (DataDog)
- #3549 Spring Authorization intercepting simplification
🪲 Bug fixes
- #3551 - TrackingEventProcessor does not restart after janitor timeout interruption
- #3532 Duplicate call to
Eventstream.excludePayloadType()inEventBuffer.skipMessagesWithPayloadTypeOf() - #3533 Remove duplicate call to
Eventstream.excludePayloadTypewhen skipping anUnknownSerializedType
📖 Documentation
- #3374 docs: fix broken link for allocation-size details in "Auto-increment and sequences" section
- #3391 Spring Boot App Fails to Start: Missing RuntimeDomain Class from Protobuf After Axonframework Update from 4.10.3 to 4.11.1
- #3518 Upcasting snapshots documentation
- #3531 docs(event-snapshots): add warning - make it clear that SnapshotFilter implementations should check the aggregate type
- #3534 docs(known-issues): describe
Protobuf version conflicts with Axon Server Connector - #3546 Add Snapshot Event Upcasting section and
SnapshotFilterusage warning
🛠️ Dependency upgrades
The following dependency updates were included in this release:
- #3282 Bump the maven-dependencies group with 8 updates
- #3300 Bump the maven-dependencies group with 3 updates
- #3301 Bump com.mchange:c3p0 from 0.11.0-pre1 to 0.11.0-pre2
- #3303 Bump the maven-dependencies group with 3 updates
- #3321 Bump the maven-dependencies group with 6 updates
- #3330 Bump the maven-dependencies group with 4 updates
- #3341 Bump the maven-dependencies group with 5 updates
- #3347 Bump the maven-dependencies group with 2 updates
- #3359 Bump the maven-dependencies group with 4 updates
- #3368 Bump the maven-dependencies group with 7 updates
- #3386 Bump the maven-dependencies group with 3 updates
- #3387 Bump actions/setup-java from 4.7.0 to 4.7.1 in the github-dependencies group
- #3406 Bump the maven-dependencies group with 4 updates
- #3416 Bump the maven-dependencies group across 1 directory with 3 updates
- #3419 Bump com.mysql:mysql-connector-j from 9.2.0 to 9.3.0 in the maven-dependencies group
- #3430 Bump the maven-dependencies group with 4 updates
- #3441 Bump the maven-dependencies group with 4 updates
- #3445 Bump the maven-dependencies group across 1 directory with 4 updates
- #3446 Bump the maven-dependencies group with 2 updates
- #3448 Bump the maven-dependencies group with 2 updates
- #3453 Bump the maven-dependencies group with 5 updates
- #3462 Bump the maven-dependencies group with 2 updates
- #3472 Bump org.postgresql:postgresql from 42.7.6 to 42.7.7
- #3476 Bump the maven-dependencies group with 5 updates
- #3537 Bump the maven-dependencies group across 1 directory with 17 updates
- #3548 Bump the maven-dependencies group across 1 directory with 8 updates
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v4.11.3
Axon Framework v5.0.0 - Milestone 2
The second milestone of Axon Framework 5 is finally here!
The list below contains all the features, enhancements, bugs, and documentation changes we've done.
For those looking to experiment with this milestone, be sure to check out the Getting Started section of AxonIQ Docs.
🪲 Bug fixes
- fix:
AxonTestFixtureworks withSpringAxonApplication - Ignore installations without user.home
- Register start/shutdown handlers of "local"
ComponentsasSmartLifecyclebeans - Remove
axon-configurationdependency from Spring, Spring Boot, and Axon Server Connector modules
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v5.0.0 - Milestone 2
The second milestone of Axon Framework 5 is finally here!
The list below contains all the features, enhancements, bugs, and documentation changes we've done.
For those looking to experiment with this milestone, be sure to check out the Getting Started section of AxonIQ Docs.
⭐ Features
- Implement Axon Server-based Event Store using new API
- [#3239] Introduce the
AxonServerEventStorageEngine - [#3075] Implement Spring-based
ComponentRegistry,LifecycleRegistry,ApplicationConfigurer, andAxonConfiguration - [#3239] Enforce
ConsistencyMarkeras the final message forEventStorageEngine#sourceinvocations - Implement
AxonServerEventStorageEngine#tokenAtoperation once Axon Server supports this - [#3239] The
ComponentFactory,AxonServerEventStorageEngineFactory, and Axon ServerConfigurationEnhancer - Event Sourcing Handler support for evolved state return
MessageStream- addpeekmethod- [#3068] Declarable entity modeling
- Creational command handlers for (immutable) entities
- Annotated entity modelling
- Implement AnnotationBasedEventSourcedEntityFactory
- Implement new EntityModule structure for registering entities
- Rename EntityModel to EntityMetamodel across the codebase
- Update Checker with Anonymous Usage Analytics
- [#3402] feat:
MessagingConfigurercan overrideMessageTypeResolver+NamespaceMessageTypeResolverimplementation - Configuration uses instance-of checks for Component retrieval
- [#3434] Do
Class#isAssignableFromto retrieve components and match decorators in theConfigurer - [#3433] Remove Conflict Resolution and Target Aggregate Versioning
- [#3459] feat:
MessageStream- addpeekmethod - [#3313] Enable tests for record support
- Remove Aggregate Versioning and Conflict Resolution
📈 Enhancements
- Revise Aggregate Modelling
- Redefine command model creation policy flow
- Use EntityId on non-collection Aggregate Members for routing
- Non-String Aggregate Identifiers
- Revisit Aggregate Polymorphism
- Rethink use and intent of
AggregateFactory - Revise use of Aggregate Member
ForwardingMode - Split ChildEntityMatcher for clearer message forwarding
- Rename Message Handler interfaces or Message Handler annotations to ensure they don't clash
- Validate if we can implement
EventSink#publish(String, List<EventMessage<?>>)on theSimpleEventStore - Add
ProcessingContextparameter to theEventGateway - [#3425 and #3243] Align the
EventGatewayandEventSinkAPI withCommandGatewayandCommandBus - refactor: introduce
eventstreamingpackage inmessagingmodule - [#3098] feat: revise EventProcessors - remove LegacyUnitOfWork in favor of UnitOfWork
- [#3098] feat: revise EventProcessors - replace
TransactionManagerwith UnitOfWork - [#3098] refactor:
PooledStreamingEventProcessor- replaceStreamableMessageSourcewithStreamableEventSource - [#3098] refactor:
EventProcessors- remove inheritance fromAbstractEventProcessor - Special Token Positions - Rename tail to first and head to latest
- Remove
SourcingCondition#end - [#3424] Remove
SourcingCondition#end - Remove
? extendsfrom many MessageStream results - Only use Jakarta for nullability annotations
- Make all components use the ProcessingContext
- Rename EventSourcedComponent to EntityEvolvingComponent
- Adjust
MetaDatato aMap<String, String> - [#3423] Adjust
MetaDatato containStringvalues - [#3102] Converter and ContentConverterType clean-up
- [#3102] Mark the
Serializerflow as deprecated - Add
ComponentRegistry#registerIfNotPresentmethods - Add support for generic component registration with TypeReference
- Remove
Lifecycleinterface,StartHandlerannotation, andShutdownHandlerannotation - [#3425] Test util clean-up
- Axon Server for DCB integration tests
📖 Documentation
- Validate
api-changes.mdfile - [#3382] Add missing, and fine-tune existing,
api-changessections - Add Update Checker mention to the README.md
🪲 Bug fixes
- Fix flaky
StorageEngineTestSuitetest, and disable AS download message - fix: flaky
AggregateBasedStorageEngineTestSuite- wait for commit - Check for @EntityCreator method is not detecting return type correctly
- [#3503] fix: Check for @EntityCreator method is not detecting return type correctly
- Fix exceptions not being propagates from start handlers
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v4.11.2
⭐ Features
- [#3170] Persistent streams - auto configuration #3339
- [#3170] Persistent streams - automatic configuration #3184
- Persistent streams - automatic configuration #3170
📈 Enhancements
- Ignore aggregates that have been
AggregateLifecycle#markDeletedwhen using the Create-if-missing policy. #3333 - Split default Avro schema store creation from the schema scan #3329
- Separate AvroSchemaScan based detection of schemas and creation of a default Avro SchemaStore #3328
- Proper handling of attempts to recreate event sourcing aggregates marked as deleted #3323
🪲 Bug fixes
- [#3385] Align interceptor behavior for Aggregate Members #3404
- CommandHandlerInterceptor on Aggregate Member only called if Aggregate has CommandHandlerInterceptor as well #3385
- Fix default Snapshotter throwing
IndexOutOfBoundsException#3375 - fix Correlation data table #3370
- Fixes subscription query update permits issue #3356
- [#3171] Support
@CreationPolicyannotated interface methods again #3335 - Reset the
Coordinator'sprocessing gate if theCoordinatorwas aborted and rescheduled #3307
❤️ Contributors
We'd like to thank all the contributors who worked on this release!