RFC 1 / Proposal

A schema with all deprecated elements removed must itself be valid

Opened on2026-06-10
Updated on2026-07-02

At a glance

Spec PR description

As a precursor to deprecating other schema elements (object types, etc), I figured it would be best to simplify the rule: the schema with all deprecated elements removed should itself be valid. This is a breaking change for servers currently (could mark a previously valid schema as invalid), but solvable in a non-breaking way by removing @deprecated directives, or (once they are supported) adding @deprecated to object types and other positions. It's non-breaking for clients.

This also aligns with #1230 wherein the schema with all deprecated elements removed is represented via { __schema(includeDeprecated: false) { ... } }.

Timeline

July 2026
June 2026