Skip to content

Releases: paritytech/jsonrpsee

v0.15.1

29 Jul 11:20
4a7d725
Compare
Choose a tag to compare

[v0.15.1] - 2022-07-29

This release fixes some incorrect tracing spans.

[Fixed]

  • [Bug Fix] - Incorrect trace caused by use of Span::enter in asynchronous code #835

v0.15.0

21 Jul 13:09
e7dc80d
Compare
Choose a tag to compare

[v0.15.0] - 2022-07-20

v0.15.0 is a breaking release. The main changes are:

  • It's now possible to apply resource limits to subscriptions as well as regular calls.
  • We now allow trait bounds to be overridden in the proc macros. See examples/examples/proc_macro_bounds.rs for examples.
  • We've tidied up the subscription API, removing the PendingSink concept (you can still manually accept or reject a sink, but otherwise it'll be accepted automatically if you send a message down it) (#799).
  • Our logging Middleware trait has been split into HttpMiddleware and WsMiddleware to better capture the differences between the two. if you use custom middleware, you'll need to implement one or the other trait on it depending on your used transport method (#793). We also provide params and the method type to middleware calls now, too (#820).
  • We've consistified the API for setting headers across HTTP and WS clients (#799).

Here's the full list of changes:

[Fixed]

  • Fix client generation with param_kind = map #805
  • ws-server: Handle soketto::Incoming::Closed frames #815
  • fix(ws server): reply HTTP 403 on all failed conns #819
  • fix clippy #817

[Added]

  • Add resource limiting for Subscriptions #786
  • feat(logging): add tracing span per JSON-RPC call #722
  • feat(clients): add explicit unsubscribe API #789
  • Allow trait bounds to be overridden in macro #808

[Changed]

  • Point to a new v1.0 milestone in the README.md #801
  • chore(deps): upgrade tracing v0.1.34 #800
  • Replace cargo-nextest with cargo-test for running tests #802
  • Remove deny_unknown_fields from Request and Response #803
  • substrate-subxt -> subxt #807
  • chore(deps): update pprof requirement from 0.9 to 0.10 #810
  • Return error from subscription callbacks #799
  • middleware refactoring #793
  • feat(middleware): expose type of the method call #820
  • Uniform API for custom headers between clients #814
  • Update links to client directories. #822

v0.14.0

14 Jun 10:09
2118975
Compare
Choose a tag to compare

[v0.14.0] - 2022-06-14

v0.14.0 is breaking release which changes the health and access control APIs and a bunch of bug fixes.

[Fixed]

  • fix(servers): more descriptive errors when calls fail #790
  • fix(ws server): support * in host and origin filtering #781
  • fix(rpc module): register failed unsubscribe calls in middleware #792
  • fix(http server): omit jsonrpc details in health API #785
  • fix(servers): skip leading whitespace in JSON deserialization #783
  • fix(ws-server): Submit ping regardless of WS messages #788
  • fix(rpc_module): remove expect in fn call #774

[Added]

  • feat(ws-client): ping-pong for WebSocket clients #772
  • feat(ws-server): Implement ping-pong for WebSocket server #782

[Changed]

  • chore(deps): bump Swatinem/rust-cache from 1.3.0 to 1.4.0 #778
  • chore(deps): bump actions/checkout from 2.4.0 to 3.0.2 #779
  • chore(ci): bring back daily benchmarks #777
  • chore(examples): Move examples under dedicated folder to simplify Cargo.toml #769

v0.13.1

13 May 18:36
4706aad
Compare
Choose a tag to compare

[v0.13.1] - 2022-05-13

v0.13.1 is a release that fixes the documentation for feature-gated items on docs.rs.

v0.13.0

11 May 19:57
ea36d88
Compare
Choose a tag to compare

[v0.13.0] - 2022-05-11

v0.13.0 is release that adds health API support for the HTTP server and a few bug fixes.

[Added]

feat: add http health API #763

[Fixed]

  • hide internal macros from public interface #755
  • fix: add core behind http-server feature #760

v0.12.0

06 May 11:26
7690a26
Compare
Choose a tag to compare

[v0.12.0] - 2022-05-06

v0.12.0 is mainly a patch release with some minor features added.

[Added]

  • Make it possible to disable batch requests support #744
  • feat: add a way to limit the number of subscriptions per connection #739

[Fixed]

  • fix(http client): use https connector for https #750
  • fix(rpc module): close subscription task when a subscription is unsubscribed via the unsubscribe call #743
  • fix(jsonrpsee): generate docs behind features #741

[Changed]

  • remove vault from ci #745
  • chore(deps): update pprof requirement from 0.7 to 0.8 #732
  • chore(deps): update gloo-net requirement from 0.1.0 to 0.2.0 #733

v0.11.0

21 Apr 09:33
07b3788
Compare
Choose a tag to compare

[v0.11.0] - 2022-04-21

v0.11.0 is a breaking release that reworks how subscriptions are handled by the servers where the users have to explicitly reject or accept each subscription.
The reason for this is that the actual params in the subscription is passed to the callback and if the application decides the params are invalid and the server can't know if the call is going to fail or pass when dispatching the call.
Thus, the actual subscription method call is only answered when the subscription is accepted or rejected.

Additionally, the servers before sent a SubscriptionClosed message which is now disabled by default because it might break other implementations.
It is still possible to respond with a SubscriptionClosed message but one has to match on the result from SubscriptionSink::pipe_from_stream.

This release also adds support for JSON-RPC WASM client using web-sys bindings.

[Added]

  • feat: WASM client via web-sys transport #648

[Changed]

  • CI: bump Swatinem/rust-cache from 1.3.0 to 1.4.0 #730

[Fixed]

  • fix(rpc module): fail subscription calls with bad params #728

v0.10.1

05 Apr 18:48
v0.10.1
5c8f1f7
Compare
Choose a tag to compare

[v0.10.1] - 2022-04-05

v0.10.1 is a release that fixes a regression in the HTTP server where the backlog was hardcoded to 128 (this is now set to 1024 by default but also configurable), introduces a couple of new APIs and a few minor bug fixes.

If your usage expects a high rate of new HTTP connections you are encouraged to update or manually configure the socket based on the traffic characteristics.

[Changed]

  • [proc macros]: only generate unsub method if not provided (#702)
  • [examples]: update pubsub examples #705
  • core: remove Error::Request variant #717
  • Replace async-channel #708
  • chore(deps): bump actions/checkout from 2.4.0 to 3 #710
  • CI: cache cargo hack installation #706
  • CI: try nextest #701
  • chore(deps): update tokio-util requirement from 0.6 to 0.7 #695
  • CI: Move CI script to new location #694
  • refactor(log): downgrade send errors to warn #726

[Fixed]

  • fix(client): close subscription when server sent SubscriptionClosed notification #721
  • fix(http client): set reuseaddr and nodelay. #687
  • fix(rpc module): unsubscribe according ethereum pubsub spec #693
  • http server: fix regression set backlog to 1024 #718
  • README.MD: fix link to ws server #703
  • fix(ws server): close all subscription when the connection is closed #725
  • perf: don't send messages when client is gone #724

[Added]

  • feat(http server): add new builder APIs build_from_tcp and build_from_hyper #719
  • feat(servers): add SubscriptionSink::pipe_from_try_stream to support streams that returns Result #720
  • feat(servers): add max_response_size #711

v0.10.0

04 Apr 19:45
v0.10.0
ffdab3e
Compare
Choose a tag to compare

[v0.10.0] - 2022-04-04 [YANKED]

v0.9.0

14 Feb 09:39
f66ef55
Compare
Choose a tag to compare

[v0.9.0] - 2022-02-03

v0.9.0 is technically a breaking release because of the Debug bound of the IdProvider trait changed which is used by WebSocket server. In practise it should be a non-breaking upgrade for most users.

[Changed]

refactor(ws server): impl IdProvider for Box #684
chore(deps): update parking_lot requirement from 0.11 to 0.12 #682