Deprecation and Versioning Policy
This policy defines how VulnParse-Pin introduces, warns, and removes behavior in a compatibility-safe way.
Scope
Applies to:
- CLI flags and option semantics
- Parser selection behavior and parser lifecycle states
- Pass output contracts under
derived - Output artifact fields and schema contracts
- Runtime defaults that change user-visible behavior
Versioning Model
Project releases use semantic versioning:
- Patch (
x.y.Z): bug fixes and low-risk hardening - Minor (
x.Y.z): additive features and policy-safe behavior changes - Major (
X.y.z): compatibility-breaking removals or contract shifts
Deprecation Cadence
Every deprecation follows three phases:
- Announce: document deprecation in changelog and policy docs.
- Warn: emit runtime warnings where practical and provide migration path.
- Remove: remove no earlier than the stated version window.
Default minimum deprecation window:
- At least one minor release between first warning and removal.
- Breaking removals should target a major release unless risk or security requires otherwise.
Runtime Warning Requirements
For deprecated or experimental compatibility paths:
- Warning includes what is deprecated.
- Warning includes recommended replacement path.
- Warning is visible at normal operator log levels.
Current parser policy:
- XML parser paths are
stable. - JSON parser paths are
experimentalanddeprecated. - Earliest removal consideration is v1.4.0+, subject to roadmap review.
Compatibility Contract Rules
- Stable parser and pass contracts must remain backward-compatible within minor releases.
- New output fields should be additive where possible.
- Removed/renamed fields require explicit migration notes and release callouts.
- CLI removals must include flag migration examples.
Documentation Requirements
When introducing deprecations:
- Update
CHANGELOG.md. - Update Upgrade and Migration.
- Update relevant architecture docs (for parser/pass behavior).
- Update roadmap timeline when removals are planned.
Governance Requirements
- Architecture-impacting deprecations require an ADR.
- PRs with compatibility impact must include the architecture review checklist.
Exception Handling
Emergency security or safety issues may accelerate removal.
If cadence is shortened:
- Document rationale in changelog and ADR.
- Provide immediate mitigation or migration guidance.