Releases: AxonFramework/AxonFramework
Axon Framework v4.9.3
📈 Enhancements
- Skip jacoco if
sonar-enabled
is false. #2976
🪲 Bug Fixes
- Add additional check for NoToken so we never try to open a stream with it. #2986
- Use
TransactionManager
in theEventProcessorControlService
to invokeTokenStore#retrieveStorageIdentifier
#2985 - Resolve issue with eager gap cleanup #2977
- Fix SagaTestFixture use DomainEventMessage #2974
- Weird state causing tracking processors to never advance #2958
🛠️ Dependency Upgrade
- Bump org.postgresql:postgresql from 42.7.1 to 42.7.2 #2984
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v4.9.2
🪲 Bug Fixes
- Added explicit AutoConfigureBefore and AutoConfigureAfter in JpaAutoConfiguration #2964
- Resolved MySQL startup problems in integration tests #2963
- Fix Exception on using OpenTelemetry and ScatterGather queries #2960
- [#2955] Fix ability to replay when at least one Event Handling Component supports a reset #2957
@DisallowReplay
on a single Event Handling Components blocks replay of the entireStreamingEventProcessor
#2955- fix: reverse eventBlockListingEnabled value for EventBuffer#disableIg… #2947
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v4.9.1
📈 Enhancements
- Added support for TrackingToken parameter in SagaTestFixture #2917
- [#2900] Removed requirement for property to disable AxonServer EventStore and enable another one #2909
- Align the
TrackingToken
assert for JPA, JDBC, and AxonServer #2903
🪲 Bug Fixes
- Resolved apparent memory leak in GapAwareTrackingToken #2936
- Axon Spring Boot Starter fails to connect to Axon Server on Spring Boot version 3.1.6+ #2914
- Integration test should use current Axon version #2908
- Behavioral change in 4.9 JpaEventStoreAutoConfiguration #2900
- Make the viable name match with the override, the current name can be… #2888
🛠️ Dependency Upgrade
- Upgrade Axon Server Connector Java to 2023.2.0 #2913
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v4.9.0
Behavioral Breaking Change
In issue #2778 we adapted the default TrackingToken
of each StreamingEventProcessor
to become a ReplayToken
instead of a null
.
These changes result in the certainty that tasks that should not be performed on a replay of old events, like virtually any Saga event handlers, are ignored upon introduction of the Event Handling Component.
However, if you expect all events to be handled as "new" events when introducing a new Event Handling Component, this may come as an unexpected change in behavior.
More specifically, if you use the @DisallowReplay
annotation or ReplayStatus#REPLAY
enumeration on your newly introduced Event Handling Component, you will notice that the annotated method or block of code is no longer invoked.
As such, the default ReplayToken
should be regarded as a behavioral breaking change if you expect all methods of a new Event Handling Component to be invoked, regardless of any Replay API usage.
⭐ Features
- Add suppressible log message when console client is not on the classpath. #2868
- Instruct compiler to include parameter names metadata #2835
- Log notification about AxonIQ console, if console-framework-client is not there #2819
- Add additional Axon Server connector configuration to the
AxonServerConfiguration
#2815 - Introduce the
AxonServerEventStoreFactory
#2807 - Claim segments operation for Streaming Event Processors #2803
- Add property to easily disable using Axon Server as event store. #2801
- Add support for Spring Docker Compose #2790
- Add CBOR format and Spring Boot properties for support #2777
- Allow easy configuration of CBOR #2776
- Support Java modules #2427
📈 Enhancements
- Add JDK21 to GitHub Actions #2866
- [#2843] Make it possible to have multiple instances of the DbScheduler components. #2853
- AxonDbSchedulerAutoConfiguration can not be used multiple times in hierarchical Spring context due to static fields #2843
- Add intermediate span factories for Event Processors #2834
- Add intermediate span factories for Sagas and Repositories #2830
- Add intermediate span factories for DeadlineManager #2829
- Intermediate Span Factory pattern for buses #2826
- Intermediate Span Factory pattern for snapshotters #2824
- Dead-Letter Sequence Identifier Caching #2818
- Detect empty snapshots due to Serializer misconfiguration #2817
- Improve Event Scheduler context configuration #2810
- Implement StreamingEventProcessor.claimSegment #2805
- Improve Spanfactory configurability #2780
- Default to ReplayToken upon creation of new event processor #2778
- Prevent processors from resetting when no handlers support replay #2769
- Improve JavaDoc of the
CommandTargetResolver
#2742
🪲 Bug Fixes
- Execute the axon-spring-boot-3-integrationtests actually with spring 3 #2862
- Resolve classloading issue with ConnectionDetails #2833
- Fix some typos #2783
🛠️ Dependency Upgrade
- Upgrade Axon Server Connector Java to 2023.1.1 #2874
- Bump spring-boot-3.version from 3.1.4 to 3.1.5 #2873
- Bump spring.boot.version from 2.7.16 to 2.7.17 #2872
- Bump log4j.version from 2.20.0 to 2.21.0 #2867
- Bump projectreactor.version from 3.5.10 to 3.5.11 #2864
- Bump io.micrometer:micrometer-core from 1.11.4 to 1.11.5 #2863
- Bump byte-buddy.version from 1.14.8 to 1.14.9 #2861
- Several dependency upgrades #2860
- Bump com.oracle.database.jdbc:ojdbc8 from 23.2.0.0 to 23.3.0.23.09 #2859
- Bump org.testcontainers:testcontainers-bom from 1.19.0 to 1.19.1 #2858
- Bump commons-io:commons-io from 2.13.0 to 2.14.0 #2857
- Bump org.jobrunr:jobrunr from 6.3.1 to 6.3.2 #2854
- Bump spring.boot.version from 2.7.15 to 2.7.16 #2850
- Bump spring-boot-3.version from 3.1.3 to 3.1.4 #2849
- Bump actions/setup-java from 3.12.0 to 3.13.0 #2847
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.5.0 to 3.6.0 #2842
- Bump org.springframework:spring-framework-bom from 5.3.29 to 5.3.30 #2841
- Bump byte-buddy.version from 1.14.7 to 1.14.8 #2840
- Bump actions/checkout from 2 to 4 #2839
- Bump actions/setup-node from 2 to 3 #2838
- Bump org.jobrunr:jobrunr from 6.3.0 to 6.3.1 #2837
- Bump projectreactor.version from 3.5.9 to 3.5.10 #2836
- Bump io.micrometer:micrometer-core from 1.11.3 to 1.11.4 #2832
- Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.4.0 to 3.4.1 #2831
- Bump actions/checkout from 3 to 4 #2825
- Bump slf4j.version from 2.0.7 to 2.0.9 #2823
- Bump actions/checkout from 2 to 3 #2822
- Bump actions/setup-node from 2 to 3 #2821
- Bump byte-buddy.version from 1.14.6 to 1.14.7 #2816
- Bump org.springframework.boot:spring-boot-starter-parent from 3.1.2 to 3.1.3 #2813
- Bump spring.boot.version from 2.7.14 to 2.7.15 #2812
- Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.3.0 to 3.4.0 #2808
- Bump org.testcontainers:testcontainers-bom from 1.18.3 to 1.19.0 #2806
- Bump projectreactor.version from 3.5.8 to 3.5.9 #2800
- Bump org.jobrunr:jobrunr from 6.2.3 to 6.3.0 #2799
- Bump io.micrometer:micrometer-core from 1.11.2 to 1.11.3 #2798
- Bump byte-buddy.version from 1.14.5 to 1.14.6 #2797
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v4.8.3
Potential Breaking Change
With the introduction of pull request #2871, Axon Framework assumes users that combine Axon Framework with Spring Boot use a property to disable Axon Server.
This path is taken as the simplest road forward to ensure Axon's JPA entities aren't wired for Axon Server users.
This shift would mean a breaking change for users that instead of using the axon.axonserver.enabled
property chose to exclude the axon-server-connector
module.
📈 Enhancements
- [#2855] Support Hierarchical Spring Contexts within
SpringConfigurer.ComponentLocator
#2870 - Enhance segment logging for
PooledStreamingEventProcessor
#2869 - ComponentLocator does not resolve beans from Spring Parent Context #2855
- [#2844] Improve shutdown behavior for
DbSchedulerDeadlineManager
#2852 - Shutdown-Mechanism of DbSchedulerDeadlineManager #2844
🪲 Bug Fixes
- Disable JPA and JDBC
EventStorageEngine
creation when Axon Server is enabled #2871 - [#2845] Ensure ConfigurerModulue order is respected in Spring Autoconfiguration #2846
- InfraConfiguration.springAxonConfigurer ignores ConfigurerModule.order() #2845
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v4.8.2
📈 Enhancements
🪲 Bug Fixes
- axon-tracing-opentelemetry with Spring Devtools crashes on start #2828
- Ensure insert order is maintained for
SequencedDeadLetterQueue#deadLetterSequence(String)
invocations #2827 - Fix inconsistencies around the
AxonServerConfiguration
#2814 - Enable Annotated Message Interceptor support for Command Handling Components #2804
- Fix property-based Load Balancing Strategy configuration bug #2802
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v4.8.1
📈 Enhancements
- Log when
HandlerExecutionException#details
are missing and onAbstractRepository
failures #2796 - Allow
Coordinator
to extend Token claims as an optimization #2785 - Introduce Maven profile to update versions for non-parent POM related module #2638
🪲 Bug Fixes
- Enable provisioning a
Message
with customMetaData
forQueryGateway#streamingQuery
#2795 - Ensure Aggregate Member Command Handlers are retrievable in complex Aggregate Hierarchy #2794
- Aggregate fixture hierarchy behaviour #2792
🛠️ Dependency Upgrade
- Upgrade axonserver-connector-java to 2023.1.0 #2793
- Bump spring.boot.version from 2.7.13 to 2.7.14 #2787
- Bump org.springframework.boot:spring-boot-starter-parent from 3.1.1 to 3.1.2 #2786
- Bump spring-framework-bom from 5.3.28 to 5.3.29 #2784
- Bump projectreactor.version from 3.5.7 to 3.5.8 #2781
- Bump micrometer-core from 1.11.1 to 1.11.2 #2779
- Bump jobrunr from 6.2.2 to 6.2.3 #2774
- Bump maven-deploy-plugin from 3.0.0 to 3.1.1 #2773
- Bump jobrunr from 6.2.2 to 6.2.3 #2772
- Bump spring-boot-starter-parent from 3.1.0 to 3.1.1 #2767
- Bump spring.boot.version from 2.7.12 to 2.7.13 #2766
- Bump maven-release-plugin from 2.5.3 to 3.0.1 #2765
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
Axon Framework v4.8.0
⭐ Features
- [#2689] Support Snapshotting for Polymorphic Aggregates #2753
- Allow property based configuration of load balancing strategies #2750
- Add
test-summary
step #2745 - [#1828] Add Anchore Container Scan step #2744
- [#2350] JDBC Dead-Letter Queue #2743
- Enable tracing in DistributedCommandBus with SpanFactory #2729
- Make the token store claim timeout easily configurable. #2722
- Allow easy (property) configuration for the
claimTimeout
of the defaultTokenStore
#2708 - Introduce Polymorphic Aggregate Snapshotting auto-configuration #2689
- [#2639] Handler Interceptor support for Dead Letter Processing #2661
- [#2640] Support
@ExceptionHandler
and@MessageHandlerInterceptor
annotated methods in Sagas #2656 - Support
@ExceptionHandler
annotated methods in Sagas #2640 - Handler Interceptor support for Dead Letter Processing #2639
- Add an auto-merge step for Dependabot Pull Request #2608
- #2581 Allow to override EventSchema without modifying default JdbcEve… #2582
- Allow to override EventSchema without modifying default JdbcEventStorageEngine in Spring context #2581
- Allow Development mode on test containers #2461
- Autoconfigure automatic load balancing #2453
- Enable tracing in DistributedCommandBus with SpanFactory #2403
- JDBC Dead-Letter Queue #2350
- Validate
test-summary
GitHub Action #2228 - Investigate usage of the Anchore Container Scan in GitHub Actions #1828
📈 Enhancements
- Introduce
AxonServerContainer
as test-container #2763 - [#2755] Align assertion messages #2757
- Put test assertion errors on multiple lines #2755
- Add db-scheduler implementation of the Event Scheduler and Deadline Manager #2727
- Add db-scheduler implementation of the Event Scheduler and Deadline Manager #2724
- Add JCacheAdapter test scenarios #2721
- Make Configuration accessible #2700
- refactor: Spring Boot 2.x best practices #2663
- Improve error message in case a streaming query gives an error. #2662
- Error handling of Streaming queries is less than ideal #2660
- Add a warning to the creation of the in memory token store. #2650
- Add a
registerDeadLetterQueueProvider
method in theEventProcessingConfigurer
. #2633 - [#2628] Extended support for Spring application context hierarchy #2629
- ObjectMapper cannot be resolved from Spring Parent Context #2628
- Move AbstractDeadlineManagerTestSuite to spring module so it's deployed. #2622
- Clean the test logs #2606
- Create a SequencedDeadLetterQueueFactory #2598
- #2581 Do not duplicate bean definition of TokenStore #2587
- [#2074] Allow to customize saga schema table and columns #2575
- Auto-merge successful Dependabot Pull requests #2569
- Move to use job builder to have more control how the jobs are stored. Add auto configuration. #2564
- Enable
cancelAll
andcancelAllwithinScope
in theJobRunrDeadlineManager
. #2507 - Add JCacheAdapter test scenarios #2421
- Change jdbc column names to snake case as default. #2074
🪲 Bug Fixes
- Remove payloadType tag from EventProcessorLatencyMetric #2683
🛠️ Dependency Upgrade
- Bump maven-clean-plugin from 3.2.0 to 3.3.1 #2762
- Bump jobrunr from 6.2.1 to 6.2.2 #2758
- Bump spring-framework-bom from 5.3.27 to 5.3.28 #2754
- Bump projectreactor.version from 3.5.6 to 3.5.7 #2748
- Bump micrometer-core from 1.11.0 to 1.11.1 #2746
- Bump commons-io from 2.12.0 to 2.13.0 #2739
- Bump maven-surefire-plugin from 3.1.0 to 3.1.2 #2738
- Bump maven-failsafe-plugin from 3.1.0 to 3.1.2 #2737
- Bump maven-release-plugin from 3.0.0 to 3.0.1 #2735
- Bump jobrunr from 6.2.0 to 6.2.1 #2734
- Bump byte-buddy.version from 1.14.4 to 1.14.5 #2733
- Bump testcontainers-bom from 1.18.2 to 1.18.3 #2732
- Bump testcontainers-bom from 1.18.1 to 1.18.2 #2730
- Bump maven-source-plugin from 3.2.1 to 3.3.0 #2723
- Bump maven-bundle-plugin from 5.1.8 to 5.1.9 #2720
- Bump spring-boot-starter-parent from 3.0.6 to 3.1.0 #2719
- Bump spring.boot.version from 2.7.11 to 2.7.12 #2718
- Bump slackapi/slack-github-action from 1.23.0 to 1.24.0 #2717
- Bump commons-io from 2.11.0 to 2.12.0 #2715
- Bump maven-assembly-plugin from 3.5.0 to 3.6.0 #2713
- Bump xom from 1.3.8 to 1.3.9 #2712
- Bump jobrunr from 6.1.4 to 6.2.0 #2711
- Add cache using EhCache 3 #2709
- Bump testcontainers-bom from 1.18.0 to 1.18.1 #2707
- Bump projectreactor.version from 3.5.5 to 3.5.6 #2706
- Bump micrometer-core from 1.10.6 to 1.11.0 #2705
- Bump maven-gpg-plugin from 3.0.1 to 3.1.0 #2703
- Bump maven-failsafe-plugin from 3.0.0 to 3.1.0 #2702
- Bump maven-surefire-plugin from 3.0.0 to 3.1.0 #2701
- Bump jobrunr from 6.1.3 to 6.1.4 #2697
- Bump spring.boot.version from 2.7.10 to 2.7.11 #2692
- Bump spring-boot-starter-parent from 3.0.5 to 3.0.6 #2691
- Bump spring-framework-bom from 5.3.26 to 5.3.27 #2684
- Bump projectreactor.version from 3.5.4 to 3.5.5 #2682
- Bump micrometer-core from 1.10.5 to 1.10.6 #2681
- Bump ojdbc8 from 21....
Axon Framework v4.7.6
📈 Enhancements
- [#2752] Truncate
Cause
message to fit default column width #2759 - DLQ - PSQLException: ERROR: value too long for type character varying(255) #2752
🪲 Bug Fixes
- Synchronize during Event Processor initialization #2756
- Duplicate initialization of TrackingEventProcessor worker threads #2751
- Fix Inititalization of PSEP when using Saga #2736
- When registering the same Saga multiple times, only the last one is kept. #2726
❤️ Contributors
We'd like to thank all the contributors who worked on this release!