NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #1306 by repository stars
Last release 3 days ago
05 Oct 2026
Ships on a steady schedule
a new release about every 9 days
Some releases are documented
notes for 35 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
1153 releases · first in 2018
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Refactor client channels API – see detailed changes below, #146
Code of Disconnect has uint32 type now instead of int, commitConnect command which will be available in ConnectEvent struct (if set on client side), #145$ gorelease -base v0.10.1 -version v0.11.0
github.com/centrifugal/centrifuge
---------------------------------
Incompatible changes:
- (*Client).Channels: changed from func() map[string]ChannelContext to func() []string
- ChannelContext: removed
- Disconnect.Code: changed from int to uint32
Compatible changes:
- (*Client).IsSubscribed: added
- ConnectEvent.Name: added
- ConnectEvent.Version: added
- ErrorTooManyRequests: added
v0.11.0 is a valid semantic version for this release.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix Redis Engine errors when epoch is missing inside stream/list meta hash. See commit
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This release is a massive rewrite of Centrifuge library (actually of some part of it) which should make library a more generic solution. Several opini
This release is a massive rewrite of Centrifuge library (actually of some part of it) which should make library a more generic solution. Several opinionated and restrictive parts removed to make Centrifuge feel as a reasonably thin wrapper on top of strict client-server protocol.
Most work done inside #129 pr and relates to #128 issue.
Release highlights:
Not available error returned to client.Node before calling its Run method.ChannelOptionsFunc. See its detailed description in library docs.Raw, Publication and ClientInfo Protobuf types removed from library public API, see #136Look at updated example in README and examples folder to find out more.
I hope to provide more guidance about library concepts in the future. I feel sorry for breaking things here but since we don't have v1 release yet, I believe this is acceptable. An important note is that while this release has lots of removed parts it's still possible (and not too hard) to implement the same functionality as before on top of this library. Feel free to ask any questions in our community chats.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
fix Close method – do not use error channel since this leads to deadlock anyway, just close in goroutine.
Close method – do not use error channel since this leads to deadlock anyway, just close in goroutine.gorelease -base=v0.9.0 -version=v0.9.1
github.com/centrifugal/centrifuge
---------------------------------
Incompatible changes:
- (*Client).Close: changed from func(*Disconnect) chan error to func(*Disconnect) error
v0.9.1 is a valid semantic version for this release.
Nothing published for this version
Nothing published for this version
Nothing published for this version
This release has some API changes. Here is a list of all changes in release:
This release has some API changes. Here is a list of all changes in release:
Incompatible changes:
- (*Client).Close: changed from func(*Disconnect) error to func(*Disconnect) chan error
- (*Client).Handle: removed
- Config.ClientPresencePingInterval: removed
- NewClient: changed from func(context.Context, *Node, Transport) (*Client, error) to func(context.Context, *Node, Transport) (*TransportClient, CloseFunc, error)
- NodeEventHub.ClientRefresh: removed
- RefreshHandler: changed from func(context.Context, *Client, RefreshEvent) RefreshReply to func(RefreshEvent) RefreshReply
Compatible changes:
- (*ClientEventHub).Presence: added
- (*ClientEventHub).Refresh: added
- CloseFunc: added
- Config.ClientPresenceUpdateInterval: added
- ConnectReply.ClientSideRefresh: added
- PresenceEvent: added
- PresenceHandler: added
- PresenceReply: added
- RefreshEvent.Token: added
- RefreshReply.Disconnect: added
- TransportClient: added
Now let's try to highlight most notable changes and reasoning behind:
NewClient returns TransportClient and CloseFunc to limit possible API on transport implementation levelClientPresencePingInterval config option renamed to ClientPresenceUpdateIntervalclient.On().Presence handler which will be called periodically while connection alive every ClientPresenceUpdateIntervalClient.Close method now creates a goroutine internally - this was required to prevent deadlock when closing client from Presence and SubRefresh callback handlers.Client scope instead of being Node event handlerConnectReply now has new ClientSideRefresh field which allows setting what kind of refresh mechanism should be used for a client: server-side refresh or client-side refresh.All examples updated to reflect all changes here.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix Disconnect Code field unmarshalling, introduce helper method Disconnect.CloseText() to build close text sent to client in Close Frame.
Disconnect.CloseText() to build close text sent to client in Close Frame.Nothing published for this version
Nothing published for this version
Fix closing connections with insufficient state after publish when history recovery feature is on and PublishOnHistoryAdd is false in Redis Engine con
insufficient state after publish when history recovery feature is on and PublishOnHistoryAdd is false in Redis Engine config. #119.Your coding agent can read these notes before it upgrades. Set up the MCP server →