Skip to content

Add a section about schema evolution? #1169

Open
@BoD

Description

@BoD

Currently the spec doesn’t say much about schema evolution (this short paragraph). Would it make sense to have it cover this topic more extensively?

For instance, an exhaustive enumeration of what is considered a breaking change or not.

E.g.:

  • Adding a new type: not breaking
  • Making a non nullable field nullable: breaking
  • Adding a value to an enum: not breaking

As a client developer it is super important to know what changes can happen and what the code needs to be resilient to. At the moment this depends on a particular service’s policies, rules and customs. In certain projects there may even be no clear rules, making things fragile.

Having this as part of the spec would strengthen the contract between the client and the server, and help making schema evolution a bit less of a delicate topic?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions