v5.4.1
Centrifugo is an open-source scalable real-time messaging server. Centrifugo can instantly deliver messages to application online users connected over supported transports (WebSocket, HTTP-streaming, SSE/EventSource, GRPC, WebTransport). Centrifugo has the concept of a channel – so it's a user-facing PUB/SUB server.
Centrifugo is language-agnostic and can be used to build chat apps, live comments, multiplayer games, real-time data visualizations, collaborative tools, etc. in combination with any backend. It is well suited for modern architectures and allows decoupling the business logic from the real-time transport layer.
Several official client SDKs for browser and mobile development wrap the bidirectional protocol. In addition, Centrifugo supports a unidirectional approach for simple use cases with no SDK dependency.
For details, go to the Centrifugo documentation site.
What's changed
Centrifugo v5.4.1 comes with useful improvements and fixes.
Improvements
- Improving delta compression – if the delta patch size exceeds the full publication payload size, the full payload will be sent now instead of the delta patch.
- Kafka Consumer: a partition consumer buffer has been added to enhance processing efficiency, #829.
- Support deb release for Debian 12 Bookworm #827
Fixes
- Resolved a panic issue (
panic: close of closed channel
) caused by a race condition during an already subscribed error. See centrifugal/centrifuge#390. The regression was introduced in Centrifugo v5.3.2. - Async consumers: fix disabling consumer by using proper mapstructure and JSON tags, #828.
Miscellaneous
- Release is built with Go 1.22.4
- All dependencies were updated to latest versions