Releases: anycable/anycable-go
1.1.0 🚸
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
anddata_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.
1.1.0.rc1
See notes for v1.1.0.
1.0.5
1.0.4
1.0.3
v1.0.2
v1.0.1
1.0.0
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 OSrpc_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 documentationdisable_disconnect
: disable calling disconnect/unsubscribe callbacks.
-
HTTP broadcast adapter.
See documentation.
Changes
- Docker versioning changed from
vX.Y.Z
toX.Y.Z
foranycable-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
Bump 1.0.0.rc1