Bloomreach Content Incubating Features Policy
Overview
Incubating features in Bloomreach Content are new APIs, extension points, or functionalities introduced for early adoption and feedback. These features may change in a backward-incompatible way in a minor release.
Production Readiness: Incubating features are tested and considered production-ready by the Bloomreach Content team.
Purpose: Incubating features are released to address new or rapidly evolving technologies or use cases, or when real-world feedback is needed to finalize the feature's design.
Criteria for Incubating Status
A feature is classified as Incubating if it meets at least one of the following criteria:
- It addresses a new or rapidly evolving technology or use case.
- It requires real-world feedback to finalize its design.
- It depends on third-party libraries that may introduce breaking changes due to rapid evolution.
Feature Lifecycle
- Incubating: The feature is available and production-ready but may change in a backward-incompatible way in a minor version.
- Mature: The feature is finalized, and backward compatibility is guaranteed. Changes occur only in major releases.
A feature moves from Incubating to Mature when:
- It has sufficient adoption and feedback from real-world use.
- Its design or API is stable and unlikely to require breaking changes.
- It has not had backward-incompatible changes for three minor versions.
If an incubating feature is not suitable for the Mature stage, it may be deprecated or removed. Any removal or deprecation will be announced in the release notes.
Principles
The incubation process is guided by the following principles:
- Minimize Risk: Incubating features are isolated to reduce impact on other functionality.
- Clear Boundaries: Only features that meet the incubation criteria are eligible. Core, widely used APIs are not designated as Incubating.
- Iterative Improvement: Features are updated based on real-world feedback and usage data.
Using and Extending Incubating Features
When building custom code or solutions with Bloomreach Content, review the compatibility guarantees of any incubating features you use or extend.
Adoption Recommendations
- Production Use: Incubating features are production-ready and maintained. If you use them without customization, no action is required as the feature evolves.
- Custom Extensions: If you extend or customize incubating APIs, review release notes for each minor and maintenance release. Breaking changes will be documented with migration guidance.
- Required Adjustments: If an incubating feature changes, you may need to update, migrate, or adjust your custom code.
How to Identify Incubating Features
All incubating features are clearly marked to ensure developer awareness:
- Documentation: Incubating features include documentation that states their status, associated risks, intended use cases, and guidance on expected changes and support limitations.
- Code and Artifacts: Developer guidelines note that code and extensions may change. Maven artifacts for incubating features include 'incubating' in the artifact ID (for example,
content-ai-service-impl-incubating).
Support and Feedback
During the incubation stage, support focuses on collecting feedback to guide feature evolution and finalization.
Contact the Bloomreach Support team with any questions, feedback, or issues related to incubating features.