Releases: centrifugal/centrifugo
v2.8.2
No backwards incompatible changes here.
Improvements:
- JSON Web Key support - see pull request #410 and description in docs
- Support ECDSA algorithm for verifying JWT - see pull request #420 and updated authentication docs chapter
- Various documentation clarifications - did you know that you can use subscribe proxy instead of private channels for example?
Fixes:
- Use more strict file permissions for a log file created (when using
log_file
option):0666
->0644
- Fix issue with opening admin web UI menu on small screens
Other:
- Centrifugo repo migrated from Travis CI to GH actions,
golangci-lint
now works in CI - Check out a new community package for Laravel that works with the latest version of framework
- Look at the introductory post about Centrifuge library for Go language in our blog (which is Centrifugo server built on top of)
Docker images
docker pull centrifugo/centrifugo:v2.8.2
docker pull centrifugo/centrifugo:v2
docker pull centrifugo/centrifugo:v2.8
docker pull centrifugo/centrifugo:latest
v2.8.1
No backwards incompatible changes here.
Fixes:
- fix concurrent map access which could result in runtime crash when using presence feature.
Docker images
docker pull centrifugo/centrifugo:v2.8.1
docker pull centrifugo/centrifugo:v2
docker pull centrifugo/centrifugo:v2.8
docker pull centrifugo/centrifugo:latest
v2.8.0
Minor backwards incompatible changes here when using client_user_connection_limit
option – see below.
Centrifugo v2.8.0 has many internal changes that could affect overall performance and latency. In general, we expect better latency between a client and a server, but servers under heavy load can notice a small regression in CPU usage.
Improvements:
- Centrifugo can now maintain a single connection from a user when personal server-side channel used. See #396 and docs
- New option
client_concurrency
. This option allows processing client commands concurrently. Depending on your use case this option has potential to radically reduce latency between a client and Centrifugo. See detailed description in docs - When using
client_user_connection_limit
and user reaches max amount of connections Centrifugo will now disconnect client withconnection limit
reason instead of returninglimit exceeded
error. Centrifugo will give a client advice to not reconnect.
Centrifugo v2.8.0 based on latest Go 1.15.5
Docker images
docker pull centrifugo/centrifugo:v2.8.0
docker pull centrifugo/centrifugo:v2
docker pull centrifugo/centrifugo:v2.8
docker pull centrifugo/centrifugo:latest
v2.7.2
No backwards incompatible changes here.
Fixes:
- Fix client reconnects due to
InsufficientState
errors. There were two scenarios when this could happen. The first one is using Redis engine withseq
/gen
legacy fields (i.e. not using v3_use_offset option). The second when publishing a lot of messages in parallel with Memory engine. Both scenarios should be fixed now. - Fix non-working SockJS transport close with custom disconnect code: this is a regression introduced by v2.6.2
Docker images
docker pull centrifugo/centrifugo:v2.7.2
docker pull centrifugo/centrifugo:v2
docker pull centrifugo/centrifugo:v2.7
docker pull centrifugo/centrifugo:latest
v2.7.1
No backwards incompatible changes here.
Fixes:
- Fix non-working websocket close with custom disconnect code: this is a regression introduced by v2.6.2
Docker images
docker pull centrifugo/centrifugo:v2.7.1
docker pull centrifugo/centrifugo:v2
docker pull centrifugo/centrifugo:v2.7
docker pull centrifugo/centrifugo:latest
v2.7.0
This release has minor backwards incompatible changes in some Prometheus/Graphite metric names. This means that you may need to adapt your monitoring dashboards a bit. See details below.
Improvements:
- Previously metrics exposed by Centrifuge library (which Centrifugo is built on top of) belonged to
centrifuge
Prometheus namespace. This lead to a situation where part of Centrifugo metrics belonged tocentrifugo
and part tocentrifuge
Prometheus namespaces. Starting from v2.7.0 Centrifuge library specific metrics also belong tocentrifugo
namespace. So the rule to migrate is simple: if seecentrifuge
word in a metric name – change it tocentrifugo
. - Refreshed login screen of admin web interface with moving Centrifugo logo on canvas – just check it out!
- New gauge that shows amount of running Centrifugo nodes
- Centrifugal organization just got the first baker on Opencollective ❤️. This is a nice first step in making Centrifugo development sustainable.
Fixes:
- Fix
messages_sent_count
counter which did not show control, join and leave messages
Coming soon 🔥:
- Official Grafana Dashboard for Prometheus storage is on its way to Centrifugo users. Track this issue for a status, the work almost finished.
- Official Centrifugo Helm Chart for Kubernetes. Track this issue for a status, the work almost finished.
Docker images
docker pull centrifugo/centrifugo:v2.7.0
docker pull centrifugo/centrifugo:v2
docker pull centrifugo/centrifugo:v2.7
docker pull centrifugo/centrifugo:latest
v2.6.2
No backwards incompatible changes here.
Improvements:
- Internal refactoring of WebSocket graceful close, should make things a bit more performant (though only in apps which read lots of messages from WebSocket connections)
- Disconnect code is now
uint32
internally - A bit more performant permission checks for publish, history and presence ops
- Connect proxy request payload can optionally contain
name
andversion
of client if set on client side, see updated connect proxy docs - New blog post Experimenting with QUIC and WebTransport in Go in Centrifugo blog
Fixes:
- fix panic on connect in 32-bit ARM builds, see #387
Docker images
docker pull centrifugo/centrifugo:v2.6.2
docker pull centrifugo/centrifugo:v2
docker pull centrifugo/centrifugo:v2.6
docker pull centrifugo/centrifugo:latest
v2.6.1
No backwards incompatible changes here.
Improvements:
- Add
grpc_api_key
option, see in docs
Fixes:
- Fix Redis Engine errors related to missing epoch in Redis HASH. If you see errors in servers logs, like
wrong Redis reply epoch
orredigo: nil returned
, then those should be fixed here. Also take a look at v2.5.2 release which contains backport of this fix if you are on v2.5.x release branch.
Docker images
docker pull centrifugo/centrifugo:v2.6.1
docker pull centrifugo/centrifugo:v2
docker pull centrifugo/centrifugo:v2.6
docker pull centrifugo/centrifugo:latest
v2.5.2
v2.6.0
No backwards incompatible changes here.
Improvements:
- New section in docs – Centrifugo dev blog, check out first post about scaling WebSocket
- Possibility to scale with Nats server for unreliable at most once PUB/SUB
- Subscribe HTTP proxy, see docs
- Publish HTTP proxy, see docs
- Support for setting Redis Sentinel password, see in docs
- Various documentation improvements since previous release
This release based on massively updated Centrifuge library, we don't expect problems but since many things were refactored – we suggest to carefully test your app.
Docker images
docker pull centrifugo/centrifugo:v2.6.0
docker pull centrifugo/centrifugo:v2
docker pull centrifugo/centrifugo:v2.6
docker pull centrifugo/centrifugo:latest