On this page

@graphql-yoga/subscription

Changelog for @graphql-yoga/subscription: every release with its changes and the pull requests behind them.

6.0.0

Major Changes

  • #4574 79b0e8b Thanks @egoodwinx! - ### Breaking Changes

    • Node: minimum supported version is now Node 22. Node 18 and 20 are no longer supported. Future releases will only support Node >=22.
    • GraphQL: minimum supported version is now GraphQL 16. GraphQL 14 and 15 are no longer supported.
    • Request body parsing: Yoga now limits request bodies to 25,000,000 bytes by default. Enforcing this limit streams the body through a byte counter, making POST body parsing asynchronous even for an in-memory body. As a result, yoga.fetch() can return a Promise where it previously returned a synchronous Response, even when all resolvers and plugins are synchronous.

    Migration

    • If you’re on Node 18/20, upgrade to Node 22 or later before upgrading this package.
    • If you’re on graphql 14/15, upgrade to graphql 16 or 17 first.
    • Await yoga.fetch() and response body parsing instead of relying on synchronous results. Set maxRequestBodySize: false in createYoga to disable the body-size limit and preserve synchronous parsing for in-memory bodies, but only if you enforce an appropriate request-body limit elsewhere.

Patch Changes

  • Updated dependencies [79b0e8b]:
    • @graphql-yoga/typed-event-target@4.0.0

5.1.1

Patch Changes

  • #4577 7bff35c Thanks @egoodwinx! - Add homepage and bugs.url to package.json files

  • Updated dependencies [7bff35c]:

    • @graphql-yoga/typed-event-target@3.0.3

5.1.0

Minor Changes

  • #4341 b70ad4a Thanks @wotan-allfather! - feat: add configurable repeater buffer to createPubSub

    This allows users to configure how values are buffered when pushed faster than consumed, preventing RepeaterOverflowError when more than 1024 pending pushes accumulate.

    Available buffers from @repeaterjs/repeater:

    • FixedBuffer(capacity) - allows N values to be pushed without waiting, throws when full
    • SlidingBuffer(capacity) - discards oldest values when capacity is exceeded
    • DroppingBuffer(capacity) - discards newest values when capacity is exceeded

    Example:

    import { createPubSub, SlidingBuffer } from '@graphql-yoga/subscription'
    
    const pubSub = createPubSub({
      repeaterBuffer: new SlidingBuffer(256)
    })

    Closes #3692

5.0.5

Patch Changes

5.0.4

Patch Changes

5.0.3

Patch Changes

5.0.2

Patch Changes

  • Updated dependencies [57e7701]:
    • @graphql-yoga/typed-event-target@3.0.1

5.0.1

Patch Changes

5.0.0

Major Changes

Patch Changes

  • Updated dependencies [01430e03]:
    • @graphql-yoga/typed-event-target@3.0.0

4.0.0

Major Changes

  • #2767 4228c1d5 Thanks @renovate! - Drop support for Node.js 14. Require Node.js >=16.

  • #2767 4228c1d5 Thanks @renovate! - Events without an event payload will now always have null as the event payload instead of undefined.

Patch Changes

  • Updated dependencies [4228c1d5, 4228c1d5]:
    • @graphql-yoga/typed-event-target@2.0.0

3.1.0

Minor Changes

  • #2291 fe4a2aca Thanks @n1ru4l! - Support returning a Promise from the filter utility function.

    const applyFilter = filter(value => Promise.resolve(value > 3))

3.0.0

Major Changes

Patch Changes

  • Updated dependencies [b2407c6a]:
    • @graphql-yoga/typed-event-target@1.0.0

3.0.0-next.0

Major Changes

Patch Changes

  • Updated dependencies [b2407c6a]:
    • @graphql-yoga/typed-event-target@1.0.0-next.0

2.2.3

Patch Changes

  • eecf24c: Fix CommonJS TypeScript resolution with moduleResolution node16 or nodenext
  • Updated dependencies [eecf24c]
    • @graphql-yoga/typed-event-target@0.1.1

2.2.2

Patch Changes

  • 3363de2: Use import type { Foo } from '@pkg' instead of import { type Foo } from '@pkg' as many tools don’t yet support this syntax.

2.2.1

Patch Changes

  • ebddc71: Correctly handle empty (‘undefined’) payloads.

2.2.0

Minor Changes

  • d024757: Use @graphql-yoga/typed-event-target as a dependency for the EventTarget implementation.

Patch Changes

  • Updated dependencies [d024757]
    • @graphql-yoga/typed-event-target@0.1.0

2.1.0

Minor Changes

2.0.0

Major Changes

  • 3e771f5: re-export Repeater from @repeaterjs/repeater
  • e99ec3e: initial subscription package implementation
  • f856b58: export PubSub type
  • 3e771f5: add pipe helper function
  • f856b58: allow any AsyncIterable source for the map and filter operator
  • dcaea56: add missing tslib dependency

Patch Changes

  • 8d03bee: fix publishing values when using the id argument for granular resource based subscriptions
  • de1693e: trigger release
  • f856b58: correctly terminate AsyncIterable returned from map/filter when the source stream ends

0.0.1-beta.1

Patch Changes

  • 8d03bee: fix publishing values when using the id argument for granular resource based subscriptions

0.0.1-beta.0

Patch Changes

  • de1693e: trigger release

0.1.0-alpha.2

Minor Changes

  • dcaea56: add missing tslib dependency

0.1.0-alpha.1

Minor Changes

  • 3e771f5: re-export Repeater from @repeaterjs/repeater
  • f856b58: export PubSub type
  • 3e771f5: add pipe helper function
  • f856b58: allow any AsyncIterable source for the map and filter operator

Patch Changes

  • f856b58: correctly terminate AsyncIterable returned from map/filter when the source stream ends

0.1.0-alpha.0

Minor Changes

  • e99ec3e: initial subscription package implementation