Axon Framework 5.4.0 and Axoniq Framework 5.4.0: Durable Workflows and a Path Off Sagas
With Framework 5.4.0, you get workflows for durable process management, plus a legacy module to drain your old sagas and deadlines into them, and more.
As of October, Axon Framework 5.4.0 and Axoniq Framework 5.4.0 have been released! This one is for every Framework 5 developer, of course, but is especially well-suited for users who are on their journey of upgrading from Framework 4. With Framework 5.4.0, you get workflows for durable process management, plus a legacy module to drain your old sagas and deadlines into them. On top of that, we ship Spring Cloud command and query routing, handler and Unit of Work timeouts, multi-tenant Data Protection, and faster sourcing of snapshotted entities.
Now, let’s take a closer look at some of those large features landing in this release.
Workflows: Durable execution for long-running processes
When we talk about “workflows” at Axoniq, we mean the “Axon Workflow Engine”: you write long-running business processes as plain Java or Kotlin code, step by step. It gives you durable execution based entirely on event sourcing. Every step a workflow takes is stored as events, so after a crash, restart, or redeploy, it picks up exactly where it left off. Scheduling and timeouts are built in, as they are a plain necessity for process management. That makes Workflows the replacement for Sagas and process managers, and so much more. With Framework 5.4.0, workflows ship as dedicated release modules in Axoniq Framework.
Long-running business processes are where most of the pain sits in a message-driven system. Think of retries, waiting on external parties, compensating actions, and “what happens if we go down halfway?” Workflows answers that last question for you, without a separate workflow engine to run and maintain. And because scheduling is a capability of workflows, the need for a separate deadline manager resolves itself.
To be frank, this is the feature we’re most excited about in this release. It has been a long time coming, and I am sure it was worth the wait. For those aching to give it a spin, check out the Workflows Getting Started Guide and the Workflows Reference Guide. Do note that this is a licensed Axoniq Framework feature!
Legacy module: Draining Sagas and Deadlines
The Axoniq legacy module revives Framework 4 style Sagas and deadline support on top of Framework 5. It includes the ported saga stores (JPA, JDBC, Mongo), the saga manager, a SagaConfigurer, a saga test fixture, Spring Boot autoconfiguration, and the DeadlineManager. We also provide OpenRewrite recipes to move your @Saga classes onto the legacy path.
Sagas and deadlines were the last remaining puzzle pieces requiring a nice and clean replacement in Framework 5. With this module, you can upgrade first and keep your running Sagas alive. Then, you drain them into Workflows at your own pace. Note the word "drain" here: the legacy module is a bridge, not a destination.
If you are eager to drain your application to start using workflows instead, take a look at the extensive step by step guide we’ve drafted for you here.
Spring Cloud Connector: Command and query routing
The Spring Cloud extension from Framework 4 is now a dedicated connector module in Axoniq Framework, aligned with the Framework 5 APIs. It uses Spring Cloud service discovery to route commands between your application instances. New in this version: it (finally) routes queries too. Thus, the Spring Cloud connector is a complete routing solution for Framework applications, covering the full message spectrum without adding new infrastructure to your stack.
If you’re looking to distribute commands and queries between Framework applications, but can’t or aren’t allowed to use Axon Server, give the Spring Cloud connector a spin. Pick an applicable Spring Cloud discovery integration, add the required Framework dependencies, and you’re good to go. For more details on command and query routing with our Spring Cloud connector, check out the command routing and query routing documentation.
And more Framework 5.4.0 updates...
Handler and unit of work timeouts
Timeouts are back, rebuilt for the async-native UnitOfWork and MessageStream APIs of Framework 5. You can bound how long a single handler or an entire Unit of Work may take, with warnings logged before the timeout hits. That way, a stuck handler no longer holds a thread, lock, or token claim forever, silently stalling an entire processing pipeline. Spring Boot autoconfiguration is included.
Multi-tenancy meets data protection
The Data Protection Module now works in multi-tenant applications. Each tenant gets its own converter, backed by its own crypto engine and key store, so you no longer have to choose between tenant isolation and data protection. And there’s more for multi-tenancy: dead-letter queues are now tenant-aware, and the new TenantSequencingPolicy orders message handling within a tenant without making every other tenant wait.
Snapshot and events in a single call
Loading an event-sourced entity with a snapshot used to take two round trips: one for the snapshot, one for the remaining events. With 5.4.0, our connectors do this in one go, saving you network I/O. You get this functionality out of the box when Axon Server or PostgreSQL stores both your events and snapshots.
Wrapping up
And, there's even more! Think of a shutdown manager for queries, a dedicated Configuration chapter in the docs, a VersionedType interface, and a literal ton of fixes. For everything that's in there, check the Axon Framework and Axoniq Framework release notes
Will this release break your app? Short answer: no. Framework 5.4.0 is a minor release, so there are no intentional breaking changes.
Upgrading from Axon Framework 4? You'll need the axoniq-legacy dependency to start draining your Sagas and deadlines. There's more to it than just that, so be sure to look at the extensive guide we've drafted for you. And, if you used the Framework 4 Spring Cloud extension, switch to the new Axoniq Framework connector module instead.
So, bump your BOMs to 5.4.0 and give it a spin! I am curious what y’all think, especially of workflows. Let me know on Discuss or through GitHub issues!
A big thank you to the entire Framework team, and to our community contributors @christopherfriedrich, @Ishaan453, and @wadhwaroh-lang for their PRs in this release.
See it in production
Otto, Nets, MoneyLion, DPG Media and other teams run event-sourced systems in production with Axoniq.



