Skip to content

Backwards Compatibility and Versioning #3

Description

@GarethCOliver

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions