Changelog History
Page 5
-
v2.0.2 Changes
November 04, 2018Important If you are using
rpm
ordeb
packages from packagecloud.io then you have to re-run the installation method of your choice for Centrifugo repository. This is required to update GPG key used. This is a standard process that all packages hosted on packagecloud should do.๐ Improvements:
- โก๏ธ Redis TLS connection support - see issue in Centrifuge lib and updated docs
- ๐ Do not send Authorization header in admin web interface when insecure admin mode enabled - helps to protect admin interface with basic authorization (see #240)
๐ Fixes:
- Resubscribe only to shard subset of channels after reconnect to Redis (issue)
๐ณ Docker images
- ๐ณ
docker pull centrifugo/centrifugo:v2.0.2
- ๐ณ
docker pull centrifugo/centrifugo:v2
- ๐ณ
docker pull centrifugo/centrifugo:v2.0
- ๐ณ
docker pull centrifugo/centrifugo:latest
-
v2.0.1 Changes
October 15, 2018๐ This release has several fixes and performance improvements
๐ Improvements:
- โ Use latest SockJS url (SockJS version 1.3) for iframe transports
- ๐ Improve performance of massive subscriptions to different channels
- ๐ Allow dot in namespace names
๐ Fixes:
- ๐ Fix of possible deadlock in Redis Engine when subscribe operation fails
- ๐ Fix admin web interface logout issue when session expired
- ๐ Fix io timeout error when using Redis Engine with sharding enabled
- ๐ Fix
checkconfig
command - ๐ Fix typo in metric name - see #233
๐ณ Docker images
- ๐ณ
docker pull centrifugo/centrifugo:v2.0.1
- ๐ณ
docker pull centrifugo/centrifugo:v2
- ๐ณ
docker pull centrifugo/centrifugo:v2.0
- ๐ณ
docker pull centrifugo/centrifugo:latest
-
v2.0.0 Changes
September 18, 2018๐ This is a new major version of Centrifugo. New version has some important changes and useful features โ read new documentation.
Centrifugo v2 serves the same purpose as Centrifugo v1. Centrifugo v2 is not backwards compatible with v1 โ migration to it will require adapting both backend and frontend sides of your application (of course if you decide to migrate).
Centrifugo is now based on new library centrifuge for Go language. That library can be used standalone to get even more than Centrifugo server provides โ like custom authentication, your own permission management, asynchronous message passing, RPC calls etc.
Highlights of v2:
- 0๏ธโฃ Cleaner and more structured client-server protocol defined in protobuf schema. Protocol is more compact because some fields with default values that were sent previously now omitted
- ๐ Binary Websocket support (Protobuf). Protobuf allows to transfer data in much more compact and performant way than before. Of course JSON is still the main serialization format
- JWT for authentication and private channel authorization instead of hand-crafted HMAC sign. This means that there is no need in extra libraries to generate connection and subscription tokens. There are plenty of JWT libraries for all languages
- Prometheus integration and automatic export of stats to Graphite. Now Centrifugo easily integrates in modern monitoring stack โ no need to manually export stats
- ๐จ Refactored Javascript (ES6), Go and gomobile client libraries
- Simplified HTTP API authentication (no request body signing anymore)
- GRPC for server API
- ๐ New
presence_stats
API command to get compact presence information - how many clients and unique users in channel - ๐ฒ Structured logging with colored output during development
- ๐ Mechanism to automatically merge several Websocket messages into one to reduce syscall amount thus be more performant under heavy load
- ๐ Better recovery algorithm to fix several
recovered
flag false positives - ๐ Goreleaser for automatic releases to Github
๐ Some things were removed from Centrifugo in v2 release:
- Publishing over Redis queue
- Admin websocket endpoint
- Client limited channels
- โฌ๏ธ Channel option
history_drop_inactive
now gone - ๐ Websocket prepared message support (though this one can be pushed back at some point).
๐ Documentation contains actual information and tips about migration from v1.
๐ As mentioned above new version uses JWT tokens for authentication and private channel authorization. And there is no API request body signing anymore. This all means that using API clients (like
cent
,phpcent
,jscent
,rubycent
,gocent
before) is not necessary anymore โ you can use any JWT library for your language and just send commands from your code โ this is just simple JSON objects. Though API libraries still make sense to simplify integration a bit.Currently the following clients work with v2:
- ๐ป centrifuge-js โ for browser, NodeJS and React Native.
- centrifuge-go - for Go language.
- centrifuge-mobile - for iOS and Android using
centrifuge-go
andgomobile
project. - ๐ง centrifuge-dart โ for Dart and Flutter. This lib is WIP and does not support all features yet.
โก๏ธ At moment there are no native mobile clients. I.e.
centrifuge-ios
andcentrifuge-android
have not been updated to Centrifugo v2 yet.๐ณ Docker images
- ๐ณ
docker pull centrifugo/centrifugo:v2.0.0
- ๐ณ
docker pull centrifugo/centrifugo:v2
- ๐ณ
docker pull centrifugo/centrifugo:v2.0
- ๐ณ
docker pull centrifugo/centrifugo:latest
-
v2.0.0-beta.1 Changes
August 05, 2018๐ Changelog
๐ Several fixes compared to previous alpha:
- โ add subscription expiration delay
- โก๏ธ update admin web interface to latest version
- ๐ do not use colored logging into console on Windows
๐ณ Docker images
- ๐ณ
docker pull fzambia/centrifugo2:v2.0.0-beta.1
- ๐ณ
docker pull fzambia/centrifugo2:v2
- ๐ณ
docker pull fzambia/centrifugo2:v2.0
- ๐ณ
docker pull fzambia/centrifugo2:latest
-
v2.0.0-alpha.2 Changes
July 17, 2018๐ Changelog
๐ For alpha release there is no changelog - see #221 about Centrifugo v2
๐ Documentation
๐ Centrifugo v2 will have new documentation.
Clients
๐ Clients are not released yet but you can find them in c2 branches:
- ๐ป centrifuge-js โ for browser, NodeJS and React Native.
- centrifuge-go - for Go language.
- centrifuge-mobile - for iOS and Android using
centrifuge-go
as basis andgomobile
project to create bindings.
๐ณ Docker images
๐ For pre-releases Docker images use
fzambia
namespace but non pre-release versions will usecentrifugal
namespace as before.- ๐ณ
docker pull fzambia/centrifugo2:v2.0.0-alpha.2
- ๐ณ
docker pull fzambia/centrifugo2:v2
- ๐ณ
docker pull fzambia/centrifugo2:v2.0
- ๐ณ
docker pull fzambia/centrifugo2:latest
-
v1.8.0 Changes
June 24, 2018No backwards incompatible changes here.
Please look at issue about Centrifugo v2.
๐ Features
- ๐ฆ package for Ubuntu 18.04
- โ add Centrifugo
version
to stats output. Also add rusage stime and utime values to metrics. See #222 for details. Thanks to @Sannis for contributions - ๐ฆ expose more configuration options to be set over environment variables. See commit and related issue
- ๐ more context in debug logs regarding to client connection. See #201
- ๐ fix deb package upgrade - see #219 for details
Internal
- ๐ using Go 1.10.3 for builds
-
v1.7.9 Changes
No backwards incompatible changes here.
๐ Fixes
- ๐ fix malformed JSON when using empty
info
in connection refresh request - see #214.
๐ Features
- support ACME http_01 challenge using new
ssl_autocert_http
boolean option. Centrifugo will serve http_01 ACME challenge on port 80. See #210 for more details.
Internal
- ๐ using Go 1.10.1 for builds
- ๐ fix malformed JSON when using empty
-
v1.7.8 Changes
No backwards incompatible changes here.
๐ Fixes
- ๐ the fix of goroutine leak in 1.7.7 was incomplete - looks like in this release the problem described in #207 gone away.
-
v1.7.7 Changes
No backwards incompatible changes here.
๐ Fixes
- ๐ fix goroutine leak due to deadlock, see #207
๐ Features
- ๐ possibility to set message
uid
via API request - see #205
Internal
- do not send
unsubscribe
messages to client on shutdown - it will unsubscribe automatically on disconnect on client side - ๐ using Go 1.10 for builds
-
v1.7.6 Changes
No backwards incompatible changes here.
๐ Fixes
- ๐ fix setting config via environment vars -
CENTRIFUGO_
prefix did not work since 1.7.4
- ๐ fix setting config via environment vars -