Axon Server is installed in "/axonserver" and the exported volumes are "/axonserver/data" (ControlDB and PID file), "/axonserver/events" (events and snapshots), "/axonserver/log" (replication log), "/axonserver/config" (for an optional extra "axonserver.properties" file), and "/axonserver/plugins" (for the plugin cache).
2024.2.3, 2024.2.3-jdk-17, latest, latest-jdk-17
These run Axon Server as user "root" using a Java 17 runtime.
Updated access control for purging the event store in dev mode. The action now requires the CONTEXT_ADMIN role.
Fixed a bug that caused problems when creating a new context in the presence of a user with permissions on *.
Adjusted configdb parameters, so that the database is closed only once. This resolves exceptions being logged at shutdown.
OAuth extension now takes context path into account when generating URLs.
OAuth extension supports setting the desired algorithm for id token signature using the property idTokenSignatureAlgorithm.
Release Notes for version 2024.2.2
Bug fixes and improvements:
Fixed auto-cluster issue when internal-domain property is set in axonserver properties.
Moved option to export traces to Jaeger to an extension. To migrate, move the jar files in the extensions/axon-server-extensions-jaeger-2024.2.2.zip to the exts directory in the Axon Server installation directory.
Release Notes for version 2024.2.1
Bug fixes and improvements:
update packaged versions of LDAP and OAuth extensions
Release Notes for version 2024.2.0
Bug fixes and improvements:
Improved the stability of changes to cluster topology.
When changing cluster topology, e.g., adding or removing nodes from replication groups, previously occurring instabilities have been fixed by revising the implementation of configuration changes.
Improved performance of message routing with many clients.
If the environment contains many client applications (more than 500), there previously were noticeable performance impacts.
These have been fixed, and explicit configuration options have been provided.
All-new AxonServer grafana dashboard.
The dashboard we provide for Grafana was completely reworked from scratch to simplify interpretation while at the same time improve accuracy.
The new dashboard reflects the new metrics introduced in previous versions.
Fixed a bug in the search screen, resulting in results from the previous search being mixed with the current one.
Better integration in Axoniq Console
Upgraded dependencies.
AxonServer was upgraded to the latest dependencies available wherever possible.
Adding a node with an already existing node name now fails gracefully
Improved contents of the diagnostics package
Ephemeral contexts now remove entries from the global index
Release Notes for version 2024.1.4
Bug fixes and improvements:
Redistribute clients across Axon Server nodes when a node is restarted with access control enabled
UI fixes for non-admin users
username and roles visible on top of the page
user's contexts are now visible in the dropdown list for Search/Commands/Queries/Events pages
user's contexts are now visible in the Context page
Release Notes for version 2024.1.3
Bug fixes and improvements:
Axon Server node should return information about the clients connected to that node only
Backing up the RAFT log entries should take into account the replication group rather than the context
Record handling duration for the initial query of a subscription query
Persistent streams improvements:
Prevent closing the stream for slow clients
Improved error handling
Release Notes for version 2024.1.2
Bug fixes and improvements:
Redistribute clients across Axon Server nodes when a node is restarted
Event processor operations fail when the processing group contains a forward slash
Potential replication issue when trying to apply events for already closed contexts during shutdown of Axon Server
Increased maximum length for the username to 255 characters
Update the event store size when a new index file is created
Visual improvements in search table: headers not visible by default & action not visible by default
Improved logging in the event store
Stop replication applying process when the replication group is stopped
Global Index pre-load for configured contexts
Release Notes for version 2024.1.1
Bug fixes and improvements:
Revert optimization in replication from version 2023.2.4, as it could lead to a node entering fatal state
Stop Axon Server from redirecting a client to a node that is in fatal state
Reduce communication between the leader and follower and logging when a node is starting up
Search page improvements
Set correct permissions for persistent stream API calls
Add validation of newly created index files
Allow non-pristine clusters to connect to Console
Fix the event store size in the context page
Release Notes for version 2024.1.0
Persistent streams
Persistent streams provide the option to open an event stream from a client and let Axon Server track the progress. This
was already available as a preview version in 2024.0, but is now available by default. Persistent streams are supported
in Axon Framework 4.10 as an alternative to tracking or pooled streaming event processors.
Prevent stale threads when an Axon Server node closes the connection to another node
Clean up metrics from disconnected clients
prevent WARN log messages when a query completed message was received from an unexpected client
Allow context with ephemeral events without a license
Fix for listing event processors when there are more than 512 event processors
Docker image changes
The default Java version for the Docker images has changed from Java 11 to Java 17. This means that the docker images with tag "latest", "latest-nonroot", "2024.1.0", and "2024.1.0-nonroot" use Java 17. Java 11 based images are still available with the "-jdk-11" extensions in the tag name.
Dependency updates
gRPC version updated to 1.65.1
Release Notes for version 2024.0.4
Fixes and improvements:
Fix for a problem starting up Axon Server with plugins configured
Removed race condition causing a possible delay in receiving the first event on a newly registered event handler
Improve the diagnostics package to contain full log information when "logging.config" property is set
Release Notes for version 2024.0.3
Fixes and improvements:
Add an option to reduce the number of global index segments Axon Server checks when the first event for a new
aggregate is stored. This can be configured globally with the property
"axoniq.axonserver.event.global-index-segments-check" or on a context level with the property
"event.global-index-segments-check". The value is the number of global index segments to check, with a
minimal value of 2.
Fix for Control DB migration in case of plugin configuration properties with long values
Updating a license through Axon Console now takes effect immediately
Improved distribution of queries to different instances of the query handlers
Release Notes for version 2024.0.2
Fixes and improvements:
Updating a license through Axon Console now takes effect immediately
Reduced memory usage for internal communication
Reduced the number of threads used with a large number of contexts
UI improvements
The dialogs for adding replication groups, API tokens, and users were not always cleared when opened
show the number of events in each context
improved notification when the current version is not the latest one
add an option to set X-Frame-Options to SAMEORIGIN in the response messages
New configuration parameters:
axoniq.axonserver.accesscontrol.same-origin=false (true sets the X-Frame-Options header to SAMEORIGIN)
Redesigned User Interface: The UI has been completely revamped with a modern look and feel for a better user experience. The changes include:
Simplified Overview Page: Access node information easily with filtering and scaling options.
Dedicated License Page: Track license expiry dates and view available features for non-enterprise users.
Monitoring Page: View important health information, display logs, and download diagnostic packages.
System Tasks: List and cancel running system tasks.
Search Event Store Page: Improved usability with removable columns, formatted code styles, and auto-composable queries.
Command and Queries Pages: Revamped for a better overview of messages in the system.
Long-Running Commands Component: View and cancel commands running longer than 1 second.
Scheduled Events Page: View and cancel scheduled events.
Streams Page (Experimental): Accessible for persistent streams if dev mode is enabled.
API Tokens (formerly Applications): Renamed for clarity, with improved token management.
Support for Wide Screens and Dark/Light Themes: Enhanced viewing experience.
Connection, Health, and Early Event Processor Issue Detection: Improved issue detection and resolution.
Embedded Documentation Snippets: Access documentation directly within the UI.
Preview of new persistent streams feature, event streams where Axon Server manages the publication of events to clients and keeps track of the progress. This feature is enabled when development mode is enabled or when axoniq.axonserver.preview.persistent-streams property is set to true.
Release Notes for version 2023.2.6
Add an option to reduce the number of global index segments Axon Server checks when the first event for a new
aggregate is stored. This can be configured globally with the property
"axoniq.axonserver.event.global-index-segments-check" or on a context level with the property
"event.global-index-segments-check". The value is the number of global index segments to check, with a
minimal value of 2.
Release Notes for version 2023.2.5
Bug fixes:
Reduce memory usage in communication between Axon Server nodes.
Release Notes for version 2023.2.4
Bug fixes:
Fix the increasing number of threads on the running Axon Server nodes when one node in the cluster is down.
Small fixes in the replication process:
remove delay in starting to synchronize with a node that is far behind
improve the performance for a follower catching up with the leader
prevent situations where a follower attempts to apply replication log entries that were already included in a snapshot
Fix for authentication issue when multiple applications have the same token
Release Notes for version 2023.2.3
Bug fix:
Increasing number of threads on the running Axon Server nodes when one node in the cluster is down.
Release Notes for version 2023.2.2
Bug fixes:
Fix for an error handling subscription query responses during the upgrade from a version before 2023.2.0 to 2023.2.0 or 2023.2.1.
Improved readiness probe to return 200 (OK) once the communication services are ready and the replication groups are completely initialized.
The endpoint for the new readiness probe is /actuator/health/readiness.
Release Notes for version 2023.2.1
Bug fixes:
TLS communication between Axon Server nodes cannot validate trusted certificates when there is no trust manager file configured
Deleting a context does not delete all its metrics
Release Notes for version 2023.2.0
TLS Certificate and Key Replacement at Runtime
Axon Server now supports the hot (runtime) replacement of certificates and keys used for TLS, eliminating the need for server restarts.
Enhanced Metrics Exposure
We have revamped the metrics exposed by Axon Server for better clarity and comprehensibility. Adhering to the 4 golden signals terminology, metrics are now systematically organized.
Users can access both old and new style metrics in this version. However, there’s an option to disable the old style metrics.
Upgraded Diagnostics Package
To aid in issue resolution, Axon Server now provides a more comprehensive diagnostics package.
The package now contains more detailed information about raft status.
It offers a snapshot of metrics and health information.
There’s a listing of files in the replication group.
Information about multi-tier storage is included.
Logs are included as well.
Other Improvements
We’ve addressed various security concerns through dependency updates. Additionally, several bugs have been identified and rectified.
The role ‘MONITOR’ is now granted permission to access the ‘internal/raft/status’ endpoint.
We’ve transitioned to new versions for some of the external libraries used in Axon Server.
Release Notes for version 2023.1.2
Bug Fixes:
This release contains fixes for the following issues:
Metrics no longer collected when an application reconnects to Axon Server
Release Notes for version 2023.1.1
New Features and Enhancements:
Initialize standalone
To simplify initialization of Axon Server, it now supports a new property "axoniq.axonserver.standalone=true". When this property is set on a clean Axon Server instance it initializes the server with a "default" context.
Development mode
Fixed the option to reset the event store from the UI (in development mode). This option now also works in an
Axon Server cluster.
LDAP extension update
The new version of the LDAP extension supports configuration of a trust manager file. The location of the file
can be specified through the property "axoniq.axonserver.enterprise.ldap.trust-manager-file".
Bug Fixes:
This release contains fixes for the following issues:
Validation of tiered storage properties when not using the UI
Race condition while writing to the global index
Limitation on the number of requests per context fails if there are timed out requests
Release Notes for version 2023.1.0
New Features and Enhancements:
Event Transformation
The new Event Transformation feature allows users to perform specific event transformations like updates and deletes in the event store, utilizing the Event Transformation API. This functional change is intended to facilitate more flexible event management in rare instances where modifications are unavoidable.
Forced Client Reconnection
In the application view, users are now provided with an option to force the client to reconnect. This addition aims to offer a practical tool for addressing client connectivity issues.
Node Removal from Cluster
It is now possible to remove a node from the cluster through the user interface (UI). This functionality, previously accessible only via the command-line interface (CLI) and REST API, has been expanded to the UI for broader accessibility.
Temporary Adjustment to Development Mode
In this release, we have temporarily disabled the 'Development Mode/Event Purge' feature. Users should now utilize the 'Delete/Create Context' operation as an alternative. This change will remain in place until a more efficient solution is implemented.
Enhanced Memory Management
In an effort to optimize performance, we have updated Axon Server's approach to memory management for file resources. Prior to this release, Axon Server primarily depended on the Java garbage collector to reclaim memory used by memory-mapped files. With this update, memory management is now undertaken directly by Axon Server, enhancing efficiency in file resource usage.
Bug Fixes
This release also contains fixes for the following issues:
Replication group creation did not work in conjunction with the HTTPS (-s) option
Race condition in unregister node leaves node partially in the cluster
Product Updates
Unified Axon Server artifact
The Axon Server artifact has been updated to simplify the deployment process. Instead of separate artifacts for the Axon Server Standard Edition and Enterprise Edition, from now on we are releasing a single artifact. The Axon Server features will adjust automatically based on the presence of a provided license. Note that the Axon Server Standard Edition remains open-source, but separate releases will no longer be made.
Release notes for previous versions can be found in the Release notes section of the reference guide
Running Axon Server
To run Axon Server in Docker, you can use the image provided on Docker Hub:
For more information on how to run Axon Server in a Docker/Kubernetes environment, check the reference guide.
Configuring Axon Server
Axon Server uses sensible defaults for all of its settings, so it will actually run fine without any further configuration. However, if you want to make some changes, below are the most common options.
Environment variables for customizing the Docker image of Axon Server
JAVA_TOOL_OPTIONS (prior to 4.3 JAVA_OPTS)
This is used to pass JVM options. Default is to use it for heap size setting, with "-Xmx512m".
AXONIQ_AXONSERVER_NAME
This is the name the Axon Server uses for itself.
AXONIQ_AXONSERVER_HOSTNAME
This is the hostname Axon Server communicates to the client as its contact point. Default is "localhost", because Docker generates a random name that is not resolvable outside of the container.
AXONIQ_AXONSERVER_DOMAIN
This is the domain Axon Server can suffix the hostname with.
SERVER_PORT
This is the port Axon Server uses for its Web GUI and REST API.
AXONIQ_AXONSERVER_PORT
This is the gRPC port used by clients to exchange data with the server.
AXONIQ_AXONSERVER_ACCESSCONTROL_ENABLED
Setting enabled to true will enable access control.