Release Notes
Patch Changes
#13347
7d543d6Thanks @jerelmiller! - Fix an issue wherenetwork-onlyincremental queries could cause cache data to leak into the emitted result when a@deferor@streamboundary already had complete data in the cache. Cache data inside pending@deferobjects and@streamarrays are now pruned so that only completed@deferor@streamboundaries are returned.NOTE: This change only applies to
InMemoryCachewhen usingGraphQL17Alpha9Handler.#13329
1d581d2Thanks @AmariahAK! - Cache diffs for incomplete queries no longer pay the cost of building a fullMissingFieldErrorwhen themissingproperty is not accessed. The error object is now only constructed when themissingproperty is accessed the first time. This improves performance by avoiding a V8 stack capture whenmissingis ignored entirely.As an additional small performance improvement,
JSON.stringifyis no longer used in the error message on objects whose cache ID is known.JSON.stringifyis only used for non-normalized objects.#13347
7d543d6Thanks @jerelmiller! - Fix an issue where partial cache data could leak into intermediate incremental results. This could cause runtime crashes if you relied on the presence of values to determine whether the@deferdata had streamed in or not.