Releases: centrifugal/centrifugo
Releases · centrifugal/centrifugo
v0.3.0
- new
channels
API command – allows to get list of active channnels in project at moment (with one or more subscribers). message_send_timeout
option default value is now 0 (last default value was 60 seconds) i.e. send timeout is not used by default. This means that Centrifugo won't start lots of goroutines and timers for every message sent to client. This helps to drastically reduce memory allocations. But in this case it's recommended to keep Centrifugo behind properly configured reverse proxy like Nginx to deal with connection edge cases - slow reads, slow writes etc.- Centrifugo now sends pings into pure Websocket connections. Default value is 25 seconds and can be adjusted using
ping_interval
configuration option. Note that this option also sets SockJS heartbeat messages interval. This opens a road to set reasonable value for Nginxproxy_read_timeout
for/connection
location to mimic behaviour ofmessage_send_timeout
which is now not used by default - improvements in Redis Engine locking.
- tests now require Redis instance running to test Redis engine. Tests use Redis database 9 to run commands and if that database is not empty then tests will fail to prevent corrupting existing data.
- all dependencies now vendored.
v0.2.4
v0.2.3
v0.2.2
Thanks to Mr Klaus Post for adding TLS support.
- Add TLS support. New flags are:
--ssl
- accept SSL connections. This requires an X509 certificate and a key file.--ssl_cert="file.cert"
- path to X509 certificate file.--ssl_key="file.key"
- path to X509 certificate key.
- Updated Dockerfile
v0.2.1
v0.2.0
- add optional
client
field to publish API requests.client
will be added on top level of
published message. This means that there is now a way to includeclient
connection ID to
publish API request to Centrifugo (to get client connection ID callcentrifuge.getClientId()
in
javascript). This client will be included in a message as I said above and you can compare
current client ID in javascript withclient
ID in message and if both values equal then in
some situations you will wish to drop this message as it was published by this client and
probably already processed (via optimistic optimization or after successful AJAX call to web
application backend initiated this message). - client limited channels - like user limited channels but for client. Only client with ID used in
channel name can subscribe on such channel. Default client channel boundary is&
. If you have
channels with&
in its name - then you must adapt your channel names to not use&
or run Centrifugo with another client channel boundary usingclient_channel_boundary
configuration
file option. - fix for presence and history client calls - check subscription on channel before returning result
or return Permission Denied error if not subscribed. - handle interrupts - unsubscribe clients from all channels. Many thanks again to Mr Klaus Post.
- code refactoring, detach libcentrifugo real-time core from Centrifugo service.