urql

The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow.

MIT License

Downloads
11.4M
Stars
8.5K
Committers
249

Bot releases are hidden (Show)

urql -

Published by urql-ci about 2 years ago

We urgently recommend all users of the React bindings to upgrade to this patch!

Please don't forget to deduplicate your installed version of @urql/core after you upgrade.

Patch Changes

  • ⚠️ Fix missing React updates after an incoming response that schedules a mount. We now prevent dispatched operations from continuing to flush synchronously when the original source that runs the queue has terminated. This is important for the React bindings, because an update (e.g. setState) may recursively schedule a mount, which then disabled other setState updates from being processed. Previously we assumed that React used a trampoline scheduler for updates, however it appears that setState can recursively start more React work, by @kitten (See #2556)
urql -

Published by urql-ci about 2 years ago

We urgently recommend all users of the React bindings to upgrade to this patch!

Please don't forget to deduplicate your installed version of @urql/core after you upgrade.

Patch Changes

  • ⚠️ Fix missing React updates after an incoming response that schedules a mount. We now prevent dispatched operations from continuing to flush synchronously when the original source that runs the queue has terminated. This is important for the React bindings, because an update (e.g. setState) may recursively schedule a mount, which then disabled other setState updates from being processed. Previously we assumed that React used a trampoline scheduler for updates, however it appears that setState can recursively start more React work, by @kitten (See #2556)
  • Updated dependencies (See #2556)

Minor Changes

  • Allow providing a custom isSubscriptionOperation implementation, by @n1ru4l (See #2534)

Patch Changes

  • Avoid making the imports of @urql/introspection more specific than they need to be, this because we aren't optimizing for bundle size and in pure node usage this can confuse Node as import x from 'graphql' won't share the same module scope as import x from 'graphql/x/y.mjs', by @JoviDeCroock (See #2529)

Patch Changes

  • Made variables optional for all operations, by @mpiorowski (See #2496)
  • ⚠️ Fix issue with subscriptionStore and queryStore eagerly terminating the subscription due to derived, by @JoviDeCroock (See #2514)
urql - https://github.com/urql-graphql/urql/releases/tag/[email protected]

Published by urql-ci over 2 years ago

Patch Changes

  • ⚠️ Fix Node.js ESM re-export detection for @urql/core in urql package and CommonJS output for all other CommonJS-first packages. This ensures that Node.js' cjs-module-lexer can correctly identify re-exports and report them properly. Otherwise, this will lead to a runtime error, by @kitten (See #2485)
urql - https://github.com/urql-graphql/urql/releases/tag/[email protected]

Published by urql-ci over 2 years ago

Patch Changes

  • ⚠️ Fix Node.js ESM re-export detection for @urql/core in urql package and CommonJS output for all other CommonJS-first packages. This ensures that Node.js' cjs-module-lexer can correctly identify re-exports and report them properly. Otherwise, this will lead to a runtime error, by @kitten (See #2485)

Patch Changes

  • ⚠️ Fix Node.js ESM re-export detection for @urql/core in urql package and CommonJS output for all other CommonJS-first packages. This ensures that Node.js' cjs-module-lexer can correctly identify re-exports and report them properly. Otherwise, this will lead to a runtime error, by @kitten (See #2485)

Patch Changes

  • ⚠️ Fix Node.js ESM re-export detection for @urql/core in urql package and CommonJS output for all other CommonJS-first packages. This ensures that Node.js' cjs-module-lexer can correctly identify re-exports and report them properly. Otherwise, this will lead to a runtime error, by @kitten (See #2485)

Patch Changes

  • Correctly reorder optimistic layers when we see repeated keys coming in, by @JoviDeCroock (See #2489)

Patch Changes

  • ⚠️ Fix Node.js ESM re-export detection for @urql/core in urql package and CommonJS output for all other CommonJS-first packages. This ensures that Node.js' cjs-module-lexer can correctly identify re-exports and report them properly. Otherwise, this will lead to a runtime error, by @kitten (See #2485)

Patch Changes

  • ⚠️ Fix Node.js ESM re-export detection for @urql/core in urql package and CommonJS output for all other CommonJS-first packages. This ensures that Node.js' cjs-module-lexer can correctly identify re-exports and report them properly. Otherwise, this will lead to a runtime error, by @kitten (See #2485)

Patch Changes

  • Keep track of mutations in the offline exchange so we can accurately recreate the original variables, there could be more variables for use in updater functions which we strip away in graphCache before sending to the API, by @JoviDeCroock (See #2472)
urql - https://github.com/urql-graphql/urql/releases/tag/[email protected]

Published by urql-ci over 2 years ago

Patch Changes

  • ⚠️ Fix issue where a paused subscription would execute with stale variables, by @JoviDeCroock (See #2463)

Major Changes

  • Reimplement Svelte with functional-only API.
    We've gotten plenty of feedback and issues from the Svelte community about our prior
    Svelte bindings. These bindings favoured a Store singleton to read and write to,
    and a separate signal to start an operation.
    Svelte usually however calls for a lot more flexibility, so we're returning the
    API to a functional-only API again that serves to only create stores, which is more
    similar to the original implementation, by @jonathanstanley (See #2370)

Patch Changes

Minor Changes

  • Add Accept header to GraphQL HTTP requests. This complies to the specification but doesn't go as far as sending Content-Type which would throw a lot of APIs off. Instead, we'll now be sending an accept header for application/graphql+json, application/json to indicate that we comply with the GraphQL over HTTP protocol.
    This also fixes headers merging to allow overriding Accept and Content-Type regardless of the user options' casing, by @kitten (See #2457)

Patch Changes

  • Support aborting in withPromise cases, by @JoviDeCroock (See #2446)
  • Passthrough responses with content type of text/* as error messages, by @kitten (See #2456)

Patch Changes

  • Switch isFragmentHeuristicallyMatching() to always return true for writes, so that we give every fragment a chance to be applied and to write to the cache, by @kitten (See #2455)
  • ⚠️ Fix default storage persisting data after clear() was called on it, by @JoviDeCroock (See #2458)
  • Updated dependencies (See #2446, #2456, and #2457)

Patch Changes

  • Support using default values with directives. Previously, using a variables with a default value within a directive would fail the validation if it is empty, by @fathyb (See #2435)

Minor Changes

  • Fix issues with continuously updating operations (i.e. subscriptions and hasNext: true queries) by shifting their layers in Graphcache behind those that are still awaiting a result. This causes continuous updates to not overwrite one-off query results while still keeping continuously updating operations at the highest possible layer, by @kitten (See #2419)

Patch Changes

  • ⚠️ Fix ignore empty relay edges when using the relayPagination resolver, by @tgriesser (See #2431)
  • Prevent creating unnecessary layers, which should improve performance slightly, by @kitten (See #2419)

Patch Changes

  • ⚠️ Fix wait for the first non-stale result when using await executeQuery, by @JoviDeCroock (See #2410)