Skip to content

Update dependency jsonrpcclient to v4.2.1 - #40

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/jsonrpcclient-4.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/jsonrpcclient-4.x

Conversation

@renovate

@renovate renovate Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
jsonrpcclient (changelog) ==4.0.3 → ==4.2.1 age confidence

Release Notes

bensynapse/jsonrpcclient (jsonrpcclient)

v4.2.1

Compare Source

  • Importing jsonrpcclient on Python 3.8, 3.9 or 3.10 no longer warns. pip
    already keeps those Pythons on 4.x, so the warning asked for nothing. It
    also broke test suites that turn warnings into errors.

v4.2.0

Compare Source

Warnings about what 5.0 changes, so an upgrade doesn't surprise you. Nothing
else changes. Each is a FutureWarning, which Python shows by default.

  • A method that isn't a string, or params that aren't a list, tuple or
    dict, warn. 4.x sends the request anyway. 5.0 raises TypeError. This
    covers request, notification and their variants.
  • parse_json(..., strict=...) warns. 4.x passes strict on to
    json.loads. In 5.0 it turns on stricter checks of the response instead.
    parse(json.loads(text, strict=False)) keeps the json.loads option.
  • Importing jsonrpcclient on Python 3.8, 3.9 or 3.10 warns once. 5.0 needs
    Python 3.11 or later, and pip keeps installing 4.x on older Pythons.

Two more changes can't be detected at run time, so they don't warn. In 5.0
parse on a batch returns a list, not an iterator, so next(parse(batch))
stops working. And InvalidResponse stops subclassing KeyError and
TypeError. The
5.0 plan
lists everything that changes.

v4.1.0

Compare Source

See Migration
for what to check when upgrading.

Changed
  • parse and parse_json now raise InvalidResponse for an empty response
    batch. They used to return an empty iterator and silently accept the invalid
    reply.
  • If a response has both result and error, and error is not null,
    parse now returns an Error. It used to return Ok(result=None) and drop
    the server's error. JSON-RPC 2.0 doesn't allow both, but JSON-RPC 1.0 style
    servers send "result": null with an error.
  • If a response has a result and a non-null error that isn't an object
    with code and message (for example a string, false or ""), parse
    now raises InvalidResponse. 4.0 returned Ok and ignored the error.
  • parse_json on JSON that isn't an object or array, such as "pong", used to
    say "Use parse_json on strings". It now says it expected an object.
  • parse given bytes now raises the same "Use parse_json on strings" error as
    a str.
  • notification sends tuple params as a list, the same as request does.
    The JSON output is unchanged, but the returned dict now holds a list.
Added
  • Malformed responses now raise InvalidResponse with a message that says what
    is wrong, for example missing 'id'. It subclasses KeyError and
    TypeError, which earlier versions raised, so existing except clauses
    still catch it.
Documentation
  • The parse docstring now says that a batch gives a one-pass lazy iterator,
    not a list.
  • New pages: an API reference generated from the docstrings, a migration
    guide, and one page per transport. New guides cover notifications, batches,
    ids, error handling, typing and threads.

v4.0.4

Compare Source

This release fixes the links on the PyPI page. The 4.0.3 page linked to the
project's old website domain, which now belongs to someone else and serves a
gambling site. Issue #​229 was closed when the link changed in this repository,
but PyPI keeps showing the old link until a new release is published
(#​229, #​230). The links now point to
https://bensynapse.github.io/jsonrpcclient/ and
https://github.com/bensynapse/jsonrpcclient.

  • request_hex, request_random and request_uuid are now safe to call from
    several threads at once. Before, they could raise ValueError: generator already executing, and free-threaded Python could crash. The iterators from
    jsonrpcclient.id_generators are thread-safe too.
  • Type hints: params accepts a list. The *_json functions return str, and
    parse has overloads, so a type checker knows a dict gives one response and
    a list gives an iterator. parse_json used to be typed as Any. Code that
    uses its result without an isinstance check now needs one to pass mypy.
  • Added __version__.
  • Needs Python 3.8 or later (was 3.6). Tested on 3.8 to 3.14 and on
    free-threaded 3.14. Older Pythons will keep installing 4.0.3.
  • The documentation moved to https://bensynapse.github.io/jsonrpcclient/.
  • Releases now include both an sdist and a wheel. They are published from
    GitHub Actions with build attestations.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/jsonrpcclient-4.x branch from 832d83d to 17a65fb Compare November 6, 2026 05:56
@renovate renovate Bot changed the title Update dependency jsonrpcclient to v4.2.0 Update dependency jsonrpcclient to v4.2.1 Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants