Skip to content

Releases: centrifugal/centrifuge-go

v0.9.0 - new SDK API

20 Jul 07:56
6e9ded3
Compare
Choose a tag to compare

Breaking changes

This release adopts a new iteration of Centrifugal protocol and a new iteration of API. Client now behaves according to the client SDK API specification. The work has been done according to Centrifugo v4 roadmap.

Check out Centrifugo v4 release post that covers the reasoning behind changes here.

New release only works with Centrifugo >= v4.0.0 and Centrifuge >= 0.25.0. See Centrifugo v4 migration guide for details about the changes in the ecosystem.

Note, that Centrifugo v4 supports clients working over the previous protocol iteration, so you can update Centrifugo to v4 without any changes on the client side (but you need to turn on use_client_protocol_v1_by_default option in the configuration of Centrifugo, see Centrifugo v4 migration guide for details).

Important change is that centrifuge-go does not allow blocking calls from inside event handlers now. See a description in README.

v0.8.3

30 Jun 07:21
f99606d
Compare
Choose a tag to compare
  • Call OnServerSubscribe handler correctly for dynamic server subscriptions (happening after initial connect), see #64.

v0.8.2

11 Sep 12:44
b108c1c
Compare
Choose a tag to compare
  • Update protocol to v0.7.3

v0.8.1

28 Aug 11:25
cc87e93
Compare
Choose a tag to compare
  • Support for History reverse option.
gorelease -base v0.8.0 -version v0.8.1
github.com/centrifugal/centrifuge-go
------------------------------------
Compatible changes:
- HistoryOptions.Reverse: added
- WithHistoryReverse: added

v0.8.1 is a valid semantic version for this release.

v0.8.0

28 Aug 09:37
239a0a4
Compare
Choose a tag to compare

Update to work with Centrifuge >= v0.18.0 and Centrifugo v3.

Keep in mind that New is deprecated now, prefer using NewJsonClient or NewProtobufClient when server is based on Centrifuge >= v0.18.0 or Centrifugo >= v3.0.0

Breaking change: client History API behavior changed – Centrifuge >= v0.18.0 and Centrifugo >= v3.0.0 won't return all publications in a stream by default, see Centrifuge v0.18.0 release notes or Centrifugo v3 migration guide for more information and workaround on server-side.

gorelease -base v0.7.2 -version v0.8.0
github.com/centrifugal/centrifuge-go
------------------------------------
Incompatible changes:
- (*Client).History: changed from func(string) (HistoryResult, error) to func(string, ...HistoryOption) (HistoryResult, error)
- (*Subscription).History: changed from func() (HistoryResult, error) to func(...HistoryOption) (HistoryResult, error)
- (*Subscription).Subscribe: changed from func() error to func(...SubscribeOption) error
Compatible changes:
- HistoryOption: added
- HistoryOptions: added
- NewJsonClient: added
- NewProtobufClient: added
- StreamPosition: added
- SubscribeOption: added
- SubscribeOptions: added
- WithHistoryLimit: added
- WithHistorySince: added
- WithSubscribeSince: added

v0.8.0 is a valid semantic version for this release.

v0.7.2

20 Aug 16:44
43c5031
Compare
Choose a tag to compare
  • Bump protocol to v0.5.0 #56

v0.7.1

18 Mar 07:59
Compare
Choose a tag to compare
  • Fix atomic align on 32-bit #49

v0.7.0

02 Feb 07:09
Compare
Choose a tag to compare
  • Updated github.com/centrifugal/protocol package dependency to catch up with the latest changes in it
  • Introduced Error type which is used where we previously exposed protocol.Error – so there is no need to import protocol package in application code to investigate error code or message
  • Methods Client.SetName and Client.SetVersion removed in favour of Name and Version fields of Config
  • Add top-level methods Client.History, Client.Presence, Client.PresenceStats – so it's possible to call corresponding client API methods when using server-side subscriptions
$ gorelease -base v0.6.5 -version v0.7.0
github.com/centrifugal/centrifuge-go
------------------------------------
Incompatible changes:
- (*Client).SetName: removed
- (*Client).SetVersion: removed
Compatible changes:
- (*Client).History: added
- (*Client).Presence: added
- (*Client).PresenceStats: added
- Config.Name: added
- Config.Version: added
- DefaultName: added
- Error: added

v0.7.0 is a valid semantic version for this release.

v0.6.5

31 Dec 07:38
Compare
Choose a tag to compare
  • One more fix for memory align on 32bit arch, see #46

v0.6.4

15 Nov 10:03
Compare
Choose a tag to compare
  • Add Subscription.Close method to close Subscription when it's not needed anymore. This method unsubscribes from a channel and removes Subscription from internal Client subscription registry – thus freeing resources. Subscription is not usable after Close called. This method can be helpful if you work with lots of short-living subscriptions to different channels to prevent unlimited internal Subscription registry growth.