At a glance
- Identifier: #1053
- Stage: RFC 3 / Accepted
- Champion: @benjie
- Latest activity: Spec PR merged 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
May 2025
- Spec PR merged on 2025-05-01 by leebyron
- Advanced to RFC 3 on 2025-05-01 by leebyron
- Added to WG agenda on 2025-05-01
April 2025
- Added to WG agenda on 2025-04-03
March 2025
- @benjie committed "Merge branch 'main' into interface-deprecated-field-consistency" on 2025-03-07
January 2025
December 2024
- @benjie committed "Avoid negative, don't refer to directive" on 2024-12-06
- Advanced to RFC 2 on 2024-12-05 by leebyron
- Added to WG agenda on 2024-12-05
- Mentioned in WG notes on 2024-12-01
November 2024
- Top comment edited on 2024-11-28 by benjie
December 2023
- Advanced to RFC 1 on 2023-12-07 by mjmahone
- Added to WG agenda on 2023-12-07
- Mentioned in WG notes on 2023-12-01
November 2023
- Spec PR created on 2023-11-09 by benjie
- Top comment edited on 2023-11-09 by benjie
- @benjie committed "Implementations may not deprecate a field that the interface hasn't d…" on 2023-11-09
- Advanced to RFC 0 on 2023-11-09 by benjie