Releases: taoensso/sente
v1.21.0-beta2 (2025-07-04)
- Dependency: on Clojars
- Versioning: Break Versioning
This is a major release with many improvements! It includes breaking changes for some users. It's intended for early testing, and may not yet be suitable for production.
Please report any unexpected problems to the Slack channel or GitHub π
Quick highlights:
- Adds support for upcoming high-speed binary serialization (WebSockets + Ajax) [f8a3fad]
- Adds support for compression (WebSockets + Ajax) [f8a3fad]
- Smaller dependency [4864926] [6a7a609]
- Improved reliability under load [173652d] [49000db] [71e7bb0]
- Pluggable logging via Trove [4864926]
- Many small fixes and improvements
As always thank you to any contributors! π
Since v1.20.0
(2024-12-31)
See linked commit messages for more info
Changes
- β€ [mod] [BREAKING] [#472] Switch logging: Timbre -> Trove [4864926]
- β€ [mod] [BREAKING] Make packers more flexible [f8a3fad]
- [mod] [#455] Halve given
ws-kalive-ms
[49000db] - [mod] Make Java WS client optional [6a7a609]
- [mod] [#462] Don't throw by default on Ajax read timeouts [fb30404]
- [mod] Enable WebSocket ping timeout by default [71e7bb0]
- [mod] Change default WebSocket binary type (blob->arraybuffer) [02da98e]
- [mod] Remove experimental, undocumented
cb-chan-as-fn
[71db112] - [mod] Remove long-vestigial legacy pack code [cf2a149]
Fixes
- [fix] [#471] Switch to custom lightweight timer implementation [173652d]
- [fix] [#466] Fix support for Jetty 12 community adapter (@aiba) [d16bb6c]
- [fix] [#464] [#325] Fix option to use custom WebSocket constructor (@iarenaza) [07a9bd9]
New
- [new] [#467] Allow
:csrf-token-fn
to return:sente/skip-CSRF-check
[8aae3d0] - [new] [#467] Make
cb-error?
,cb-success?
available to Clj code [08e8b3e] - [new] [#462] Keep Ring request in Ajax channel [01a41a3]
- [new] Update ref example to add dynamic packer [cd98db7]
- [new] Update ref example logging [85b3e8a]
- [doc] Document limitations on event ordering [532064d]
v1.21.0-beta1 (2025-07-01)
- Dependency: on Clojars
- Versioning: Break Versioning
This is a major release with many improvements! It includes breaking changes for some users. It's intended for early testing, and may not yet be suitable for production.
Please report any unexpected problems to the Slack channel or GitHub π
Quick highlights:
- Adds support for upcoming high-speed binary serialization (WebSockets + Ajax) [f8a3fad]
- Adds support for compression (WebSockets + Ajax) [f8a3fad]
- Smaller dependency [4864926] [6a7a609]
- Improved reliability under load [173652d] [49000db] [71e7bb0]
- Pluggable logging via Trove [4864926]
- Many small fixes and improvements
As always thank you to any contributors! π
Since v1.20.0
(2024-12-31)
π See linked commit messages for more info!
Changes
- β€ [mod] [BREAKING] [#472] Switch logging: Timbre -> Trove [4864926]
- β€ [mod] [BREAKING] Make packers more flexible [f8a3fad]
- [mod] [#455] Halve given
ws-kalive-ms
[49000db] - [mod] Make Java WS client optional [6a7a609]
- [mod] [#462] Don't throw by default on Ajax read timeouts [fb30404]
- [mod] Enable WebSocket ping timeout by default [71e7bb0]
- [mod] Change default WebSocket binary type (blob->arraybuffer) [02da98e]
- [mod] Remove experimental, undocumented
cb-chan-as-fn
[71db112] - [mod] Remove long-vestigial legacy pack code [cf2a149]
Fixes
- [fix] [#471] Switch to custom lightweight timer implementation [173652d]
- [fix] [#466] Fix support for Jetty 12 community adapter (@aiba) [d16bb6c]
- [fix] [#464] [#325] Fix option to use custom WebSocket constructor (@iarenaza) [07a9bd9]
New
- [new] [#467] Allow
:csrf-token-fn
to return:sente/skip-CSRF-check
[8aae3d0] - [new] [#467] Make
cb-error?
,cb-success?
available to Clj code [08e8b3e] - [new] [#462] Keep Ring request in Ajax channel [01a41a3]
- [new] Update ref example to add dynamic packer [cd98db7]
- [new] Update ref example logging [85b3e8a]
- [doc] Document limitations on event ordering [532064d]
v1.20.0 (2024-12-31)
- Dependency: on Clojars
- Versioning: Break Versioning
This is a major non-breaking maintenance and feature release. As always, please report any unexpected problems π - Peter Taoussanis
Happy holidays everyone! ππ«Ά
Since v1.20.0-RC1
(2024-10-28)
No breaking changes intended
- [fix] [#458] Fix React Native build: catch invalid call [4e3f16c]
- [new] [#447] [Community adapters] Support both Jetty 11 and 12 (@stefanroex) [79c784d]
- [new] [#447] [Community adapters] Improve error message on Ajax read timeouts [9da662c]
- [doc] [Community adapters] Improve constructor docstrings [1c7a93c]
Since v1.19.2
(2023-08-30)
No breaking changes intended
Changes
- [mod] [#440] Decrease log level of noisy ws-ping events (@jwr) [4241e6c]
- [mod] Tune send backoff time [84e8b2a]
Fixes
- [fix] [#448] [#453] Fix NodeJS build: don't add
beforeunload
event listener (@theasp) [dc6b34e] - [fix] [#458] Fix React Native build: catch invalid call [4e3f16c]
- [fix] [#445] [#444] [Community adapters] Undertow: remove invalid option (@danielsz) [55167f5]
New
v1.20.0-RC1 (2024-10-28)
- Dependency: on Clojars
- Versioning: Break Versioning
This is a major non-breaking maintenance and feature release. As always, please report any unexpected problems π - Peter Taoussanis
Changes since v1.19.2
(2023-08-30)
- [mod] [#440] Decrease log level of noisy ws-ping events (@jwr) [4241e6c]
- [mod] Tune send backoff time [84e8b2a]
Fixes since v1.19.2
(2023-08-30)
- [fix] [#448] [#453] Don't add
beforeunload
event listener when running inside NodeJS (@theasp) [dc6b34e] - [fix] [#445] [#444] [Community adapters] Undertow: remove invalid option (@danielsz) [55167f5]
New since v1.19.2
(2023-08-30)
- [new] [#447] [Community adapters] Add Jetty 11 adapter (@alexandergunnarson) [8ecb2d9]
- [doc] [#439] Add guidance on large transfers [513a42d]
- Update several dependencies
1.19.2 (2023-08-30)
π¦ Available on Clojars
Identical to 1.19.1
, but includes a hotfix (dbb798a) for [#434] to remove the unnecessary logging of potentially sensitive Ring request info when connecting to a server without a client id.
This should be a safe update for users of 1.19.x
.
1.19.1 (2023-07-18)
π¦ Available on Clojars
Identical to 1.19.0
, but synchronizes Encore dependency with my recent library releases (Timbre, Tufte, Sente, Carmine, etc.) to prevent confusion caused by dependency conflicts.
This is a safe update for users of 1.19.0
.
1.19.0 (2023-07-13)
π¦ Available on Clojars
This is intended as a non-breaking maintenance release, but it touches a lot of code so please keep an eye out for (and let me know about) any unexpected problems - thank you! π
Tip: the reference example includes a number of tools to help test Sente in your environment.
Fixes since 1.18.1
- 0dc8a12 [fix] [#431] Some disconnected user-ids not removed from
connected-uids
(big thanks to @krajj7 for the report and assistance debugging!)
New since 1.18.1
1.18.1 (2023-07-04)
π¦ Available on Clojars
This is an important hotfix release, please update if you're using 1.18.0
.
Fixes since 1.18.0
- ad62f1e [fix] Ajax poll not properly timing out
- 1d15fe5 [fix] [#430]
[:chsk/uidport-close]
server event not firing
New since 1.18.0
- 5c0f4ad [new] [example] Add example server-side uidport event handlers
1.18.0 (2023-06-30)
π¦ Available on Clojars
Same as 1.18.0-RC1
, except for:
1.18.0-RC1 (2023-05-30)
π¦ Available on Clojars
This is a major pre-release that INCLUDES BREAKING CHANGES.
Please test carefully and report any issues!
β οΈ Changes since 1.17.0
See here for detailed migration/upgrade instructions! π
- 0b37e4c [mod] [#319] [BREAKING] Change default
wrap-recv-evs?
value - d5b3dc5 [mod] [#404] [#398] [BREAKING] Disable default legacy pack value
- 23d9f7a [mod] [#412] [BREAKING] Move unofficial adapters under
community
dir - c3d7c6c [mod] [#424] [BREAKING] Temporarily remove
jetty9-ring-adapter
support - bfa4c72 [mod] Client will now re-connect on WebSocket send error
- 76b8abc [mod] [Aleph adapter] [#350] Experimental change to support Ring middleware (@g7s)
- 728901a [mod] [Undertow adapter] [#409] Add default Ajax read timeout (@kajism)
- 8806e72 [new] [Undertow adapter] [#409] Allow Ajax read timeout (@kajism)
- e6cdf99 [mod] Refactor, improve logging
Fixes since 1.17.0
- eae2726 [fix] [#259] Improve client-side detection of broken connections
- a2b9af8 [fix] [#417] Fix broken server->client broadcast on client IP change (@Naomarik)
- 82fc83d [fix] Verify expected server-ch identity when updating conns
- c6deca6 [fix] Potential (though unlikely) race condition on client GC
- 7b466ad [fix] [#260] NB Prevent unnecessary participation of Ajax channels in
conns_
during handshake - cc84303 [fix] [new] [#380] NB Refactor ws state management
- da73f03 [fix] [#346] [#340] Malformed
:chsk/bad-package
error - 91a239b [fix] [#428] Unpack broken for binary data (@rosejn)
- Several fixes to Undertow adapter (2a91ad4, 318e90a, a4cf644)
New since 1.17.0
- New community docs wiki with lots of new & updated documentation
- 7dba037 [new] [#420] More reliable WebSocket server->client broadcasts
- 5f945db [new] [#414] Add server config option to control msecs before marking conns as closed
- 6f3e521 [new] [#259] Add client config option to control kalive ping timeout
- f560294 [new] [#325] Add option for custom WebSocket constructor
- ddde20d [new] [#342] Smarter Ajax XHR acquisition, opt to control pool
- 45e1880 [new] [#422] Add client-side util to simulate a broken connection
- 627029f [new] [Experimental] Add support for 3-arity (async) Ring v1.6+ handlers
- 221f112 [new] [Example] Update, improve reference example
Other improvements since 1.17.0
- 057a8cb [new] Add interface docstrings
- c6aca8c [nop] [#406] Clarify client+server docstrings re: csrf-token
- 8b9804e [nop] Mark deprecated vars
- Major improvements to example project
- Many other small improvements to implementation, documentation, etc.