Skip to content

Commit d5e12df

Browse files
committed
v1.21.0-RC1 (2025-09-02)
1 parent 3292847 commit d5e12df

File tree

4 files changed

+73
-9
lines changed

4 files changed

+73
-9
lines changed

CHANGELOG.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,70 @@ This project uses [**Break Versioning**](https://www.taoensso.com/break-versioni
22

33
---
44

5+
# `v1.21.0-RC1` (2025-09-02)
6+
7+
- **Dependency**: [on Clojars](https://clojars.org/com.taoensso/sente/versions/1.21.0-RC1)
8+
- **Versioning**: [Break Versioning](https://www.taoensso.com/break-versioning)
9+
10+
Sente v1.21 is a **major release** with many improvements! It includes **breaking changes** for some users. Please report any unexpected problems to the [Slack channel](http://taoensso.com/sente/slack) or [GitHub](https://github.com/taoensso/sente/issues) 🙏
11+
12+
\- [Peter Taoussanis](https://www.taoensso.com)
13+
14+
Quick highlights:
15+
16+
- Adds [support](https://github.com/taoensso/sente/issues/470) for **high-speed binary serialization**
17+
- Adds support for **compression** (WebSockets + Ajax) \[f8a3fad]
18+
- **Smaller dependency** \[4864926] \[6a7a609]
19+
- **Improved reliability** under load \[173652d] \[49000db] \[71e7bb0]
20+
- Pluggable logging via [Trove](https://www.taoensso.com/trove) \[4864926]
21+
- Many small fixes and improvements
22+
23+
As always thank you to any contributors! 🙏
24+
25+
## Since `v1.21.0-beta2` (2025-07-04)
26+
27+
- \[mod] Increase default `:ws-ping-timeout-ms` (5->10 secs) \[147fbdd]
28+
- \[new] [#470] Add new binary [MessagePack packer](https://github.com/taoensso/sente/blob/a8de08f26cf739512d249dc88bc98c33a9992bcf/src/taoensso/sente/packers/msgpack.cljc#L8) \[757ebd2]
29+
- \[new] Add MessagePack packer to [example project](https://github.com/taoensso/sente/tree/master/example-project) \[e88a17f]
30+
- \[fix] Trace-level Trove logs shouldn't show by default in JS console
31+
- \[fix] Improve async packer error handling \[3292847]
32+
- \[doc] Clarify client-side send-fn args \[1feca6f]
33+
34+
## Since `v1.20.0` (2024-12-31)
35+
36+
### Changes
37+
38+
- **\[mod] [BREAKING]** [#472] Switch logging: Timbre -> Trove \[4864926]
39+
- **\[mod] [BREAKING]** Make packers more flexible \[f8a3fad]
40+
- **\[mod] [BREAKING]** Increase default `:ws-ping-timeout-ms` (5->10 secs) \[147fbdd]
41+
- \[mod] [#455] Halve given `ws-kalive-ms` \[49000db]
42+
- \[mod] Make Java WS client optional \[6a7a609]
43+
- \[mod] [#462] Don't throw by default on Ajax read timeouts \[fb30404]
44+
- \[mod] Enable WebSocket ping timeout by default \[71e7bb0]
45+
- \[mod] Change default WebSocket binary type (blob->arraybuffer) \[02da98e]
46+
- \[mod] Remove experimental, undocumented `cb-chan-as-fn` \[71db112]
47+
- \[mod] Remove long-vestigial legacy pack code \[cf2a149]
48+
49+
### Fixes
50+
51+
- \[fix] [#471] Switch to custom lightweight timer implementation \[173652d]
52+
- \[fix] [#466] Fix support for Jetty 12 community adapter (@aiba) \[d16bb6c]
53+
- \[fix] \[#464] \[#325] Fix option to use custom WebSocket constructor (@iarenaza) \[07a9bd9]
54+
55+
### New
56+
57+
- \[new] [#470] Add new binary [MessagePack packer](https://github.com/taoensso/sente/blob/a8de08f26cf739512d249dc88bc98c33a9992bcf/src/taoensso/sente/packers/msgpack.cljc#L8) \[757ebd2]
58+
- \[new] Add MessagePack packer to [example project](https://github.com/taoensso/sente/tree/master/example-project) \[e88a17f]
59+
- \[new] [#467] Allow `:csrf-token-fn` to return `:sente/skip-CSRF-check` \[8aae3d0]
60+
- \[new] [#467] Make `cb-error?`, `cb-success?` available to Clj code \[08e8b3e]
61+
- \[new] [#462] Keep Ring request in Ajax channel \[01a41a3]
62+
- \[new] Update ref example to add dynamic packer \[cd98db7]
63+
- \[new] Update ref example logging \[85b3e8a]
64+
- \[doc] Document limitations on event ordering \[532064d]
65+
- \[doc] Clarify client-side send-fn args \[1feca6f]
66+
67+
---
68+
569
# `v1.21.0-beta2` (2025-07-04)
670

771
- **Dependency**: [on Clojars](https://clojars.org/com.taoensso/sente/versions/1.21.0-beta2)

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ Loosely inspired by [Socket.IO](https://socket.io/), it uses **core.async**, **W
1515
1616
## Latest release/s
1717

18+
- `2025-09-02` `v1.21.0-RC1` (dev): [release info](../../releases/tag/v1.21.0-RC1)
1819
- `2024-12-31` `v1.20.0` (stable): [release info](../../releases/tag/v1.20.0)
19-
- `2025-07-04` `v1.21.0-beta2` (dev): [release info](../../releases/tag/v1.21.0-beta2)
2020

2121
[![Clj tests][Clj tests SVG]][Clj tests URL]
2222
[![Cljs tests][Cljs tests SVG]][Cljs tests URL]
@@ -29,7 +29,7 @@ See [here][GitHub releases] for earlier releases.
2929
- **Bidirectional a/sync comms** over **WebSockets** with **auto Ajax fallback**
3030
- **It just works**: auto keep-alive, buffering, protocol selection, reconnects
3131
- **Efficient design** with auto event batching for low-bandwidth use, even over Ajax
32-
- Send **arbitrary Clojure vals** over [edn](https://github.com/edn-format/edn) or [Transit](https://github.com/cognitect/transit-clj) (JSON, MessagePack, etc.)
32+
- Send **arbitrary Clojure vals** with **high-speed binary serialization** (v1.21+) or [edn](https://github.com/edn-format/edn)
3333
- Tiny, easy-to-use [API](../../wiki/1-Getting-started#usage)
3434
- Support for users simultaneously connected with **multiple clients** and/or devices
3535
- Realtime info on **which users are connected**, and over which protocols
@@ -38,10 +38,10 @@ See [here][GitHub releases] for earlier releases.
3838

3939
### Capabilities
4040

41-
Protocol | client>server | client>server + ack/reply | server>user push
42-
---------- | -------------- | ------------------------- | ----------------
43-
WebSockets | ✓ (native) | ✓ (emulated) | ✓ (native)
44-
Ajax | ✓ (emulated) | ✓ (native) | ✓ (emulated)
41+
| Protocol | client>server | client>server + ack/reply | server>user push |
42+
| ---------- | ------------- | ------------------------- | ---------------- |
43+
| WebSockets | ✓ (native) | ✓ (emulated) | ✓ (native) |
44+
| Ajax | ✓ (emulated) | ✓ (native) | ✓ (emulated) |
4545

4646
So you can ignore the underlying protocol and deal directly with Sente's unified API that exposes the best of both WebSockets (bidirectionality + performance) and Ajax (optional ack/reply).
4747

example-project/project.clj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
(defproject com.taoensso.examples/sente "1.21.0-beta2"
1+
(defproject com.taoensso.examples/sente "1.21.0-RC1"
22
:description "Sente, reference web-app example project"
33
:url "https://github.com/ptaoussanis/sente"
44
:license {:name "Eclipse Public License"
@@ -15,7 +15,7 @@
1515
[org.clojure/core.async "1.8.741"]
1616
[nrepl "1.3.1"] ; Optional, for Cider
1717

18-
[com.taoensso/sente "1.21.0-beta2"] ; <--- Sente
18+
[com.taoensso/sente "1.21.0-RC1"] ; <--- Sente
1919
[com.taoensso/telemere "1.1.0"] ; Optional, for logging
2020

2121
;; Choose (uncomment) a supported web server --------------

project.clj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
(defproject com.taoensso/sente "1.21.0-beta2"
1+
(defproject com.taoensso/sente "1.21.0-RC1"
22
:author "Peter Taoussanis <https://www.taoensso.com>"
33
:description "Realtime web comms library for Clojure/Script"
44
:url "https://github.com/taoensso/sente"

0 commit comments

Comments
 (0)