Field and directive-based versioning

πŸ“– Note: Read a detailed description of the feature under guide Versioning fields and directives (guide coming soon)

Version fields and directives independently from the schema.

Instead of evolving the whole schema (which requires to modify the name of the modified field or directive), we can:

  • Keep different implementations under the same field or directive name
  • Expose the legacy implementation under a tag, using semantic versioning
  • Access a specific version through field/directive argument versionConstraint