This is a maintenance release. Most changes are internal and doesn't affect public APIs.
- Ruby >= 2.6 is required.
- Anyway Config >= 2.1 is required.
AnyCable::CLI.embed!to make it easier to run an RPC server within a custom Ruby process.
- BREAKING Middlewares are no longer inherited from gRPC interceptors.
That allowed us to have real middlewares with ability to modify responses, intercept exceptions, etc.
The API changed a bit:
class SomeMiddleware < AnyCable::Middleware - def call(request, rpc_call, rpc_handler) + def call(rpc_method_name, request, metadata) yield end end
See built-in middlewares, for example.
anycablegem has been split into
The first one contains an abstract RPC implementation and all the supporting tools (CLI, protobufs), the second one adds the gRPC implementation.