At a glance
- Identifier: #1053
- Stage: RFC 3 / Accepted
- Champion: @benjie
- Latest activity: Added to WG agenda on 2025-05-01
- Spec PR: https://github.com/graphql/graphql-spec/pull/1053
- Related:
Spec PR description
This PR addresses a spec validation omission; if an interface field is not deprecated then any implementation of that interface field should also not be deprecated. I.e. the following schema should be invalid, but before this PR it is valid:
interface Node {
id: ID!
}
type Foo implements Node {
id: ID! @deprecated(reason: "...")
}
type Query {
foo: Foo
}
To solve this, either the deprecation should be removed, or the id field on Node should also be deprecated:
interface Node {
id: ID! @deprecated(reason: "...")
}
Relevant action item: https://github.com/graphql/graphql-wg/issues/1331
GraphQL.js Implementation: https://github.com/graphql/graphql-js/pull/3986
Timeline
- Added to WG agenda on 2025-05-01
- Added to WG agenda on 2025-04-03
- Commit pushed on 2025-03-07 by benjie: Merge branch 'main' into interface-deprecated-field-consistency
- Added to WG agenda on 2025-01-09
- Mentioned in WG notes on 2025-01-01
- Commit pushed on 2024-12-06 by benjie: Avoid negative, don't refer to directive
- Added to WG agenda on 2024-12-05
- Mentioned in WG notes on 2024-12-01
- Added to WG agenda on 2023-12-07
- Mentioned in WG notes on 2023-12-01
- Spec PR created on 2023-11-09 by benjie
- Commit pushed on 2023-11-09 by benjie: Implementations may not deprecate a field that the interface hasn't d…