openid / openid/dchp

Backwards Compatibility and Versioning

Open
#3 0 comments 0 reactions 0 assignees View on GitHub

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

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.