Skip to main content
Version: next

Deprecation Policy

Reference table

Pre-GA lifecycle rules

Pre-GA lifecycle rules.
Change typeCurrent contractContributor or maintainer expectation
Minor releases (0.Y.0)May include breaking API or behavior changes while the project remains pre-GA.Document the break clearly and ship a migration path.
Patch releases (0.Y.Z)Should avoid intentional breaking changes.Use only when the change is truly compatible or required for safety and integrity.
Security or data-integrity fixesMay force urgent behavior changes earlier than the normal removal timeline.Call the exception out explicitly in release notes and migration guidance.

Scope

This policy applies to:

  • CRD API versions (openbao.org/*)
  • CRD fields (spec, status)
  • user-visible defaults and behavior contracts
  • operator installation and upgrade workflows

Deprecation process

When a field or behavior is deprecated, the project aims to do all of the following in the same release:

  1. Mark the deprecation in API comments, which feed the generated API docs.
  2. Document the deprecation in API Reference and release notes.
  3. Provide a migration path and a concrete replacement example.

Removal policy

For pre-1.0 releases:

  • removals are expected in minor releases, not patch releases
  • deprecated fields should remain available for at least one minor release when feasible
  • urgent safety or security concerns may force earlier removal, but only with explicit release notes

Reference table

Migration requirements for breaking changes

Migration requirements for breaking changes.
Required outputWhy it exists
Clear before-and-after manifestsSchema changes are easier to adopt when the new target shape is concrete.
Upgrade sequencing notesSome changes are safe only when CRDs, operator version, and workload rollout happen in the right order.

Kubernetes versioning mechanics

The project currently serves a single CRD API version, v1alpha1. When additional CRD versions are introduced, the project will use Kubernetes-native lifecycle controls such as:

  • served and storage
  • deprecated: true
  • deprecationWarning

Related lifecycle references

Next release documentation

You are reading the unreleased main docs. Use the version menu for the newest published release, or check the release notes for what is already out.

Was this page helpful?

Use Needs work to open a structured GitHub issue for this page. The Yes button only acknowledges the signal locally.