Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: didww/jrpc

v2.1.0

29 May 15:48
@senid231 senid231

Choose a tag to compare

What's Changed

Full Changelog: v2.0.0...v2.1.0

Contributors

senid231
Assets 2
Loading

v2.0.0

29 May 13:52
@senid231 senid231

Choose a tag to compare

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-compliant Fiber.scheduler.
    (Internally drafted as ThreadQueueClient; never shipped under that name.)
  • JRPC::SimpleClient — single-threaded client, the functional replacement for
    the old TcpClient.
  • concurrent-ruby (~> 1.2) added as a runtime dependency (backs the shared
    client's result futures).
  • logger added as an explicit runtime dependency (no longer guaranteed bundled
    on Ruby 3.5+).

Removed / breaking

  • JRPC::TcpClient removed — use JRPC::SimpleClient.
  • JRPC::BaseClient removed, including the BaseClient.connect block helper.
  • All top-level error constants moved under JRPC::Errors::*.
  • method_missing magic removed — pass the full method name as a String or Symbol.
  • invoke_request / invoke_notification removed.
  • perform_request removed — use request and notification.
  • namespace: option removed.
  • Umbrella timeout: option removed — use read_timeout / write_timeout /
    connect_timeout (SimpleClient), or ttl: (SharedClient).
  • close_after_sent: renamed to autoclose:.
  • connect_retry_count default changed from 10 to 0.
  • Constructors no longer connect eagerly — the first call connects.
  • Malformed responses now raise Errors::MalformedResponseError (a ServerError),
    not ClientError. In 1.x the missing-comma-terminator case raised ClientError.
  • SimpleClient read/write/connect timeouts now raise Errors::Timeout, not
    ConnectionError.
  • oj runtime dependency dropped — JRPC uses stdlib json. For Oj speed,
    require 'oj'; Oj.mimic_JSON yourself.
  • netstring is no longer a dependency — framing is owned in-tree by the transport.
  • required_ruby_version set to >= 3.3 (the floor where the
    ConditionVariableFiber.scheduler cooperation that fiber callers depend on
    is verified).
  • bin/jrpc and bin/jrpc-shell rewritten on top of SimpleClient; flag/usage
    changes (see README.md and jrpc --help).

Full Changelog: v1.1.8...v2.0.0

Loading

v1.1.8

21 Oct 16:55
@senid231 senid231
6ee07b8
This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
GPG key ID: 4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

Loading

v1.1.7

04 Feb 16:38
@senid231 senid231
9e1daac
This commit was signed with the committer’s verified signature.
senid231 Denis Talakevich
GPG key ID: 51A7507551FA3AAC
Verified
Learn about vigilant mode.

Choose a tag to compare

  • connect to a socket in non block mode (fix connection timeout issues)
Loading

v1.1.4

25 Sep 14:58
@senid231 senid231
44981c5
This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
GPG key ID: 4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

  • Handle EOF on TCP socket #read
Loading

1.1.3

03 Aug 09:10
@senid231 senid231
ca1ac99
This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
GPG key ID: 4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

BugFix:

  • close socket descriptor when clearing socket
Loading

1.1.2

02 Aug 13:10
@senid231 senid231
e233621
This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
GPG key ID: 4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

  • Fix Broken pipe error when connection terminated unexpectedly #11
Loading

1.1.1

27 Jul 07:12
@senid231 senid231
0de93a5
This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
GPG key ID: 4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

  • fix error rescue in TcpClient initializer
Loading

1.1.0

18 May 10:21
@senid231 senid231
b4ed17d
This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
GPG key ID: 4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

  • use own socket wrapper instead of Net::TcpClient
  • fix bug when timeout does not handle correctly and client freezes for a long time

https://rubygems.org/gems/jrpc/versions/1.1.0

Loading

1.0

30 Aug 13:06
@senid231 senid231

Choose a tag to compare

1.0
  • add ability to send params as object (via #perform_request)
  • deperecate #invoke_request and #invoke_notification methods
  • add options for read_timeout, write_timeout, connect_timeout, connect_retry_count
  • add optional override read/write timeouts per request
  • optimize debug logger
Loading
Previous 1
Previous

AltStyle によって変換されたページ (->オリジナル) /