Backwards Compatibility and Versioning
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 19
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
This issue is tracking formalizing the approach to backwards compatibility and versioning.
This includes:
- Defining what is a 'breaking' changing:
- Essentially which versions will still work with each other without changes
- Setting the expectations for implementers as to the stability of the spec and when and how breaking changes will be allowed
- Something like:
- Draft / Implementors Draft: Expect breaking changes until final
- Major Version: Allows breaking changes, but prefers not to
- Minor Version: Must not introduce breaking changes in existing features, but may introduce new features
- Something like:
Additionally we should define how we intend to introduce new features and versions in-protocol:
This includes:
- High level versioning scheme
- Negotiated support for extensions / capabilities
- How to address unknown extensions / capabilities
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by reviewing the existing DCHP protocol and specification structure, then document an agreed compatibility policy, versioning scheme, extension and capability negotiation, and handling for unknown capabilities.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100