You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit c9ac9de
Browse filesBrowse the repository at this point in the historyBrowse files
fix(federation): resolve spec versions like JS getMinimumRequiredVersion
`SpecDefinitions` resolved the spec version to use for a federation
version with `Version::satisfies`, which requires matching majors. That
only worked while fed 1 and fed 2 were the only majors: for federation
v3.0 every spec whose minimum federation version is v2.x (link,
inaccessible, tag, cost, context, ...) resolved to nothing, which is
what the `Version::satisfies_federation` carveout papered over.
The JS `FeatureDefinitions.getMinimumRequiredVersion` instead returns
the latest version whose minimum federation version is `<=` the given
one, clamped to the spec's latest major. Port it as
`get_maximum_allowed_version`, which is now the only lookup:
- Drop `get_minimum_required_version` (oldest compatible version with
a matching major); for every fed 2.x version it resolves to the same
spec versions as the ported lookup.
- Rename `get_dyn_minimum_required_version` to
`get_dyn_maximum_allowed_version`.
- Drop `Version::satisfies_federation`.
JS: https://github.com/apollographql/federation/blob/7c0a8ba4cf061cf0e2a6537803ed828c36234bed/internals-js/src/specs/coreSpec.ts#L660-L675
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0 commit comments