Skip to content

Releases: anycable/anycable-go

1.1.0 🚸

01 Jun 10:36
Compare
Choose a tag to compare

This is a maintenance release. Most changes are internal and doesn't affect public APIs.

Changes

  • Dropped deprecated AnyCable RPC v0.6 support.

  • Added concurrency to broadcasting.

Now new broadcast messages are handled (and retransmitted) concurrently by a pool of workers (Go routines).
You can control the size of the pool via the hub_gopool_size configuration parameter (defaults to 16).

Features

  • Added server_msg_total, failed_server_msg_total, data_sent_bytes_total and data_rcvd_bytes_total metrics.

  • Added --ping_timestamp_precision option to specify ping messages timestamp precision.

  • Added --allowed_origins optional configuration.

You can provide a comma-separated list of hostnames to check the Origin header against during the WebSocket Upgrade. Supports wildcards, e.g., --allowed_origins=*.evl.ms,www.evlms.io.

  • Added --max-conn option.

Hard-limit the number of simultaneous connections.


Full release notes

1.1.0.rc1

12 May 17:02
Compare
Choose a tag to compare
1.1.0.rc1 Pre-release
Pre-release

See notes for v1.1.0.

1.0.5

17 Mar 13:01
Compare
Choose a tag to compare

Features

  • Ping and stats refresh intervals are configurable now.

Added --ping_interval N and --stats_refresh_interval N options respectively (both use seconds).

Fixes

  • Fixed interval values for counters.

See #128.

1.0.4

04 Mar 15:07
Compare
Choose a tag to compare

Features

  • Added sid=xxx tag to RPC logs.

Fixes

  • Fixed race conditions in Hub caused incorrect clients num in stats sometimes.

1.0.3

05 Jan 16:41
Compare
Choose a tag to compare

Features

  • Handle TLS Redis connections by using VERIFY_NONE mode.

  • Added rpc_pending_num metric.

v1.0.2

08 Sep 12:14
Compare
Choose a tag to compare
Bump 1.0.2

v1.0.1

07 Jul 14:36
Compare
Choose a tag to compare
Bump 1.0.1

1.0.0

24 Jun 10:14
Compare
Choose a tag to compare

Features

  • AnyCable RPC 1.0 compatibility.

See the project's release notes for more information.

This release is still compatible with AnyCable RPC v0.6. The support for v0.6 is planned to be dropped in 1.1.0.

  • Redis Sentinel support.

See documentation.

  • New metrics:

    • mem_sys_bytes: the total bytes of memory obtained from the OS
    • rpc_retries_total: the total number of retried RPC calls (higher number could indicate incorrect concurrency configuration)
  • New configuration parameters:

    • rpc_concurrency: the limit on the number of concurrent RPC calls (read documentation).
    • enable_ws_compression: enable WebSocket per-message compression (disabled by default).
    • disconnect_timeout: specify the timeout for graceful shutdown of the disconnect queue (read documentation
    • disable_disconnect: disable calling disconnect/unsubscribe callbacks.
  • HTTP broadcast adapter.

See documentation.

Changes

  • Docker versioning changed from vX.Y.Z to X.Y.Z for anycable-go.

Now you can specify only the part of the version, e.g. anycable-go:1.0 instead of the full anycable-go:v1.0.0.

  • RPC implementation now uses a single gRPC client instead of a pool.

gRPC connection provides concurrency via H2 streams (with load balancing). Using a pool doesn't bring any performance
improvements and sometimes 'cause unstability (e.g., ResourceExhausted or Unavailable exceptions under the load).

We still limit the number of concurrent RPC requests. Now you can configure it via --rpc_concurrency setting.

See PR#88 for more.

Please, checkout the upgrade notes for more changes.

v1.0.0.rc1

10 Jun 19:45
Compare
Choose a tag to compare
v1.0.0.rc1 Pre-release
Pre-release
Bump 1.0.0.rc1

v0.6.5

29 Mar 10:57
Compare
Choose a tag to compare
Bump 0.6.5