Last updated: Dec 05 2017
To quickly get new features out to the developer community, and to get early feedback, Episerver sometimes includes features in “Beta/preview state” in the weekly deliveries. This topic explains the concept of Beta features in Episerver.
How it works
Beta features are subject to change and do not follow semantic versioning as long as they are in Beta state. Beta features are not covered by normal support. However, as one of the main objectives for publishing feature previews is to get community feedback, development teams are active in responding to questions, issue reports and suggestions. Although a feature is in Beta state, we do production-level quality assurance before it is integrated into release packages.
We support data migration for Beta features, both between Beta versions, as well as between Beta and official release.
Enabling Beta features
By default, Beta features are hidden to prevent unintentional use. To work with Beta features, you need a role defined with the name EPiBetaUsers. This can be provided in several ways, for example by adding a virtual role in the virtual roles section of the configuration, or by creating a role in admin view (if your role provider supports it). Then you add the users to this role. Added users must log out and in again to see the Beta features.
For developers working with the Episerver APIs, Beta APIs are also accessible without any special configuration.
Beta features and the user interface
When a Beta feature is displayed to users, we try to highlight this so that it is not used unintentionally, but this is not something we can guarantee. If you enable Beta features, make sure your users are aware of which features are Beta features.
Using Beta APIs
When we expose APIs for a Beta feature, these are displayed in Visual Studio intellisense as:
|NOTE: This is a pre-release API that is UNSTABLE and might not satisfy the compatibility requirements as denoted by its associated normal version. [actual description]|
Note: As previously mentioned, changes to APIs in a Beta feature are never considered breaking, and thus do not affect the major version of its containing package. This means that if you take a programmatic dependency on a Beta API, you might be required to do code changes even after minor version updates.