Skip to content

Experimental Features

Michael Barker edited this page Apr 8, 2024 · 2 revisions

In Aeron version 1.44.0 we have introduced the concept of Experimental Features. These are used for features that are brand new to Aeron that will introduce new functionality along with additional APIs and configuration. The expectation is that features marked as Experimental should work as currently implemented and will be tested with the same degree of rigour as other features. The purpose of marking a feature as experimental is that with the newness of the feature we may decide that we want to change the public API or configuration options of that feature before committing to ensure that future releases of Aeron are backwards compatible with that API or the configuration options. There may also be an unforeseen security issue or performance impact that requires a rethink on the feature and the shape of the feature may change significantly with a subsequent release.

So that users don't unintentionally use experimental features, we have introduced a configuration option that specifies whether experimental features are enabled or not. By default it is disabled.

Current Experimental Features

FAQ

Can I use experimental features in production code?

Yes, you can. The feature should be functional and tested, but the feature is subject to change. If you have used an experimental feature then you need to make sure that you are tracking changes to the feature with each release of Aeron as you may need to change your code as the updated version may have changed in an incompatible way.

Will you remove an experimental feature?

This is possible. However, the more likely case is that we have to significantly change the design of an experimental feature due to an unforeseen issue. In this instance we will try offer to the same functionality, but in a different form to avoid issues we may have encountered. These types of significant changes are is far less likely than small breaking changes to the API or configuration.