Skip to content

Releases: paritytech/jsonrpsee

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

v0.8.0

26 Jan 08:13
7e7d3d6
Compare
Choose a tag to compare

[v0.8.0] - 2022-01-21

v0.8.0 is a breaking release for the way subscription closing is handled, along with a few other minor tweaks and fixes.

[Added]

  • feat(client): support request id as Strings. #659
  • feat(rpc module) Add a method to RpcModule that transforms the module into a RpcModule<()>, i.e. removes the context. #660
  • feat(rpc module): stream API for SubscriptionSink #639

[Fixed]

  • fix: nit in WsError #662
  • fix(jsonrpsee): feature macros include client types #656
  • fix(ws client): export WsClient #646
  • fix(ws client): improve error message bad URL #642
  • fix(ws client): expose tls feature. #640
  • fix(http server): handle post and option HTTP requests properly. #637

v0.7.0

22 Dec 15:46
ab621ed
Compare
Choose a tag to compare

[v0.7.0] - 2022-12-22

v0.7.0 is a breaking release that contains a big refactoring of the crate structure. The types and
utils crates are split up as types and core to clarify the difference between the two.

core: common types used in various places.
types: includes JSON-RPC specification related types.

[Added]

  • servers: configurable subscriptionID #604
  • client: impl Stream on Subscription and tweak built-in next() method #601
  • ci: Create gitlab pipeline #534

[Changed]

  • chore: migrate to rust 2021 #618
  • extract async client abstraction. #580
  • Crate restructuring #590
  • servers: refactor SubscriptionClosed #612
  • ci: Add job to publish benchmark results to github pages #603
  • rpc module: refactor calls/subs without a server #591
  • types: make subscription ID a CoW String. #594
  • ci: remove GHA daily benchmark #598
  • examples: Remove usage of the palaver crate in an example #597
  • clients: use FxHashMap instead FnvHashMap #592
  • clients: feature gate tls #545

[Fixed]

  • benches: fix image in check-bench job #621
  • benches: update publish script #619
  • chore(http client): remove needless clone #620
  • jsonrpsee wrapper: make ws tls configurable #616
  • deps: Upgrade tracing-subscriber #615
  • proc macros: Fix span for underscore_token for tests to be equivalent on stable and nightly #614
  • proc macros: Better error messages for method arguments ignored with a _ #611
  • http client: re-export transport types. #607
  • benches: Fix job to publish benchmark results to gh-pages #608
  • benches: make jsonrpc crates optional #596
  • deps: duplicate env logger deps #595

v0.6.1

07 Dec 17:05
a910c72
Compare
Choose a tag to compare

[v0.6.1] – 2021-12-07

[Added]

  • rpc module: add call_and_subscribe #588

v0.6.0

01 Dec 11:52
be6f64a
Compare
Choose a tag to compare

[v0.6.0] – 2021-12-01

v0.6 is a breaking release

[Added]

  • Servers: Middleware for metrics #576
  • http client: impl Clone #583

[Fixed]

  • types: use Cow for deserializing str #584
  • deps: require tokio ^1.8 #586

v0.5.1

26 Nov 09:24
8c86769
Compare
Choose a tag to compare

[v0.5.1] – 2021-11-26

The v0.5.1 release is a bug fix.

[Fixed]

  • rpc error: support escaped strings #578

v0.5.0

24 Nov 10:34
42ffbcc
Compare
Choose a tag to compare

[v0.5.0] – 2021-11-23

v0.5 is a breaking release

[Added]

  • Add register_blocking_method #523
  • Re-introduce object param parsing #526
  • clients: add support for webpki and native certificate stores #533
  • feat(ws client): support custom headers. #535
  • Proc macro support for map param #544
  • feat: make it possible to try several sockaddrs when starting server #567
  • feat: make it possible to override method name in subscriptions #568
  • proc-macros: Support deprecated methods for rpc client #570

[Change]

  • DRY error handling for methods #515
  • deps: replace log with tracing #525
  • benches: add option to run benchmarks against jsonrpc crate servers #527
  • clients: request ID as RAII guard #543
  • Allow awaiting on server handles #550
  • ws server: reject too big response #553
  • Array syntax aliases #557
  • rpc module: report error on invalid subscription #561
  • [rpc module]: improve TestSubscription to return None when closed #566

[Fixed]

  • ws server: respect max limit for received messages #537
  • fix(ws server): batch wait until all methods has been executed. #542
  • Re-export tracing for macros #555
  • Periodically wake DriverSelect so we can poll whether or not stop had been called. #556
  • Implement SubscriptionClient for HttpClient #563
  • fix: better log for failed unsubscription call #575