unstale

npm / pusher-js

pusher-js

What changed in pusher-js 5 to 8, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-23.

9 breaking1 security3 new APIs and options1 performance2 behavior and defaults1 tooling3 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.4 on npm

pusher-js 85 changes

Breaking changes 1

  • Specifying a cluster when instantiating the Pusher object is now mandatory; an exception is thrown if the cluster setting is missing.

    8.0.0release notes

New APIs and options 2

  • Emits pusher:signin_error on user-authentication failure, mirroring the existing pusher:subscription_error pattern.

    8.6.0release notes

  • Pusher instances gain a method to switch cluster or app without losing channel subscriptions.

    8.5.0release notes

Behavior and default changes 1

  • AuthOptionsT is now a discriminated union of InternalAuthOptions and CustomAuthOptions for improved type safety.

    8.5.0release notes

Fixes and other changes 1

  • Switching cluster now persists previous options, retaining custom handlers and other settings.

    8.5.0release notes

pusher-js 74 changes

Breaking changes 4

  • The callback signature changes from two arguments, with a boolean indicating an error, to the conventional function(err, data) signature. Custom authorizers must be updated.

    7.0.0release notes

  • Errors thrown by handlers bound to encrypted channels are no longer caught and ignored.

    7.0.0release notes

  • The event now contains an error object with a message and a status key instead of just the auth endpoint's status code.

    7.0.0release notes

  • Websocket errors are no longer wrapped multiple times, which may change the structure of emitted error events.

    7.0.0release notes

pusher-js 67 changes

Breaking changes 3

  • The encrypted option was removed; setting it to false will not change behavior.

    6.0.0release notes

  • Default web and worker builds no longer support encrypted channels; use pusher-js/with-encryption or an encrypted bundle.

    6.0.0release notes

  • forceTLS now defaults to true.

    6.0.0release notes

New APIs and options 1

  • Encrypted-channel support is now available in react-native.

    6.0.0release notes

Tooling 1

  • TypeScript declarations are now available for react-native.

    6.0.0release notes

Fixes and other changes 2

  • The activityTimeout option now works as described in the docs.

    6.0.0release notes

  • The pongTimeout option now works as described in the docs.

    6.0.0release notes

pusher-js 54 changes

Breaking changes 1

  • The React Native build now assumes the host project has @react-native-community/netinfo available, since netinfo was removed from React Native core.

    5.0.0release notes

Security 1

  • An issue that broke encrypted channels in Node has been resolved.

    5.0.0release notes

Performance 1

  • The reconnect strategy is no longer built with a DSL, making it easier for the JavaScript engine to optimize and expected to improve load times significantly.

    5.0.0release notes

Behavior and default changes 1

  • Node dependencies are bundled in the Node distribution file, so web and React Native users do not need to install unnecessary dependencies.

    5.0.0release notes