Releases: taoensso/sente
Releases · taoensso/sente
v1.2.0 / 2014 Oct 6
This is a maintenance update that is non-breaking UNLESS:
- You are not using the default server-side chsk router.
- 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-fnfor non-callback events.
[com.taoensso/sente "1.2.0"]v1.1.0 / 2014 Sep 7
- FIX: taoensso/timbre#79 (unnecessary deps being pulled in).
- NEW: Added client-side
ajax-callutility. - NEW: Added keys to
event-msgs::id(event-id),:?data(event-?data).
[com.taoensso/sente "1.1.0"]v1.0.0 / 2014 Sep 2
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
:packeroption to client+server-sidemake-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-recvchannel now receivesevent-msg(maps) rather thanevent(vectors).(:event <event-msg>)will return theevent-msg'sevent.
[com.taoensso/sente "1.0.0"]v0.15.1 / 2014 July 21
v0.15.1 / 2014 July 21
Hotfix focused on adjusting default options for Heroku users.
- FIX [#56]: Decrease default keep-alive values to work with Heroku's http-routing timeouts.
- Minor reference example improvements.
[com.taoensso/sente "0.15.1"]v0.15.0 / 2014 July 11
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-fnoption to client-sidemake-channel-socket!fn for full URL control.
[com.taoensso/sente "0.15.0"]v0.14.1 / 2014 May 18
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
Minor, non-breaking update.
- FIX: WebSocket reconnect exponential backoff wasn't being reset correctly.
- [#39] FIX: Race condition affecting buffered
server>userevents (@smichal). - NEW:
[chsk/uidport-open],[chsk/uidport-close]server-side events generated on a uid connecting/disconnecting (any protocol). As before, you can watch theconnected-uidsatom for more detailed info.
[com.taoensso/sente "0.14.0"]v0.13.0 / 2014 May 8
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
:stateatom to client-sidemake-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
niluser-id to the server-sidechsk-send!fn (previouslyniluids 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-fnoption 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
:ajaxor:autoconnection 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
v0.11.0 / 2014 Apr 26
- CHANGE: Removed vestigial server-side events:
[:chsk/uidport-open _],[:chsk/uidport-close _]. - CHANGE: Significantly improved Ajax broadcast performance by interally making use of
connected-uidsdata. - NEW:
[:chsk/close]event can now be sent to clients to disconnect them (this feature was previously experimental + undocumented). - FIX:
connected-uidswas incorrectly marking multi-client users as disconnected when any one of their clients disconnected.
[com.taoensso/sente "0.11.0"]