Skip to content

Releases: apollographql/federation

@apollo/[email protected]

17 Mar 16:12
51a8822
Compare
Choose a tag to compare

Patch Changes

  • Refactor the internal implementation of selection sets used by the query planner to decrease the code complexity and (#2387)
    improve query plan generation performance in many cases.

  • Optimises query plan generation for parts of queries that can statically be known to not cross across subgraphs (#2449)

  • Updated dependencies [260c357c, 7bc0f8e8, 1a555d98, cab383b2]:

@apollo/[email protected]

17 Mar 16:12
51a8822
Compare
Choose a tag to compare

Minor Changes

  • This change introduces a configurable query plan cache. This option allows (#2385)
    developers to provide their own query plan cache like so:

    new ApolloGateway({
      queryPlannerConfig: {
        cache: new MyCustomQueryPlanCache(),
      },
    });
    

    The current default implementation is effectively as follows:

    import { InMemoryLRUCache } from "@apollo/utils.keyvaluecache";
    
    const cache = new InMemoryLRUCache<string>({
      maxSize: Math.pow(2, 20) * 30,
      sizeCalculation<T>(obj: T): number {
        return Buffer.byteLength(JSON.stringify(obj), "utf8");
      },
    });
    

    TypeScript users should implement the QueryPlanCache type which is now
    exported by @apollo/query-planner:

    import { QueryPlanCache } from '@apollo/query-planner';
    
    class MyCustomQueryPlanCache implements QueryPlanCache {
      // ...
    }
    
  • Adds debug/testing query planner options (debug.bypassPlannerForSingleSubgraph) to bypass the query planning (#2441)
    process for federated supergraph having only a single subgraph. The option is disabled by default, is not recommended
    for production, and is not supported (it may be removed later). It is meant for debugging/testing purposes.

Patch Changes

@apollo/[email protected]

17 Mar 16:12
51a8822
Compare
Choose a tag to compare

Patch Changes

  • Refactor the internal implementation of selection sets used by the query planner to decrease the code complexity and (#2387)
    improve query plan generation performance in many cases.

  • Revert #2293. Removing URL import causes a problem when running under deno. (#2451)

  • Use globally available URL object instead of node builtin "url" module (#2293)

  • Optimises query plan generation for parts of queries that can statically be known to not cross across subgraphs (#2449)

@apollo/[email protected]

17 Mar 16:12
51a8822
Compare
Choose a tag to compare

Minor Changes

  • Addition of new query planner node types to enable federated subscriptions support (#2389)

Patch Changes

  • Refactor the internal implementation of selection sets used by the query planner to decrease the code complexity and (#2387)
    improve query plan generation performance in many cases.

  • Optimises query plan generation for parts of queries that can statically be known to not cross across subgraphs (#2449)

  • Updated dependencies [260c357c, 7bc0f8e8, 1a555d98, cab383b2]:

@apollo/[email protected]

15 Mar 20:50
961f390
Compare
Choose a tag to compare

Patch Changes

@apollo/[email protected]

15 Mar 20:50
961f390
Compare
Choose a tag to compare

Patch Changes

@apollo/[email protected]

15 Mar 20:50
961f390
Compare
Choose a tag to compare

Patch Changes

@apollo/[email protected]

15 Mar 20:50
961f390
Compare
Choose a tag to compare

Patch Changes

@apollo/[email protected]

15 Mar 20:50
961f390
Compare
Choose a tag to compare

@apollo/[email protected]

15 Mar 20:50
961f390
Compare
Choose a tag to compare

Patch Changes