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.
We adhere to a strict 3-phase lifecycle for any public API identified for removal or significant structural change.
// Deprecated: Use [Alternative] instead. directive in the source code.LIMITATIONS.md or Release Notes clearly call out the upcoming change.staticcheck или go vet) will begin warning developers at compile time.slog.Warn or log.Printf message indicating that the function is deprecated and will be removed in the next major/minor milestone.v2.0), or after at least two minor versions of warning (e.g., Warning in v1.8, Removal in v1.10).panic("deprecated") if removal breaks critical interfaces, though outright removal is preferred.The deprecation policy does not apply to:
Experimental or Unstable can be modified or removed at any time without a deprecation cycle.internal/ directory is exempt from stability guarantees.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.