Skip to content

Commit

Permalink
release notes for v5.2.1 (#764)
Browse files Browse the repository at this point in the history
  • Loading branch information
FZambia committed Jan 14, 2024
1 parent 97e681f commit dbc0da4
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 9 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [1.21.5]
go-version: [1.21.6]
steps:
- name: Install Go
uses: actions/setup-go@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
strategy:
matrix:
go-version: [1.21.5]
go-version: [1.21.6]
tarantool-version: [2.7.2]
steps:
- name: Install Go
Expand Down
16 changes: 9 additions & 7 deletions misc/release/notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@ For details, go to the [Centrifugo documentation site](https://centrifugal.dev).

### Improvements

* Launching the official tutorial showing the process of building complex real-time application with Centrifugo in detail. It's called [Grand Tutorial](https://centrifugal.dev/docs/tutorial/intro), and we have a special section on the site for it. In the tutorial we build a WebSocket chat (messenger) app with Django, React and Centrifugo. We cover various aspects of building a production-grade app with Centrifugo and going beyond basics usually shown in instant messaging app tutorials. The idea to keep it in a separate section on the site instead of a blog is to maintain the tutorial actual and extend as time goes.
* Introducing built-in [asynchronous consumers](https://centrifugal.dev/docs/server/consumers). From [PostgreSQL outbox table](https://centrifugal.dev/docs/server/consumers#postgresql-outbox-consumer) (to natively support transactional outbox) and from [Kafka topics](https://centrifugal.dev/docs/server/consumers#kafka-consumer). Notably, the "Grand Tutorial" mentioned earlier demonstrates the practical use of both built-in consumers, including the Change Data Capture (CDC) approach for streaming data to Centrifugo using the Debezium connector for PostgreSQL with Kafka Connect.
* Centrifugo now offers the capability to specify an `idempotency_key` when invoking `publish` or `broadcast` server API methods. This is a key Centrifugo will use to prevent duplicate sending of the same publication to a channel. This allows making effective retries when publishing to Centrifugo. Centrifugo maintains a cache of results associated with the used idempotency keys during publishing for a duration of 5 minutes. This cache is utilized to prevent the redundant publication of a message and its addition to the message history if it already exists in the cache. See updated docs for [publish](https://centrifugal.dev/docs/server/server_api#publish) and [broadcast](https://centrifugal.dev/docs/server/server_api#broadcast) server APIs.
* Refactor `MakeTLSConfig` and support mTLS on server by @tie, see [#739](https://github.com/centrifugal/centrifugo/pull/739). This means mTLS is supported for all TLS configurations in Centrifugo – by using TLS options `tls_client_ca` or `tls_client_ca_pem`.
* Added possibility to set `parallel` boolean flag in [batch](https://centrifugal.dev/docs/server/server_api#batch) API – to make batch commands processing parallel on Centrifugo side, potentially reducing latency, especially when using the Redis engine, as there is no need to wait for N * RTT (Round Trip Time) for sequential command processing.
* Support for OKP JWKs based on Ed25519, [#756](https://github.com/centrifugal/centrifugo/pull/756)
* New boolean option `global_redis_presence_user_mapping` to drastically improve presence stats performance for channels with large number of active subscribers when using Redis engine. See [#750](https://github.com/centrifugal/centrifugo/issues/750) for the motivation and implementation details. Also, see in [docs](https://centrifugal.dev/docs/server/engines#optimize-getting-presence-stats)
* Admin web UI now uses `/admin/api/settings` endpoint on start to load admin UI configuration options. Admin web UI status page now does not call `info` API periodically when browser window is not visible (using [visibility browser API](https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API)). Also, some minor CSS style improvements were made.

### Fixes

* Fix nil pointer dereference upon channel regex check inside namespace, [#760](https://github.com/centrifugal/centrifugo/pull/760)

### Misc

* Release is built using Go v1.21.5
* Improvements to the code base by introducing the use of the `Service` interface with a `Run(ctx context.Context) error` method. This approach is now recommended for the proper initiation and termination of various extension services within Centrifugo.
* Release is built using Go v1.21.6
* Use grouped dependabot version updates by @j178, [#762](https://github.com/centrifugal/centrifugo/pull/762)

0 comments on commit dbc0da4

Please sign in to comment.