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
It replaces both seq and gen. This change required to simplify working with history API in perspective. This is a breaking change for library users in…
This release is huge. In general, it does not change any previously defined semantics but changes API. The list of changes is big enough but fixes you need to do for this version adoption are mostly minimal. Except one thing emphasized below.
So here is that thing. Centrifuge now uses new offset uint64 protocol field for Publication position inside history stream instead of previously used seq and gen (both uint32) fields. It replaces both seq and gen. This change required to simplify working with history API in perspective. This is a breaking change for library users in case of using history recovery feature – read migration steps below.
Our client libraries centrifuge-js and centrifuge-go were updated to use offset field. So if you are using these two libraries and utilizing recovery feature then you need to update centrifuge-js to at least 2.6.0, and centrifuge-go to at least 0.5.0 to match server protocol (see the possibility to be backwards compatible on server below). All other client libraries do not support recovery at this moment so should not be affected by field changes described here.
It's important to mention that to provide backwards compatibility on client side both centrifuge-js and centrifuge-go will continue to properly work with a server which is using old seq and gen fields for recovery in its current form until v1 version of this library. It's possible to explicitly enable using old seq and gen fields on server side by calling:
centrifuge.CompatibilityFlags |= centrifuge.UseSeqGen
This allows doing migration to v0.8.0 and keeping everything compatible. Those CompatibilityFlags will be supported until v1 library release. Then we will only have one way to do things.
Other release highlights:
Node - see History method)channels counter update frequency (commit)Thanks to @Skarm, @cristaloleg and @GSokol for contributions.
One column per quarter.
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
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
Refactor automatic subscribing to personal channel option. Option that enables feature renamed from UserSubscribePersonal to UserSubscribeToPersonal,
UserSubscribePersonal to UserSubscribeToPersonal, also instead of UserPersonalChannelPrefix users can set UserPersonalChannelNamespace option, the general advice here is to create separate namespace for automatic personal channels if one requires custom channel optionsWebsocketUseWriteBufferPool option for SockJS handlerNothing published for this version
Nothing published for this version
Nothing published for this version
Simplify server-side subscription API replacing []centrifuge.Subscription with just []string - i.e. a slice of channels we want to subscribe connectio
[]centrifuge.Subscription with just []string - i.e. a slice of channels we want to subscribe connection to. For now it seems much more simple to just use a slice of strings and this must be sufficient for most use cases. It is also a bit more efficient for JWT use case in terms of its payload size. More complex logic can be introduced later over separate field of ConnectReply or connectToken if neededchannels claim fieldThis release introduces server-side subscription support - see #89 for details. Release highlights:
This release introduces server-side subscription support - see #89 for details. Release highlights:
Subscriptions for ConnectReply to provide server side subscriptionsClient.Subscribe methodUserSubscribePersonal and UserPersonalChannelPrefixServerSide boolean namespace optionClient.Unsubscribe now accepts one main argument (channel) and UnsubscribeOptionsUseWriteBufferPool for WebSocket handler configNothing 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
Secret config option renamed to TokenHMACSecretKey, that was reasonable due to recent addition of RSA-based tokens so we now have TokenRSAPublicKey op
Secret config option renamed to TokenHMACSecretKey, that was reasonable due to recent addition of RSA-based tokens so we now have TokenRSAPublicKey optionNothing 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
Your coding agent can read these notes before it upgrades. Set up the MCP server →