Versioning policystable
§7 Deprecation policy
Nothing in VER 1.x is deprecated. When something is:
- Announce. The item is marked deprecated in a minor release, with the replacement named and the removal release stated. It keeps working.
- Warn. The conformance profile emits a warning-severity code for the deprecated construct from that release onward. Warnings never fail a build by themselves.
- Remove. Removal happens only at a major release, never sooner, and never without the announce-and-warn period having shipped.
A minimum of one full minor release cycle separates announcement from removal. Deprecation is never retroactive: a Record that was valid when it was written stays valid, and a consumer may always continue to accept it.
Corollary for frozen releases: deprecating a construct does not touch any published artifact. The 1.0.0 schema keeps accepting the deprecated construct forever, because the 1.0.0 schema is frozen.
