tonic-rails 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e6c9da1fa1dde14dab1bd46c64821154a392dd9e5b5bc31faf396cf8e51dfc28
4
+ data.tar.gz: f0988c4f232fb3016b205d094ea0970085e7515f71f6845e55bd8bc6d43c7d70
5
+ SHA512:
6
+ metadata.gz: 82a6eb4a8da4daaf1f91e6ead904b1223c13cc5b02f90e9bebf810ca7fc25bd71cb30cce07e539fde05b81b12fd89e84d540fc5aa5a22d38d7697aacb746a1c0
7
+ data.tar.gz: 87dbd3f3abcbdefd3d6f47ad8b93ea992672efe67c643bcf47e75e255e920983ab6695ecfea8eb4273db390f57e6de419b9c369ad5067f0e07a0d086a7c9e218
data/CHANGELOG.md ADDED
@@ -0,0 +1,52 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented here. The format is
4
+ based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the
5
+ project follows [Semantic Versioning](https://semver.org/). Until 1.0,
6
+ minor versions may contain breaking changes.
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.1.0]
11
+
12
+ First public release.
13
+
14
+ ### Serving
15
+
16
+ - gRPC server for Rails built on tonic 0.14 (HTTP/2, TLS via rustls,
17
+ keepalive, flow control), with Ruby handlers running on a pool of
18
+ dispatch threads inside the Rails executor.
19
+ - Unary, server-streaming, client-streaming and bidirectional RPCs, with
20
+ backpressure in both directions and incremental streaming.
21
+ - Handlers declared with `rpc_service` (read from the protobuf descriptor
22
+ pool) or individual `rpc` calls; requests as Hashes or, with
23
+ `request_format :message`, protobuf messages; responses as either.
24
+ - Routes registered at runtime: no service definitions are compiled into
25
+ the native extension.
26
+ - Built-in `grpc.health.v1` (per service, flips to NOT_SERVING on
27
+ shutdown) and opt-in `grpc.reflection.v1` generated from loaded
28
+ descriptors.
29
+ - Interceptors, request metadata, client deadlines (`deadline_ms`,
30
+ `deadline_exceeded?`) and shutdown awareness (`cancelled?`).
31
+ - `Tonic::Rails::Testing.call` for in-process handler tests.
32
+ - Railtie: `config.tonic_rails.*` settings, Rails logger and error
33
+ reporter, code reloading support, rake tasks `tonic_rails:serve`,
34
+ `tonic_rails:routes` and `tonic_rails:compile_protos`.
35
+
36
+ ### Production behaviour
37
+
38
+ - Graceful shutdown on SIGTERM/SIGINT: health flips to NOT_SERVING, new
39
+ connections are refused, in-flight calls drain for `drain_timeout`.
40
+ - Limits: `max_message_size` (also caps gzip-decompressed size),
41
+ `max_connections`, `concurrency_limit_per_connection`, request metadata
42
+ size, and `dispatch_queue_size` load shedding (`RESOURCE_EXHAUSTED`).
43
+ - TLS and mutual TLS (`tls_client_ca_path`). Invalid TLS configuration
44
+ stops startup; the server never falls back to plaintext.
45
+ - Unexpected exceptions (in handlers or interceptors) reach clients only
46
+ as `INTERNAL: internal error`; details are logged and reported.
47
+ - `grpc-message` is percent-encoded per the gRPC spec.
48
+ - Precompiled native gems for Linux (x86_64, aarch64; glibc and musl) and
49
+ macOS (x86_64, arm64), Ruby 3.3 to 4.0.
50
+
51
+ [Unreleased]: https://github.com/CodingAnarchy/tonic-rails/compare/v0.1.0...HEAD
52
+ [0.1.0]: https://github.com/CodingAnarchy/tonic-rails/releases/tag/v0.1.0