Skip to content

Releases: taoensso/sente

v1.2.0 / 2014 Oct 6

06 Oct 07:30

Choose a tag to compare

This is a maintenance update that is non-breaking UNLESS:

  1. You are not using the default server-side chsk router.
  2. You are relying on (?reply-fn <args>) to log a warning rather than throw an NPE for nil ?reply-fns.
  • FIX: Broken chsk router shutdown due to http://goo.gl/be8CGP.
  • BREAKING [#77]: No longer substitute a dummy (logging) ?reply-fn for non-callback events.
[com.taoensso/sente "1.2.0"]

v1.1.0 / 2014 Sep 7

07 Sep 16:08

Choose a tag to compare

  • FIX: taoensso/timbre#79 (unnecessary deps being pulled in).
  • NEW: Added client-side ajax-call utility.
  • NEW: Added keys to event-msgs: :id (event-id), :?data (event-?data).
[com.taoensso/sente "1.1.0"]

v1.0.0 / 2014 Sep 2

02 Sep 13:49

Choose a tag to compare

This is a MAJOR release with a bunch of improvements, most notably efficiency improvements. It is BREAKING if-and-only-if you read from the client-side :ch-recv channel directly.

  • NEW: Added chsk-destroy! client-side API fn.
  • NEW [#60]: Several transfer format efficiency improvements (faster, less bandwidth use).
  • NEW [#12], [#59], [#66], [#67]: Added :packer option to client+server-side make-channel-socket! fns. This can be used to plug in an arbitrary de/serialization format. The default continues to be edn (which gives the best common-case performance and doesn't require any extra dependencies). An experimental Transit-based packer is included which allows manual + smart (automatic) per-payload format selection. See the updated reference example for details. Big thanks to @ckarlsen for getting the work started on this!
  • DEPRECATED: start-chsk-router-loop!->start-chsk-router! (both client + server-side). There's a new event-handler format that's consistent between the client + server, and that makes componentizing Sente considerably easier. See the updated reference example for details. Big thanks to @hugoduncan for his work & input on this!
  • CHANGE: Client-side router now traps+logs errors like the server-side router.
  • CHANGE: General code improvements/refactoring, stuff I'd been meaning to do forever and wanted to get in before a v1 release.
  • CHANGE: Further improvements to the reference example to make it play better with LightTable.
  • BREAKING: the client-side :ch-recv channel now receives event-msg (maps) rather than event (vectors). (:event <event-msg>) will return the event-msg's event.
[com.taoensso/sente "1.0.0"]

v0.15.1 / 2014 July 21

21 Jul 06:07

Choose a tag to compare

v0.15.1 / 2014 July 21

Hotfix focused on adjusting default options for Heroku users.

[com.taoensso/sente "0.15.1"]

v0.15.0 / 2014 July 11

12 Jul 06:12

Choose a tag to compare

Minor, non-breaking update.

  • CHANGE: Support for new (namespaced) Ring Anti-Forgery session key (@domkm).
  • CHANGE: [chsk/uidport-close] event now triggers only 5 seconds after a WebSocket channel is closed (same as Ajax channels). Helps prevent unnecessary noise during window refresh, etc.
  • NEW [#50]: Added a :chsk-url-fn option to client-side make-channel-socket! fn for full URL control.
[com.taoensso/sente "0.15.0"]

v0.14.1 / 2014 May 18

18 May 08:34

Choose a tag to compare

Minor, non-breaking update.

  • FIX: Handshakes were interfering with singleton WebSocket callback replies.
[com.taoensso/sente "0.14.1"]

v0.14.0 / 2014 May 16

16 May 08:25

Choose a tag to compare

Minor, non-breaking update.

  • FIX: WebSocket reconnect exponential backoff wasn't being reset correctly.
  • [#39] FIX: Race condition affecting buffered server>user events (@smichal).
  • NEW: [chsk/uidport-open], [chsk/uidport-close] server-side events generated on a uid connecting/disconnecting (any protocol). As before, you can watch the connected-uids atom for more detailed info.
[com.taoensso/sente "0.14.0"]

v0.13.0 / 2014 May 8

08 May 13:12

Choose a tag to compare

This is a major release focused on simpler out-the-box setup + easier integration with a wide range of login/auth types. Please see the example project for clarification on anything below.

  • BREAKING: API fns removed: chsk-type, chsk-open?.
  • BREAKING: The [:chsk/state] event form has changed for added flexibility.
  • NEW: Added watchable, read-only :state atom to client-side make-channel-socket! fn result. Among other things, this atom contains any user-id provided by the server.
  • NEW: It is now possible to push server>user async events to clients without a user-id by providing a nil user-id to the server-side chsk-send! fn (previously nil uids would throw an assertion error). In particular, this means it's now possible to broadcast to users that aren't logged in.
  • NEW: Server-side make-channel-socket! fn has picked up a :csrf-token-fn option which defaults to compatibility with the Ring-Anti-Forgery middleware.
  • NEW: Clients are now entirely self configuring. It's no longer necessary to transfer any state (like csrf-token or user-id) from the server; this'll be done automatically on channel socket handshake.
  • NEW: Added a chsk-reconnect! API method that can be called to easily re-establish a channel socket connection after a login or auth change. An example login procedure has been added to the reference example project.
  • CHANGE: The example project now randomly selects :ajax or :auto connection mode.

As always, feedback welcome on any changes here. Have fun, cheers! - Peter

[com.taoensso/sente "0.13.0"]

v0.12.0 / 2014 May 1

01 May 06:31

Choose a tag to compare

  • NEW: server- and client-side start-chsk-router-loop! fns now return a (fn stop! []).
  • [#37] FIX broken [:chsk/close] typo for Ajax connections (@sritchie).
[com.taoensso/sente "0.12.0"]

v0.11.0 / 2014 Apr 26

26 Apr 15:43

Choose a tag to compare

  • CHANGE: Removed vestigial server-side events: [:chsk/uidport-open _], [:chsk/uidport-close _].
  • CHANGE: Significantly improved Ajax broadcast performance by interally making use of connected-uids data.
  • NEW: [:chsk/close] event can now be sent to clients to disconnect them (this feature was previously experimental + undocumented).
  • FIX: connected-uids was incorrectly marking multi-client users as disconnected when any one of their clients disconnected.
[com.taoensso/sente "0.11.0"]