Minor Releases
Any patch release made for an Axon project is tailored towards resolving bugs. This page aims to provide a dedicated overview of patch releases per project.
Release 5.3
Release 5.3.1
Enhancements
-
Dedicated
@EntityCreatorannotation enforcing entity creation regardless of existence (PR #4933, by @smcvb) -
Cache
AnnotationMessageTypeResolverannotation look-ups | Pre-compute entity event routing (PR #4931, by @MateuszNaKodach) -
Implement lowerBound on the aggregate-based consistency marker (#4815, PR #4928, by @schananas)
-
Match segments against pre-resolved sequence identifiers (#4797, PR #4923, by @MateuszNaKodach)
-
Add GHA to automate releases (PR #4922, by @corradom)
-
Leave the processor token-store name unset by default (#4809, PR #4909, by @schananas)
-
Clear the re-claim block when a split or merge fails (#4798, PR #4908, by @schananas)
Bug fixes
-
SegmentChangeListner#onSegmentClaimedhas token parameter | UnifyinitializeTokenSegmentsfailure behavior (#4924, PR #4946, by @schananas) -
Correctly support
@EventSourcedannotation for polymorphic entities (#4906, PR #4944, by @smcvb) -
Convert message handlers to right MessageStream cardinality (PR #4943, by @CodeDrivenMitch)
-
Fix broken link to entity-creator.adoc in stateful-command-handler.adoc (PR #4938, by @corradom)
-
Return
ManagedEntityfromRepositoryand provided to@InjectEntityannotated parameters at all times (PR #4936, by @smcvb) -
Release the token claim after the segment release listeners (#4924, PR #4935, by @schananas)
-
Ensure
HierarchicalStateManagersupports Entity-subtype search (#4904, PR #4932, by @smcvb) -
Fall back to the event identifier when a sequencing policy resolves nothing (#4797, PR #4914, by @schananas)
-
Resolve the reset converter only when there is a reset context (#4796, PR #4913, by @schananas)
-
Preserve assignable payloads without a converter (#4874, PR #4912, by @MateuszNaKodach)
-
Make a batch of appended events visible atomically in the in-memory store (#4824, PR #4911, by @schananas)
-
Keep the work package’s stored token monotonic from the first store of a claim (#4801, #4836, PR #4910, by @schananas)
-
Adopt a concurrently created config token instead of failing to start (#4802, PR #4907, by @schananas)
-
Recognise the broadcast sentinel by identity instead of by value (#4800, PR #4903, by @schananas)
-
Align the autoconfigured JPA gap defaults with the core defaults (#4799, PR #4902, by @schananas)
Documentation
-
Add PostgreSQL known-issue link in Token Store section (PR #4947, by @smcvb)
Release 5.2
Release 5.2.3
Release 5.2.2
Bug fixes
-
Reopen the event stream when its source completed it #4785
Release 5.2.1
Bug fixes
-
Validate return and parameter type against field type (PR #4780, by @smcvb)
-
Only deduplicate fluent accessors for records (PR #4779, by @smcvb)
-
Active entities should only receive tag-matching events during command handling phase ([#4766, [PR #4773, by @MateuszNaKodach)
-
Resolve incorrect event routing in heterogeneous Sequencing Policy setup among Event Handling Components (PR #4771, by @MateuszNaKodach)
-
Only resolve replay context during an active replay (PR #4754, by @abuijze)
-
Do not report rolled-back events in AxonTestFixture (PR #4749, by @abuijze)
Release 5.1
Release 5.1.2
Features
-
feat(migration): preserve AF4
MessageOriginProvidermetadata key names in AF5 #4613
Enhancements
-
[#3195] feat(migration): fix Kotlin OpenRewrite migration gaps #4605
Bug fixes
-
[#4643 | Port]
AggregateBasedJpaEventStorageEngine#streamloops untilStreamingConditionmatching events are retrieved #4686 -
[#4625 | Port] Introduce the
EventTypeResolverforEventStorageEngines| Allows for default versions #4672 -
[#4634 | Port] Register the Micrometer
MetricsConfigurationEnhanceronly once when using Spring Boot #4671 -
Port (5.1.x): [#4647] Propagate all entry resources to per-event ProcessingContext #4670
-
fix(messaging): disposing a Flux does not close the underlying subscription query #4667
-
Avoid costly stack walk on every task start in AxonTimeLimitedTask #4655
-
fix(migration): honor skipTests property #4631
-
Align
QualifiedName#(Class)outcome with annotated approach for nested classes #4630 -
test(eventsourcing): assert event metadata is preserved when sourcing aggregate-based events #4628
Release 5.1.1
Enhancements
-
#4604 Set expected
axoniq.versionto5.1.1 -
#4599 Add OpenRewrite recipes to migrate
SnapshotTriggerDefinitioninto@Snapshottingannotation (#3195) -
#4598 Account for async snapshot storage in
SnapshottingEntityLifecycleHandlerTestSuite -
#4526 Fix
fromFutureto return empty stream when future completes withnull(#4516) -
#4521 Fix
fromFutureto return empty stream when future completes withnull(#4516) -
#4498 Make
MessageStreamimprovements and addMessageStreamTestSuite -
#4460 Rework snapshotting to allow single request snapshot and events streams
Bug fixes
-
#4610 Remove migration BOM tests failing due to chicken-and-egg problem
-
#4608 Copy AF4 dependencies during generate-test-resources
-
#4607 Combine all
ListAppender-using snapshotting tests into a single@Nestedclass -
#4606 Move AF4 dependencies inside profile for
axon-migrationmodule -
#4603 Validate
ProcessingContextis committed inSimpleQueryBusonemitUpdate,completeSubscriptions, andcompleteSubscriptionsExceptionallyinvocations (#4594) -
#4587 Fix
SplitTaskleaving token store inconsistent after segment split (#4583) -
#4578 Remove
describemethod fromComponentDescriptorinterface -
#4576 Fix migration paths documentation: update annotation from
@InjectStateto@InjectEntityin GiftCard example -
#4567 Fix duplicate command handler registration when subtype overrides handler (#3934)
-
#4566 Fix Axon auto-configuration with graceful shutdown test (#3310)
-
#4565 Align test naming with Maven Surefire/Failsafe defaults (#4425)
-
#4537 Port
TrackingTokenper event inProcessingContextfrom axon-5.1.x branch (#4510) -
#4510 Fix
PooledStreamingEventProcessor/WorkPackage-TrackingTokeninProcessingContextper event, not per batch (#4323) -
#4388 Allow for commands without an entity to succeed (#4362)
Dependency upgrades
-
#4504 Update Axon Server image version
Release 5.0
Release 5.0.3
Enhancements
-
#4141 Make Interceptor and Monitor construction Component aware
-
#4159 Import
axoniq/university-demoto examples -
#4165 Align ProcessorDefinition naming with the EventProcessorModule
-
#4167 Add JDK25 build
-
#4173 Introduce local Command sequencing to avoid optimistic lock failures on concurrent command execution (#4155)
-
#4179 Refactor sequencing policies for general messaging usage
-
#4190 Update event publishing methods to accept lists of EventMessage subtypes
-
#4206 Provide JUnit extension for fixture lifecycle management (#4134)
-
#4212 Move JpaTransactionalExecutorProvider and JdbcTransactionalExecutorProvider to messaging module
-
#4219 Port
axon-4.13.xintoaxon-5.0.x -
#4231 Adjust ReplayToken context field type to byte[] (#4218)
-
#4238 EventAppender: add metadata aware append overloads
-
#4250 Introduce TransactionalExecutor for persistent Token Stores (#4248)
Documentation
-
#4137 Refer to Migration Paths section from Migration Guide main page
-
#4148 Minor Getting Started improvements: Refer to examples and folder rename
-
#4156 Migration paths documentation for Projectors and Event Processors (#4084)
-
#4227 Migration paths documentation for serializer/converter (#4091)
-
#4256 Adjust Spring Boot version support matrix
Bug fixes
-
#4149 Rename missing annotated to autodetected in configuration API
-
#4166 Ensure Event Handling Components are described correctly
-
#4175 Ensure ResourceOverridingProcessingContext#resources() does not throw an UnsupportedOperationException
-
#4186 Fix integration test isolation for MonitoringPooledEventProcessingReportIT
-
#4187 Enabled Spring (Boot) tests and subsequent bug fixes (#3496)
-
#4192 WorkPackageTest: match TokenStore initialization contract
-
#4193 ResourceOverridingProcessingContext run lifecycle hooks with the overridden resources
-
#4217 Replay Handlers: Ensure only EventHandlingMembers are wrapped (#4214)
-
#4221 Add support for returning the resume position from a sourcing
-
#4228 Autoconfigure after should use names instead of classes in JpaEventStoreAutoConfiguration
-
#4229 Resolved some type reliance issues in handler wrappers
-
#4240 RecordingEventSink positioned before interceptors: interceptor message changes not reflected in recorded events (#4237)
-
#4255 Make routing with SequentialPolicy consistent across JVM restarts (#4253)
Release 5.0.2
Features
-
[#4053] Introduce Event Processor Specification to influence Event Processor configuration when Event Handlers are autodetected
-
Added ability to customize event processor configuration in Spring by @abuijze in #4067]
Enhancements
-
[#4013] Add integration test using unit of work and EventStore with transactional resource
-
[#4014] Add new integration test using event store and unit of work
-
Annotated Message Handling Component alignment by @smcvb in #4041
-
Ensure every Message Handling Component can be described by @smcvb in #4047
-
Align
EventHandlerRegistrywith command and query equivalents by @smcvb in #4046 -
Align Annotated Message Handler subscription flow by @smcvb in #4042
-
Filter on
EventHandlingMemberinMethodSequencingPolicyEventHandlerDefinitionby @smcvb in #4049 -
Introduce a
TransactionalExecutorby @hjohn in #4055 -
[#4065] Remove processing context parameter from all EventStorageEngine methods except appendEvents
-
[#4065] Remove processing context from most EventStorageEngine methods by @hjohn in #4068
-
Add missing
@Nonnullannotations in processing lifecycle by @hjohn in #4071 -
Minor
MatchersandAxonTestFixtureimprovements by @smcvb in #4069 -
Rename parameter in EntityManagerExecutor by @hjohn in #4080
-
Adjustments to StorageEngineTestSuite for transactional executors by @hjohn in #4089
-
Event Processor Config: Remove
MessageMonitorandSpanFactorycustomization by @smcvb in #4087 -
Add JDBC transactional executor + Spring integration by @hjohn in #4101
-
Remove the
ProcessingLifecycleHandlerRegistrarby @smcvb in #4121 -
[#4032] [git] .gitignore ignores .idea/ but it contains committed files
-
[#4032] cleanup gitignore/idea/ setup by @jangalinski in #4035
-
[#3995] feat(test fixture): AxonTestThenCommand: resultMessagePayload convert payload before executing the check
-
[#3994] Remove ProcessingLifecycleHandlerRegistrar and its usages
Bug fixes
-
[#4010] Circular dependency error with Spring Boot 4.0 WebMVC and @EventHandler components
-
Fix Circular dependency error with Spring Boot 4.0 WebMVC and @EventHandler components by @jangalinski in #4020
-
[#4086] Align JPA storage engine to not enforce uniqueness of message identifier
-
Update identifier column to be non unique by @hjohn in #4122
-
[#4012] Resolve MessageType for query handlers based on MessageTypeResolver
-
[#4006] AggregateBasedJpaEventStorageEngine should return the max (or latest) token when tokenAt is called with a date in the future
-
[#4007] Feature/fix token at future date
-
[#3706] JDBC connections cannot be used by multiple threads at the same time
-
[#3704] In EventStorageEngine, JDBC/JPA implementations should not do work in AppendTransaction::commit
Release 5.0.1
Enhancements
-
Update the AF 5.0.1 branch with AF 4.12.2 #3973
-
Feature/university example application #3969
-
List all autoconfigurations in Meta Inf, apply naming convention #3948
-
Show failed message handler in logs #3913
-
Adjust PSEP log levels #3896
-
Default to the
AnnotationMessageTypeResolverin annotation specific components #3894
Bug fixes
-
Align
UpdateCheckerfixes from 4.12.2 with 5.0.1 #3985 -
[#3982] fix(test):
Event events(@Nonnull` List<?>… events)`: invalid usage of varargs #3984 -
When splitting and merging tokens, update both tokens involved #3978
-
[#3938] Fix startup of application when axon server is not available #3966
-
ApplicationContext doesn’t start properly when AxonServer is not running #3938
-
Prevent duplicate registration of all handlers when using subtypes #3933