Major Releases
Our new release strategy involves releasing three versions each year, with new releases being named based on the year, such as 2023.0, 2023.1, and 2023.2. The third release is dedicated to providing long-term support. Customers that wish to upgrade less frequently can choose to stay on these long-term support releases.
We chose this approach to separate versioning from the Axon Framework and maintained flexibility and independence in versioning. This strategy provides predictable release dates, better alignment with customer needs, faster feature updates, and increased responsiveness to user feedback and market demands. Overall, this approach will enable us to deliver better products and services to our customers while ensuring maximum flexibility and independence in versioning.
The 2023.0 release brings us these new features:
- Tiered Storage
- Ephemeral Contexts
Tiered Storage is a highly anticipated feature of the Axon Server Enterprise's 2023.0.0 release, allowing each node to store its data across different storage locations. With its ability to optimize performance and reduce storage costs, Tiered Storage is a powerful tool for businesses seeking to improve their storage management strategies. By distributing data across different levels of storage media based on access speed and cost, Tiered Storage enables organizations to minimize the cost of storing infrequently accessed data while ensuring fast access to frequently accessed data.
The Tiered Storage feature is especially powerful in combination with the use of secondary nodes, a feature that has been around since Axon Server Enterprise version 4.4:
Tiered Storage enables the configuration and maintenance of a variable number of storage tiers for each node, depending on its role, such as primary, secondary, or backup nodes.
Secondary nodes enable you to reduce the number of copies of data that are stored by keeping only the most recent events stored on your primary nodes and keeping the full event store on the secondary nodes. The configuration of Tiered Storage on these secondary nodes can focus on lower storage costs and large volumes of data, while Primary nodes focus on speed of access.
With its advanced capabilities, Tiered Storage is poised to become a critical asset for enterprises seeking to streamline their data storage and management processes.
Ephemeral contexts are a new type of context that store events for a limited time before automatically removing them permanently. These contexts are particularly useful in scenarios such as time-limited audit systems or integration contexts, where events are broadcasted to multiple observers in real-time, after which they are no more of use.
As events might become outdated and irrelevant over time, ephemeral contexts can help to manage storage space and maintain system efficiency by automatically deleting these events after a specified time period. By using ephemeral contexts, organizations can efficiently store only necessary data and reduce clutter in their systems.
Standard Edition and Enterprise Edition
New features:
- Streaming queries (requires Axon Framework version 4.6.0). When returning a collection of results from a query, the results can be streamed instead of collecting them in the query handler first.
Enhancements:
- Number of events per transaction is no longer limited to 32K.
- Support for using the CLI when the caller is behind a proxy.
- livenessstate and readinessstate probes are now included in the /actuator/health endpoint output by default
- Properties now support more readable values using units
- Changing event processor states through Axon Server now waits for a result from the client
- Plugins can now use AxonServerInformationProvider to get information on the Axon Server version
- UI updated
- show complex metadata values in query results
Dependency updates:
- updated gRPC and Netty versions
- updated Spring Boot version
- moved to OpenAPI for Swagger support
Bug fixes:
- moved reading indexes from the gRPC thread to prevent blocking these threads
Notes:
- For the Swagger endpoint use /swagger-ui.html or /swagger-ui/index.html.
- The generic endpoint for actuator is /actuator (/actuator/ no longer works)
Enterprise Edition only
New features:
- Clients can now perform administrative operations in Axon Server through the axonserver-connector-java (requires version 4.6.0 of the connector).
- Support for updating properties for an existing context
Enhancements:
- Large message support. Before increasing the max-message-size on Axon Server had the effect that the replication log segments were also increased in size. This dependency is no longer there.
- Clients can now also connect to nodes in a replication group that are not primary or messaging-only nodes. To force clients to connect to primary or message-only nodes, set the property force-connection-to-primary-or-messaging-node to true
Bug fixes:
- not able to use an empty internal domain value if the domain was specified for the client connections (requires property axoniq.axonserver.experimental.allow-empty-domain set to true and axoniq.axonserver.internal-domain defined with an empty string)
- fix a timing issue in LeadershipStatusNotifier that can cause the leader to forget about its own leader status
Notes:
- For the swagger endpoint use /swagger-ui.html or /swagger-ui/index.html.
- The generic endpoint for actuator is /actuator (/actuator/ no longer works)
- If you are using the LDAP or OATH extension you need to use the 4.6.0 version of these extensions as because of the Spring Boot version update
Standard Edition and Enterprise Edition
New features:
- Support for customer-defined plugins to add custom actions to adding/reading events and snapshots and executing commands and (subscription queries) For more information see plugins.
- Search snapshots in Axon Dashboard
Enhancements:
- Flow control for reading aggregates
- Updates in user permissions now have immediate effect (even if the user is logged in)
- Logging of illegal access to Axon Server gRPC services
- List of used 3rd party libraries available from Dashboard
- Axon Dashboard checks for Axon Server version updates
Dependency updates:
- updated gRPC and Netty versions
- updated Spring Boot version
- updated Swagger version
Notes:
- Due to the update of the Spring Boot version there are some minor changes to the output of the /actuator/health endpoint. This endpoint now uses the element "components" instead of "details" to output the health per subcategory.
- The swagger endpoint has changed from /swagger-ui.html to /swagger-ui/.
Standard Edition only
Bug fixes:
- Read aggregate snapshots from closed segments fixed
Enterprise Edition only
New features:
- Authentication via Google OAuth (via extension)
- Authentication and authorization with LDAP
- New role VIEW_CONFIGURATION allowing user read only access to the configuration of Axon Server in the Dashboard
Enhancements:
- Option to use a separate SSL key file for communication between Axon Server nodes (see property internal-private-key-file in configuration)
- Migration tool now supports migrating from a MongoDB event store to Axon Server
Bug fixes:
- memory leak in the replication group leader could cause elections
- incorrect version number shown in login page and error page in Dashboard
- invalid number of active subscription queries displayed in Dashboard
- exception initializing a context for the replication group leader on restart after unclean shutdown
Standard Edition and Enterprise Edition
- Axon Server can now act as an event scheduler
- Tag-based routing of commands and queries
- Support fom token store identifiers to identify which tracking event processors share a token store
Enterprise Edition only
- Tracking event processors can now read from any primary node
- Reading aggregates will read events from followers and only request the leader for latest events
- Introduction of replication groups containing one or more contexts to reduce overhead in replication process
- New index type to improve speed in reading aggregates
- Axon Server Enterprise can now start without a license and has the option to upload licenses to the cluster
- Cluster templates to initialize a cluster including replication groups, contexts, users and applications based on a template
- Multi-tier storage to keep only recent data at primary nodes
- Some storage properties can now be set at the context level
- Introduced new roles for nodes in context (ACTIVE_BACKUP, PASSIVE_BACKUP and MESSAGING_ONLY)
- Improved support for running in containers
- New option to configure cluster information in configuration files, to automatically build cluster at startup
- Support load factor for commands
- Support for moving Axon Server cluster to other nodes
- Option to remove a node from a context without deleting the event store on that node
- Separate audit log for configuration changes
- Changed metrics to use common names and tags
- Delete leader from group is now possible.
- Removing a context from a node, deletes all data (including event data) on that node.
- Deleting a context removes all data (including event data).
- Blacklisting event types for applications that cannot handle these events (requires AxonFramework v4.2.)
- Expose tracking event processor position and status (requires AxonFramework v4.2.)
- Clients can provide preferences on which node to connect to (requires AxonFramework v4.2.)
- New access control roles
- Reduced leader changes by new pre-vote phase
- Improved health page
- Support for Split/Merge of tracking event processors through user interface
- Introduction of _admin context for all cluster management operations
- Updated process for getting started (see above)
- Replication of data and configuration between nodes in the cluster is now based on transaction log replication.You will see new files created on AxonServer nodes in the log directory (axoniq.axonserver.replication.log-storage-folder).Do not delete those files manually!
- Default setting for health endpoint (/actuator/heath) has changed to show more details.
- Change in TLS configuration for communication between AxonServer nodes (new property axoniq.axonserver.ssl.internal-trust-manager-file)
Last modified 2mo ago