Skip to content
Compare
Choose a tag to compare
@github-actions github-actions released this 17 Mar 16:12
· 566 commits to main since this release
51a8822

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