Skip to content

fix(deps): update apollo graphql packages to v2 (major) #446

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 12, 2022

This PR contains the following updates:

Package Change Age Adoption Passing Confidence Type Update
@apollo/subgraph (source) 0.6.1 -> 2.11.2 age adoption passing confidence dependencies major
ghcr.io/apollographql/router v1.59.2 -> v2.4.0 age adoption passing confidence major

Release Notes

apollographql/federation (@​apollo/subgraph)

v2.11.2

Compare Source

Patch Changes

v2.11.1

Compare Source

Patch Changes

v2.11.0

Compare Source

Minor Changes
  • Adds connect spec v0.2, available for use with Apollo Router 2.3.0 or greater. (#​3262)
Patch Changes

v2.10.2

Compare Source

Patch Changes

v2.10.1

Compare Source

Patch Changes

v2.10.0

Compare Source

Patch Changes

v2.9.3

Compare Source

Patch Changes

v2.9.2

Compare Source

Patch Changes

v2.9.1

Compare Source

Patch Changes

v2.9.0

Compare Source

Patch Changes

v2.8.5

Compare Source

Patch Changes

v2.8.4

Compare Source

Patch Changes

v2.8.3

Compare Source

Patch Changes

v2.8.2

Compare Source

Patch Changes

v2.8.1

Compare Source

Patch Changes

v2.8.0

Compare Source

Patch Changes

v2.7.8

Compare Source

Patch Changes

v2.7.7

Compare Source

Patch Changes

v2.7.6

Compare Source

Patch Changes

v2.7.5

Compare Source

Patch Changes

v2.7.4

Compare Source

Patch Changes

v2.7.3

Compare Source

Patch Changes

v2.7.2

Compare Source

Patch Changes

v2.7.1

Compare Source

Patch Changes

v2.7.0

Compare Source

Minor Changes
  • Implement progressive @override functionality (#​2911)

    The progressive @override feature brings a new argument to the @override directive: label: String. When a label is added to an @override application, the override becomes conditional, depending on parameters provided to the query planner (a set of which labels should be overridden). Note that this feature will be supported in router for enterprise users only.

    Out-of-the-box, the router will support a percentage-based use case for progressive @override. For example:

    type Query {
      hello: String @​override(from: "original", label: "percent(5)")
    }

    The above example will override the root hello field from the "original" subgraph 5% of the time.

    More complex use cases will be supported by the router via the use of coprocessors/rhai to resolve arbitrary labels to true/false values (i.e. via a feature flag service).

Patch Changes

v2.6.3

Compare Source

Patch Changes

v2.6.2

Compare Source

Patch Changes

v2.6.1

Compare Source

Patch Changes

v2.6.0

Compare Source

Patch Changes

v2.5.7

Compare Source

Patch Changes

v2.5.6

Compare Source

Patch Changes

v2.5.5

Compare Source

Patch Changes
  • Fix specific case for requesting __typename on interface entity type (#​2775)

    In certain cases, when resolving a __typename on an interface entity (due to it actual being requested in the operation), that fetch group could previously be trimmed / treated as useless. At a glance, it appears to be a redundant step, i.e.:

    { ... on Product { __typename id }} => { ... on Product { __typename} }
    

    It's actually necessary to preserve this in the case that we're coming from an interface object to an (entity) interface so that we can resolve the concrete __typename correctly.

  • Updated dependencies []:

v2.5.4

Compare Source

Patch Changes

v2.5.3

Compare Source

Patch Changes

v2.5.2

Compare Source

Patch Changes

v2.5.1

Compare Source

Patch Changes

v2.5.0

Compare Source

Minor Changes
  • Introduce the new @authenticated directive for composition (#​2644)

    Note that this directive will only be fully supported by the Apollo Router as a GraphOS Enterprise feature at runtime. Also note that composition of valid @authenticated directive applications will succeed, but the resulting supergraph will not be executable by the Gateway or an Apollo Router which doesn't have the GraphOS Enterprise entitlement.

    Users may now compose @authenticated applications from their subgraphs into a supergraph. This addition will support a future version of Apollo Router that enables authenticated access to specific types and fields via directive applications.

    The directive is defined as follows:

    directive @​authenticated on FIELD_DEFINITION | OBJECT | INTERFACE | SCALAR | ENUM

    In order to compose your @authenticated usages, you must update your subgraph's federation spec version to v2.5 and add the @authenticated import to your existing imports like so:

    @​link(url: "https://specs.apollo.dev/federation/v2.5", import: [..., "@​authenticated"])
Patch Changes

v2.4.13

Compare Source

Patch Changes

v2.4.12

Compare Source

Patch Changes

v2.4.11

Compare Source

Patch Changes

v2.4.10

Compare Source

Patch Changes

v2.4.9

Compare Source

Patch Changes

v2.4.8

Compare Source

Patch Changes

v2.4.7

Compare Source

Patch Changes

v2.4.6

Compare Source

Patch Changes

v2.4.5

Compare Source

Patch Changes

v2.4.4

Compare Source

Patch Changes

v2.4.3

Compare Source

Patch Changes
  • Resolve Promise references before calling __resolveType on interface (#​2556)

    Since the introduction of entity interfaces, users could not return
    a Promise from __resolveReference while implementing a synchronous,
    custom __resolveType function. This change fixes/permits this use case.

    Additional background / implementation details:

    Returning a Promise from __resolveReference has historically never
    been an issue. However, with the introduction of entity interfaces, the
    calling of an interface's __resolveType function became a new concern.

    __resolveType functions expect a reference (and shouldn't be concerned
    with whether those references are wrapped in a Promise). In order to
    address this, we can await the reference before calling the
    __resolveType (this handles both the non-Promise and Promise case).

  • Updated dependencies [f6a8c1ce]:

v2.4.2

Compare Source

Patch Changes

v2.4.1

Compare Source

Patch Changes

v2.4.0

Compare Source

Patch Changes

v2.3.6

Compare Source

Patch Changes

v2.3.5

Compare Source

Patch Changes

v2.3.4

Compare Source

Patch Changes

v2.3.3

Compare Source

Patch Changes

v2.3.2

Compare Source

Patch Changes

v2.3.1

Compare Source

Patch Changes

This CHANGELOG pertains only to Apollo Federation packages in the 2.x range. The Federation v0.x equivalent for this package can be found here on the version-0.x branch of this repo.

v2.3.0

Compare Source

  • @tag directive support for the SCHEMA location. This has been added to the 2.3 version of the federation spec, so to access this functionality you must bump your federation spec version to 2.3 by using @link(url: "https://specs.apollo.dev/federation/v2.3", ...) on your schema element. PR #​2314.

v2.2.3

Compare Source

v2.2.2

Compare Source

v2.2.1

Compare Source

v2.2.0

Compare Source

  • Adds support for the 2.2 version of the federation spec (that is, @link(url: "https://specs.apollo.dev/federation/v2.2")), which:
  • allows @shareable to be repeatable so it can be allowed on both a type definition and its extensions PR #​2175.
  • Drop support for node12 PR #​2202

v2.1.4

Compare Source

v2.1.3

Compare Source

v2.1.2

Compare Source

v2.1.1

Compare Source

v2.1.0

Compare Source

  • Update peer dependency graphql to ^16.5.0 to use GraphQLErrorOptions PR #​2060
  • Remove dependency on apollo-server-types PR #​2037
  • Expand support for Node.js v18 PR #​1884

v2.0.5

Compare Source

v2.0.4

Compare Source

v2.0.3

Compare Source

  • Fix output of printSubgraphSchema method, ensuring it can be read back by composition and buildSubgraphSchema PR #​1831.
  • Fix definition of @key to be repeatable PR #​1826.

v2.0.2

Compare Source

v2.0.1

Compare Source

  • Released in sync with other federation packages but no changes to this package.

v2.0.0

Compare Source

  • Previous preview release promoted to general availability! Please see previous changelog entries for full info.
apollographql/router (ghcr.io/apollographql/router)

v2.4.0

Compare Source

🚀 Features
Support JWT audience (aud) validation (PR #​7578)

The router now supports JWT audience (aud) validation. This allows the router to ensure that the JWT is intended
for the specific audience it is being used with, enhancing security by preventing token misuse across different audiences.

The following sample configuration will validate the JWT's aud claim against the specified audiences and ensure a match with either https://my.api or https://my.other.api. If the aud claim does not match either of those configured audiences, the router will reject the request.

authentication:
 router:
   jwt:
     jwks: # This key is required.
       - url: https://dev-zzp5enui.us.auth0.com/.well-known/jwks.json
         issuers: # optional list of issuers
           - https://issuer.one
           - https://issuer.two
         audiences: # optional list of audiences
           - https://my.api
           - https://my.other.api
         poll_interval: <optional poll interval>
         headers: # optional list of static headers added to the HTTP request to the JWKS URL
           - name: User-Agent
             value: router

##### These keys are optional. Default values are shown.
     header_name: Authorization
     header_value_prefix: Bearer
     on_error: Error

##### array of alternative token sources
     sources:
       - type: header
         name: X-Authorization
         value_prefix: Bearer
       - type: cookie
         name: authz

By @​Velfi in https://github.com/apollographql/router/pull/7578

Prioritize existing requests over query parsing and planning during "warm up" (PR #​7223)

The router warms up its query planning cache during a hot reload. This change decreases the priority
of warm up tasks in the compute job queue to reduce the impact of warmup on serving requests.

This change adds new values to the job.type dimension of the following metrics:

  • apollo.router.compute_jobs.duration - A histogram of time spent in the compute pipeline by the job, including the queue and query planning.
    • job.type: (query_planning, query_parsing, introspection, query_planning_warmup, query_parsing_warmup)
    • job.outcome: (executed_ok, executed_error, channel_error, rejected_queue_full, abandoned)
  • apollo.router.compute_jobs.queue.wait.duration - A histogram of time spent in the compute queue by the job.
    • job.type: (query_planning, query_parsing, introspection, query_planning_warmup, query_parsing_warmup)
  • apollo.router.compute_jobs.execution.duration - A histogram of time spent to execute job (excludes time spent in the queue).
    • job.type: (query_planning, query_parsing, introspection, query_planning_warmup, query_parsing_warmup)
  • apollo.router.compute_jobs.active_jobs - A gauge of the number of compute jobs being processed in parallel.
    • job.type: (query_planning, query_parsing, introspection, query_planning_warmup, query_parsing_warmup)

By @​carodewig in https://github.com/apollographql/router/pull/7223

Persisted queries: include operation name in PERSISTED_QUERY_NOT_IN_LIST error for debuggability (PR #​7768)

When persisted query safelisting is enabled and a request has an unknown PQ ID, the GraphQL error now has the extension field operation_name containing the GraphQL operation name (if provided explicitly in the request). Note that this only applies to the PERSISTED_QUERY_NOT_IN_LIST error returned when manifest-based PQs are enabled, APQs are disabled, and the request contains an operation ID that is not in the list.

By @​glasser in https://github.com/apollographql/router/pull/7768

Introduce cooperative cancellation for query planning

The cooperative cancellation feature allows the router to gracefully handle query planning timeouts and cancellations, improving resource utilization.

The mode can be set to measure or enforce. We recommend starting with measure. In measure mode, the router will measure the time taken for query planning and emit metrics accordingly. In enforce mode, the router will cancel query planning operations that exceed the specified timeout.

To observe this behavior, the router telemetry has been updated:

  • Add an outcome attribute to the apollo.router.query_planning.plan.duration metric
  • Add an outcome attribute to the query_planning span

Below is a sample configuration to configure cooperative cancellation in measure mode:

supergraph:
  query_planning:
    experimental_cooperative_cancellation:
      enabled: true
      mode: measure
      timeout: 1s

By @​Velfi in https://github.com/apollographql/router/pull/7604

🐛 Fixes
Align on_graphql_error selector with subgraph_on_graphql_error (PR #​7676)

The on_graphql_error selector will now return true or false, in alignment with the subgraph_on_graphql_error selector. Previously, the selector would return true or None.

By @​carodewig in https://github.com/apollographql/router/pull/7676

Return valid GraphQL response when performing a websocket handshake (PR #​7680)

PR #​7141 added checks on GraphQL responses returned from coprocessors to ensure compliance with GraphQL specifications. This surfaced an issue where subscription responses over websockets could omit the required data field during the handshake, resulting in invalid GraphQL response payloads. All websocket subscription responses will now return a valid GraphQL response when doing the websocket handshake.

By @​bnjjj in https://github.com/apollographql/router/pull/7680

Fix SigV4 configuration handling (PR #​7726)

Fixed an issue introduced in Router 2.3.0 where some SigV4 configurations would fail to start, preventing communication with SigV4-enabled services.

By @​dylan-apollo in https://github.com/apollographql/router/pull/7726

Improve error message for invalid variables (Issue #​2984)

When a variable in a GraphQL request is missing or contains an invalid value, the router now returns more useful error messages. Example:

-invalid type for variable: 'x'
+invalid input value at x.coordinates[0].longitude: found JSON null for GraphQL Float!

By @​SimonSapin in https://github.com/apollographql/router/pull/7567

Support exporting resources on all Prometheus metrics (PR #​7394)

By default, the Prometheus metrics exporter will only export resources as target_info metrics, not inline on every metric. Now, you can add resources to every metric by setting resource_selector to all (default is none).

telemetry:
  exporters:
    metrics:
      common:
        resource:
          "test-resource": "test"
      prometheus:
        enabled: true
        resource_selector: all # This will add resources on every metrics

Note: this change only affects Prometheus, not OTLP.

By @​bnjjj in https://github.com/apollographql/router/pull/7394

Forbid unknown @link directives for supergraph schemas where purpose is EXECUTION or SECURITY

The legacy JavaScript query planner forbid any usage of unknown @link specs in supergraph schemas with either EXECUTION or SECURITY value set for the for argument (aka, the spec's "purpose"). This behavior had not been ported to the native query planner previously. This PR implements the expected behavior in the native query planner.

By @​duckki in https://github.com/apollographql/router/pull/7587

Supergraph stage correctly receives on_graphql_error selector (PR #​7669)

The on_graphql_error selector will now correctly fire on the supergraph stage; previously it only worked on the router stage.

By @​carodewig in https://github.com/apollographql/router/pull/7669

Invalid type condition in @defer fetch

The query planner was adding an inline spread (...) conditioned on the Query type in deferred subgraph fetch queries. Such a query would be invalid in the subgraph when the subgraph schema renamed the root query type to somethhing other than Query. The fix removes the root type condition from all subgraph queries, so that they stay valid even when root types are renamed.

By @​duckki in https://github.com/apollographql/router/pull/7580

Preserve content-type for file uploads when Rhai scripts are in use (PR #​7559)

If a Rhai script was invoked during file upload processing, then the "Content-Type" of the request was not preserved correctly. This would cause a file upload to fail.

The error message would be something like:

"message": "invalid multipart request: Content-Type is not multipart/form-data",

This issue has now been fixed.

By @​garypen in https://github.com/apollographql/router/pull/7559

Improve OTLP metric HTTP endpoint behavior (PR #​7595)

We made substantial updates to OpenTelemetry in router 2.0, but didn't catch that OpenTelemetry changed how it processed "endpoints" (destinations for metrics and traces) until now.

With the undetected change, the router wasn't setting the path correctly, resulting in failure to export metrics over HTTP when using the "default" endpoint. Neither metrics via gRPC nor traces were impacted.

We have fixed our interactions with the dependency and improved our testing to make sure this does not occur again. A


Configuration

📅 Schedule: Branch creation - At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday ( * 0-4,22-23 * * 1-5 ), Only on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/major-apollo-graphql-packages branch 11 times, most recently from b2da5c3 to 1007fd7 Compare April 16, 2022 02:25
@renovate renovate bot force-pushed the renovate/major-apollo-graphql-packages branch 9 times, most recently from cdd71ef to cd7cb8b Compare April 26, 2022 03:31
@renovate renovate bot force-pushed the renovate/major-apollo-graphql-packages branch 7 times, most recently from dc298f7 to c3dacb4 Compare May 6, 2022 23:39
@renovate renovate bot force-pushed the renovate/major-apollo-graphql-packages branch 3 times, most recently from 790d25e to d4d30cc Compare May 11, 2022 02:38
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) May 11, 2025
@renovate renovate bot force-pushed the renovate/major-apollo-graphql-packages branch from 74670dd to 9bf9115 Compare May 14, 2025 12:39
@renovate renovate bot changed the title fix(deps): update apollo graphql packages to v2 (major) fix(deps): update dependency @apollo/subgraph to v2 May 24, 2025
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) May 24, 2025
@renovate renovate bot changed the title fix(deps): update apollo graphql packages to v2 (major) fix(deps): update dependency @apollo/subgraph to v2 May 30, 2025
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) May 30, 2025
@renovate renovate bot changed the title fix(deps): update apollo graphql packages to v2 (major) fix(deps): update dependency @apollo/subgraph to v2 May 31, 2025
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) May 31, 2025
@renovate renovate bot changed the title fix(deps): update apollo graphql packages to v2 (major) fix(deps): update dependency @apollo/subgraph to v2 Jun 1, 2025
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) Jun 1, 2025
@renovate renovate bot changed the title fix(deps): update apollo graphql packages to v2 (major) fix(deps): update dependency @apollo/subgraph to v2 Jun 2, 2025
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) Jun 2, 2025
@renovate renovate bot force-pushed the renovate/major-apollo-graphql-packages branch 2 times, most recently from e2e4bc1 to ed4e040 Compare June 5, 2025 15:04
@renovate renovate bot changed the title fix(deps): update apollo graphql packages to v2 (major) fix(deps): update dependency @apollo/subgraph to v2 Jun 21, 2025
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) Jun 21, 2025
@renovate renovate bot changed the title fix(deps): update apollo graphql packages to v2 (major) fix(deps): update dependency @apollo/subgraph to v2 Jun 22, 2025
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) Jun 22, 2025
@renovate renovate bot force-pushed the renovate/major-apollo-graphql-packages branch 2 times, most recently from 3795a13 to 67d39f2 Compare June 25, 2025 22:37
@renovate renovate bot changed the title fix(deps): update apollo graphql packages to v2 (major) fix(deps): update dependency @apollo/subgraph to v2 Jun 29, 2025
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) Jun 29, 2025
@renovate renovate bot force-pushed the renovate/major-apollo-graphql-packages branch from 67d39f2 to afb1d8f Compare July 2, 2025 05:55
@renovate renovate bot changed the title fix(deps): update apollo graphql packages to v2 (major) fix(deps): update dependency @apollo/subgraph to v2 Jul 3, 2025
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) Jul 3, 2025
@renovate renovate bot changed the title fix(deps): update apollo graphql packages to v2 (major) fix(deps): update dependency @apollo/subgraph to v2 Jul 12, 2025
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) Jul 12, 2025
@renovate renovate bot changed the title fix(deps): update apollo graphql packages to v2 (major) fix(deps): update dependency @apollo/subgraph to v2 Jul 14, 2025
@renovate renovate bot changed the title fix(deps): update dependency @apollo/subgraph to v2 fix(deps): update apollo graphql packages to v2 (major) Jul 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants