-
Notifications
You must be signed in to change notification settings - Fork 4
Releases: didww/jrpc
Releases · didww/jrpc
v2.1.0
Assets 2
v2.0.0
Full rewrite. JRPC 2.0 is not API-compatible with 1.x.
New
JRPC::SharedClient— one shared instance, one connection, serving many caller
threads and/or fibers. Owns a dedicated transport thread that multiplexes
responses by id. Supports Puma threads, rage-rb/Falcon fibers, and mixed
thread/fiber callers. Fiber callers require a spec-compliantFiber.scheduler.
(Internally drafted asThreadQueueClient; never shipped under that name.)JRPC::SimpleClient— single-threaded client, the functional replacement for
the oldTcpClient.concurrent-ruby(~> 1.2) added as a runtime dependency (backs the shared
client's result futures).loggeradded as an explicit runtime dependency (no longer guaranteed bundled
on Ruby 3.5+).
Removed / breaking
JRPC::TcpClientremoved — useJRPC::SimpleClient.JRPC::BaseClientremoved, including theBaseClient.connectblock helper.- All top-level error constants moved under
JRPC::Errors::*. method_missingmagic removed — pass the full method name as a String or Symbol.invoke_request/invoke_notificationremoved.perform_requestremoved — userequestandnotification.namespace:option removed.- Umbrella
timeout:option removed — useread_timeout/write_timeout/
connect_timeout(SimpleClient), orttl:(SharedClient). close_after_sent:renamed toautoclose:.connect_retry_countdefault changed from10to0.- Constructors no longer connect eagerly — the first call connects.
- Malformed responses now raise
Errors::MalformedResponseError(aServerError),
notClientError. In 1.x the missing-comma-terminator case raisedClientError. SimpleClientread/write/connect timeouts now raiseErrors::Timeout, not
ConnectionError.ojruntime dependency dropped — JRPC uses stdlibjson. For Oj speed,
require 'oj'; Oj.mimic_JSONyourself.netstringis no longer a dependency — framing is owned in-tree by the transport.required_ruby_versionset to>= 3.3(the floor where the
ConditionVariable↔Fiber.schedulercooperation that fiber callers depend on
is verified).bin/jrpcandbin/jrpc-shellrewritten on top ofSimpleClient; flag/usage
changes (seeREADME.mdandjrpc --help).
Full Changelog: v1.1.8...v2.0.0
Assets 2
v1.1.8
@senid231
senid231
6ee07b8
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
- handling FIN signal for TCP socket didww/jrpc#19
- add gem executables didww/jrpc#19
Assets 3
v1.1.7
v1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0
- add ability to send params as object (via
#perform_request) - deperecate
#invoke_requestand#invoke_notificationmethods - add options for read_timeout, write_timeout, connect_timeout, connect_retry_count
- add optional override read/write timeouts per request
- optimize debug logger