Releases: centrifugal/centrifuge-js
5.3.2
What's Changed
- Fix calling subscription getToken twice by @FZambia in #307
- SDK now reconnects/resubscribes upon connection and subscription
getData
call exceptions - Bump undici from 5.28.4 to 5.28.5 by @dependabot in #305
Full Changelog: 5.3.1...5.3.2
5.3.1
5.3.0
What's Changed
- Headers emulation by @FZambia in #299 . This feature works only with Centrifugo v6. See the details in the Centrifugo v6 release blog post
SockJS transport warning
SockJS transport is removed in Centrifugo v6, but it will be supported in centrifuge-js
for some time, but eventually will be removed in centrifuge-js
v6.
Full Changelog: 5.2.2...5.3.0
5.2.2
What's Changed
- fix max call stack exceeded when applying fossil delta by @FZambia in #293
- Bump braces from 3.0.2 to 3.0.3 by @dependabot in #291
- Bump ws from 8.14.1 to 8.17.1 by @dependabot in #290
Full Changelog: 5.2.1...5.2.2
5.2.1
What's Changed
- Synchronize subscribe with unsubscribe to properly work in emulation case by @FZambia in #288. This solves a possible race condition when working with HTTP-streaming and SSE fallback transports and issuing subscribe/unsubscribe requests quickly - the race could lead to
already subscribed
error.
Full Changelog: 5.2.0...5.2.1
5.2.0
What's Changed
- Support delta compression by @FZambia in #282 . See Centrifugo v5.4.0 release notes for more details
Full Changelog: 5.1.1...5.2.0
5.1.1
What's Changed
- Fix reconnect on close before transport open by @FZambia in #281 . If you observed rare
WebSocket is closed before the connection is established
warnings in console and no reconnect after that - this should fix it.
Full Changelog: 5.1.0...5.1.1
5.1.0
What's Changed
- Send commands based on transport state instead of connected state by @ThisIsEsh in #278.
The above pull request, contributed by @ThisIsEsh, changes how centrifuge-js
interacts with transport in the bidirectional case. Now, the client sends commands as soon as the transport is ready, instead of waiting for the connect reply. This should reduce the time until the initial subscription in some cases. In fact, this approach makes all subscriptions optimistic.
More importantly, it eliminates the race conditions we had when unsubscribing from channels. Previously, in some cases, unsubscribe frames could be omitted by centrifuge-js
(see more details about when exactly in #274). This could result in an already subscribed
error when the client tried to subscribe to the channel again.
The change also includes unsubscribe fixes for the emulation transport where centrifuge-js
used optimistic subscriptions. When unsubscribe was called before the transport was established, we received a node not found
error on the server side. Disabling optimistic subscriptions in the emulation case and adding new logic in #278 now result in correct unsubscribe behavior. Actually, we had already disabled optimistic subscriptions for SSE transport before, so this adjustment only affects emulation based on HTTP streaming.
Other changes
- Docker compose for testing, add some tests by @FZambia in #280
- Bump undici from 5.28.3 to 5.28.4 by @dependabot in #277
New Contributors
- @ThisIsEsh made their first contribution in #278
Full Changelog: 5.0.2...5.1.0
5.0.2
5.0.1
What's Changed
- fix: add hasOwnProperty by @hardsmile98 in #259 to properly work in projects with extended array/object prototypes.
New Contributors
- @hardsmile98 made their first contribution in #259
Full Changelog: 5.0.0...5.0.1