All Versions
72
Latest Version
Avg Release Cycle
36 days
Latest Release
-

Changelog History
Page 2

  • v2.6.1 Changes

    August 07, 2020

    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 or redigo: 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.6.0 Changes

    July 19, 2020

    No backwards incompatible changes here.

    ๐Ÿ‘Œ Improvements:

    ๐Ÿš€ 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
  • v2.5.2 Changes

    August 07, 2020

    ๐Ÿ›  Fixes:

    • Backport Redis Engine epoch fix from v2.6.1

    ๐Ÿณ Docker images

    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.5.2
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.5
    • ๐Ÿณ docker pull centrifugo/centrifugo:latest
  • v2.5.1 Changes

    May 19, 2020

    No backwards incompatible changes here.

    ๐Ÿ‘Œ Improvements:

    • ๐Ÿ“š refreshed documentation design
    • ๐Ÿ†• new Quick start chapter for those who just start working with Centrifugo
    • ๐Ÿš€ faster marshal of disconnect messages into close frame texts, significantly reduces amount of memory allocations during server graceful shutdown in deployments with many connections
    • one beautiful Centrifugo integration with Symfony framework from our community - check it out

    ๐Ÿ›  Fixes:

    • โž• add Content-Type: application/json header to outgoing HTTP proxy requests to app backend for better integration with some frameworks. #368
    • ๐Ÿ›  fix wrong channel name in Join messages sent to client in case of server-side subscription to many channels
    • ๐Ÿ›  fix disconnect code unmarshalling after receiving response from HTTP proxy requests, it was ignored previously

    ๐Ÿณ Docker images

    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.5.1
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.5
    • ๐Ÿณ docker pull centrifugo/centrifugo:latest
  • v2.5.0 Changes

    May 11, 2020

    No backwards incompatible changes here.

    ๐Ÿš€ Starting from this release we begin migration to new offset uint64 client-server protocol field for Publication position inside history stream instead of currently used seq and gen (both uint32) fields. This offset field will be used in Centrifugo v3 by default. This change required to simplify working with history API, and due to this change history API can be later extended with pagination features.

    ๐Ÿ‘‰ Our client libraries centrifuge-js, centrifuge-go and centrifuge-mobile were updated to support offset field. If you are using these libraries then you can update centrifuge-js to at least 2.6.0, centrifuge-go to at least 0.5.0 and centrifuge-mobile to at least 0.5.0 to work with the newest client-server protocol. As soon as you upgraded mentioned libraries you can enable offset support without waiting for Centrifugo v3 release with v3_use_offset option:

    { ..."v3\_use\_offset": true}
    

    ๐Ÿ‘ All other client libraries except centrifuge-js, centrifuge-go and centrifuge-mobile do not support recovery at this moment and will only work with offset field in the future.

    ๐Ÿš€ It's important to mention that centrifuge-js, centrifuge-go and centrifuge-mobile will continue to work with a server which is using seq and gen fields for recovery until Centrifugo v3 release. With Centrifugo v3 release those libraries will be updated to only work with offset field.

    ๐Ÿ‘‰ Command centrifugo genconfig will now generate config file with v3_use_offset option enabled. Documentation has been updated to suggest turning on this option for fresh installations.

    ๐Ÿ‘Œ Improvements:

    • ๐Ÿ‘Œ support Redis Streams - radically reduces amount of memory allocations during recovery in large history streams. This also opens a road to paginate over history stream in future releases, see description of new redis_streams option in Redis engine docs
    • ๐Ÿ‘Œ support Redis Cluster, client-side sharding between different Redis Clusters also works, see more in docs
    • ๐Ÿ“œ faster HMAC-based JWT parsing
    • ๐Ÿ“‡ faster Memory engine, possibility to expire history stream metadata (more in docs)
    • ๐Ÿš€ releases for Centos 8, Debian Buster, Ubuntu Focal Fossa
    • ๐Ÿ†• new cli-command centrifugo gentoken to quickly generate HMAC SHA256 based connection JWT, see docs
    • ๐Ÿ†• new cli-command centrifugo checktoken to quickly validate connection JWT while developing application, see docs

    ๐Ÿ›  Fixes:

    • ๐Ÿ›  fix server side subscriptions to private channels (were ignored before)
    • ๐Ÿ›  fix channels counter update frequency in server info โ€“ this includes how fast channels counter updated in admin web interface (previously num clients and num users updated once in 3 seconds while num channels only once in a minute, now num channels updated once in 3 seconds too)

    ๐Ÿš€ This release based on Go 1.14.x

    ๐Ÿณ Docker images

    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.5.0
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.5
    • ๐Ÿณ docker pull centrifugo/centrifugo:latest
  • v2.4.0 Changes

    March 08, 2020

    ๐Ÿš€ This release is a step towards new interesting possibilities with Centrifugo. It adds server-side subscriptions support and some sugar on top of it. With server-side subscriptions you don't need to call Subscribe method on client side at all. Follow release notes to know more.

    No backwards incompatible changes here.

    ๐Ÿ‘Œ Improvements:

    • ๐Ÿ“š Server-side subscriptions, this functionality requires updating client code so at moment usage is limited to centrifuge-js. Also there is a possibility to automatically subscribe user connection to personal notifications channel. More info in new documentation chapter
    • ๐Ÿ†• New private subscription JWT eto claim - see its description in docs
    • ๐Ÿ‘€ Options to disable WebSocket, SockJS and API handlers โ€“ see docs
    • ๐Ÿ‘‰ New option websocket_use_write_buffer_pool โ€“ see docs
    • Metrics now include histograms of requests durations - pull request
    • โž• Add Linux ARM binary release

    ๐Ÿ›  Fixes:

    • ๐Ÿ›  Fix unreliable unsubscriptions from Redis PUB/SUB channels under load, now we unsubscribe nodes from PUB/SUB channels over in-memory queue
    • ๐Ÿ›  Fix tls_external option regression

    ๐Ÿณ Docker images

    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.4.0
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.4
    • ๐Ÿณ docker pull centrifugo/centrifugo:latest
  • v2.3.1 Changes

    January 09, 2020

    ๐Ÿš€ This release contains several improvements to proxy feature introduced in v2.3.0, no backwards incompatible changes here.

    ๐Ÿ‘Œ Improvements:

    • With proxy_extra_http_headers configuration option it's now possible to set a list of extra headers that should be copied from original client request to proxied HTTP request - see #334 for motivation and updated proxy docs
    • ๐Ÿ‘€ You can pass custom data in response to connect event and this data will be available in connect event callback context on client side. See #332 for more details
    • ๐Ÿš€ Starting from this release Origin header is proxied to your backend by default - see full list in docs

    ๐Ÿณ Docker images

    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.3.1
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.3
    • ๐Ÿณ docker pull centrifugo/centrifugo:latest
  • v2.3.0 Changes

    December 31, 2019

    ๐Ÿš€ This release is a big shift in Centrifugo possibilities due to HTTP request proxy feature. It was a pretty long term work but the final result opens a new commucation direction: from client to server โ€“ see details below.

    โœ… Release has some internal backwards incompatible changes in Redis engine and deprecations. Migration must be smooth but we strongly suggest to test your functionality before running new version in production. Read release notes below for more information.

    ๐Ÿ‘Œ Improvements:

    • ๐Ÿ“š It's now possible to proxy some client connection events over HTTP to application backend and react to them in a way you need. For example you can authenticate connection via request from Centrifugo to your app backend, refresh client sessions and answer to RPC calls sent by client over WebSocket or SockJS connections. More information in new documentation chapter
    • Centrifugo now supports RSA-based JWT. You can enable this by setting token_rsa_public_key option. See updated authentication chapter in docs for more details. Due to this addition we also renamed secret option to token_hmac_secret_key so it's much more meaningful in modern context. But don't worry - old secret option will work and continue to set token HMAC secret key until Centrifugo v3 release (which is not even planned yet). But we adjusted docs and genconfig command to use new naming
    • New option redis_sequence_ttl for Redis engine. It allows to expire internal keys related to history sequnce meta data in Redis โ€“ current sequence number in channel and epoch value. See more motivation behind this option in its description in Redis Engine docs. While adding this feature we changed how sequence and epoch values are stored in Redis - both are now fields of single Redis HASH key. This means that after updating to this version your clients won't recover missed messages - but your frontend application will receive recovered: false in subscription context so it should tolerate this loss gracefully recovering state from your main database (if everything done right on your client side of course)
    • ๐Ÿ‘€ More validation of configuration file is now performed. Specifically we now check history recovery configuration - see this issue to see how absence of such misconfiguration check resulted in confused Centrifugo behaviour - no messages were received by subscribers
    • ๐Ÿ”Š Go internal logs from HTTP server are now wrapped in our structured logging mechanism - those errors will look as warns in Centrifugo logs now
    • ๐Ÿณ Alpine 3.10 instead of Alpine 3.8 as Centrifugo docker image base

    ๐Ÿณ Docker images

    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.3.0
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.3
    • ๐Ÿณ docker pull centrifugo/centrifugo:latest
  • v2.2.7 Changes

    December 04, 2019

    ๐Ÿ‘Œ Improvements:

    • ๐Ÿ‘Œ Support passing api_key over URL param, see #317 for reasoning behind this feature

    ๐Ÿณ Docker images

    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.2.7
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.2
    • ๐Ÿณ docker pull centrifugo/centrifugo:latest
  • v2.2.6 Changes

    November 29, 2019

    ๐Ÿš€ This is a quick fix release. Fixes an error on start when namespaces not set in configuration file,the bug was introduced in v2.2.5, see #319 for details.

    ๐Ÿณ Docker images

    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.2.6
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2
    • ๐Ÿณ docker pull centrifugo/centrifugo:v2.2
    • ๐Ÿณ docker pull centrifugo/centrifugo:latest