Skip to content

Commit 7eb72c0

Browse files
committed
v1.21.0 (2025-11-04)
1 parent dd74674 commit 7eb72c0

File tree

4 files changed

+71
-11
lines changed

4 files changed

+71
-11
lines changed

CHANGELOG.md

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

33
---
44

5+
# `v1.21.0` (2025-11-04)
6+
7+
- **Dependency**: [on Clojars](https://clojars.org/com.taoensso/sente/versions/1.21.0)
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). A big thanks to all contributors and testers on this release! 🙏
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! In particular thank you to @rosejn, @edma2, and @pkcsecurity on whose [work](https://github.com/rosejn/msgpack-cljc) Sente's new MessagePack implementation is based 🙏
24+
25+
## Since `v1.21.0-RC3` (2025-10-11)
26+
27+
No changes (same as RC3).
28+
29+
## Since `v1.20.0` (2024-12-31)
30+
31+
### Changes
32+
33+
- **\[mod] [BREAKING]** [#472] Switch logging: Timbre -> Trove \[4864926]
34+
- **\[mod] [BREAKING]** Make packers more flexible \[f8a3fad]
35+
- **\[mod] [BREAKING]** Increase default `:ws-ping-timeout-ms` (5->10 secs) \[147fbdd]
36+
- \[mod] Drop Clojure v1.10 testing \[648ac31d]
37+
- \[mod] [#455] Halve given `ws-kalive-ms` \[49000db]
38+
- \[mod] Make Java WS client optional \[6a7a609]
39+
- \[mod] [#462] Don't throw by default on Ajax read timeouts \[fb30404]
40+
- \[mod] Enable WebSocket ping timeout by default \[71e7bb0]
41+
- \[mod] Change default WebSocket binary type (blob->arraybuffer) \[02da98e]
42+
- \[mod] Remove experimental, undocumented `cb-chan-as-fn` \[71db112]
43+
- \[mod] Remove long-vestigial legacy pack code \[cf2a149]
44+
45+
### Fixes
46+
47+
- \[fix] [#471] Switch to custom lightweight timer implementation \[173652d]
48+
- \[fix] [#466] Fix support for Jetty 12 community adapter (@aiba) \[d16bb6c]
49+
- \[fix] \[#464] \[#325] Fix option to use custom WebSocket constructor (@iarenaza) \[07a9bd9]
50+
- \[fix] \[#475] \[#476] Fix bad WebSocket close call args \[2120b136]
51+
52+
### New
53+
54+
- \[new] [#470] Add new binary [MessagePack packer](https://github.com/taoensso/sente/blob/a8de08f26cf739512d249dc88bc98c33a9992bcf/src/taoensso/sente/packers/msgpack.cljc#L8) \[757ebd2]
55+
- \[new] Add MessagePack packer to [example project](https://github.com/taoensso/sente/tree/master/example-project) \[e88a17f]
56+
- \[new] \[#477] Add [gzip-wrapping packer](https://cljdoc.org/d/com.taoensso/sente/CURRENT/api/taoensso.sente.packers.gzip) \[956268c8]
57+
- \[new] [#467] Allow `:csrf-token-fn` to return `:sente/skip-CSRF-check` \[8aae3d0]
58+
- \[new] [#467] Make `cb-error?`, `cb-success?` available to Clj code \[08e8b3e]
59+
- \[new] [#462] Keep Ring request in Ajax channel \[01a41a3]
60+
- \[new] \[#474] Add UUID support to [Msgpack packer](https://cljdoc.org/d/com.taoensso/sente/CURRENT/api/taoensso.sente.packers.msgpack) (@jrgvf) \[2fdd8f82]
61+
- \[new] \[#476] Make it easier to test server restarts \[f292180b]
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+
- \[doc] Add [packer info](https://github.com/taoensso/sente/wiki/5-Packers) to wiki \[08dc349c]
67+
68+
---
69+
570
# `v1.21.0-RC3` (2025-10-11)
671

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

README.md

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<a href="https://www.taoensso.com/clojure" title="More stuff by @ptaoussanis at www.taoensso.com"><img src="https://www.taoensso.com/open-source.png" alt="Taoensso open source" width="340"/></a>
2-
[**API**][cljdoc] | [**Wiki**][GitHub wiki] | [Latest releases](#latest-releases) | [Slack channel][]
2+
[**API**][cljdoc] | [**Wiki**][GitHub wiki] | [Slack][] | Latest release: [v1.21.0](../../releases/tag/v1.21.0) (2025-11-04)
33

44
# Sente
55

@@ -13,11 +13,6 @@ Loosely inspired by [Socket.IO](https://socket.io/), it uses **core.async**, **W
1313

1414
> **Sen-te** (先手) is a Japanese [Go](https://en.wikipedia.org/wiki/Go_(game)) term used to describe a play with such an overwhelming follow-up that it demands an immediate response, leaving its player with the initiative.
1515
16-
## Latest release/s
17-
18-
- `2025-10-11` `v1.21.0-RC3` (dev): [release info](../../releases/tag/v1.21.0-RC3)
19-
- `2024-12-31` `v1.20.0` (stable): [release info](../../releases/tag/v1.20.0)
20-
2116
[![Clj tests][Clj tests SVG]][Clj tests URL]
2217
[![Cljs tests][Cljs tests SVG]][Cljs tests URL]
2318
[![Graal tests][Graal tests SVG]][Graal tests URL]
@@ -50,7 +45,7 @@ So you can ignore the underlying protocol and deal directly with Sente's unified
5045

5146
- [Wiki][GitHub wiki] (getting started, usage, etc.)
5247
- API reference via [cljdoc][cljdoc]
53-
- Support via [Slack channel][] or [GitHub issues][]
48+
- Support via [Slack][] or [GitHub issues][]
5449

5550
## Funding
5651

@@ -66,7 +61,7 @@ Licensed under [EPL 1.0](LICENSE.txt) (same as Clojure).
6661
[GitHub releases]: ../../releases
6762
[GitHub issues]: ../../issues
6863
[GitHub wiki]: ../../wiki
69-
[Slack channel]: https://www.taoensso.com/sente/slack
64+
[Slack]: https://www.taoensso.com/sente/slack
7065

7166
[Peter Taoussanis]: https://www.taoensso.com
7267
[sponsor]: https://www.taoensso.com/sponsor

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-RC3"
1+
(defproject com.taoensso.examples/sente "1.21.0"
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.5.1"] ; Optional, for Cider
1717

18-
[com.taoensso/sente "1.21.0-RC3"] ; <--- Sente
18+
[com.taoensso/sente "1.21.0"] ; <--- 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-RC3"
1+
(defproject com.taoensso/sente "1.21.0"
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)