lifecycle

Deprecation Policy

Effective Date: February 2026 (v1.7.0)

As lifecycle matures into a stable control plane for modern Go applications, ensuring backward compatibility and smooth transition paths for breaking changes is paramount. This document outlines the formal deprecation lifecycle for APIs, behaviors, and features.

1. The Deprecation Lifecycle (3 Phases)

We adhere to a strict 3-phase lifecycle for any public API identified for removal or significant structural change.

Phase 1: Notice (Documentation)

Phase 2: Active Warning (Runtime)

Phase 3: Removal / Hard Breaking

2. Exceptions to the Rule

The deprecation policy does not apply to:

  1. Experimental Features: Any API formally documented or commented as Experimental or Unstable can be modified or removed at any time without a deprecation cycle.
  2. Security Vulnerabilities: If an API is inherently insecure and cannot be fixed without breaking changes, it may be removed or fundamentally altered in a patch release.
  3. Internal Packages: Anything under an internal/ directory is exempt from stability guarantees.

3. Communication Strategy

All deprecations will be listed in the Release Releases page under a dedicated Deprecated header. When Phase 3 (Removal) is reached, it will be listed under Breaking Changes.