Version control identifies successive interface revisions so clients can distinguish compatibility changes. For public APIs, the goal is not merely labeling releases but preserving trust while systems evolve. section 9.4.2
Use a predictable compatibility policy:
- Apply semantic versioning: MAJOR signals breaking changes, MINOR adds backward-compatible capabilities, and PATCH fixes bugs. section 9.4.2
- Keep older methods available while clients plan migration, and mark them deprecated with a clear replacement. section 9.4.2
- Prefer adding changes alongside an existing interface; smaller evolutions can use optional parameters that older clients ignore. section 9.4.2
Make removal visible
A Java method can be marked @Deprecated(since = "2.1", forRemoval = true), allowing tooling and developers to recognize planned removal before the interface disappears.
























