Skip to content

Bump jsonrpsee from 0.24.8 to 0.25.1 #1408

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Apr 25, 2025

Bumps jsonrpsee from 0.24.8 to 0.25.1.

Release notes

Sourced from jsonrpsee's releases.

v0.25.1

[v0.25.1] - 2025-04-24

A small follow-up patch release that adds a Clone impl for the middleware RpcLogger which was missing and broke the Clone impl for the HttpClient.

If you are updating from v0.24, have a look at https://github.com/paritytech/jsonrpsee/releases/tag/v0.25.0 because it contains some breaking changes.

Full Changelog: paritytech/jsonrpsee@v0.25.0...v0.25.1

v0.25.0

[v0.25.0] - 2025-04-24

A new breaking release which has been in the making for a while and the biggest change is that the RpcServiceT trait has been changed to support both the client and server side:

pub trait RpcServiceT {
	/// Response type for `RpcServiceT::call`.
	type MethodResponse;
	/// Response type for `RpcServiceT::notification`.
	type NotificationResponse;
	/// Response type for `RpcServiceT::batch`.
	type BatchResponse;
/// Processes a single JSON-RPC call, which may be a subscription or regular call.
fn call<'a>(&self, request: Request<'a>) -> impl Future<Output = Self::MethodResponse> + Send + 'a;
/// Processes multiple JSON-RPC calls at once, similar to RpcServiceT::call.
///
/// This method wraps RpcServiceT::call and RpcServiceT::notification,
/// but the root RPC service does not inherently recognize custom implementations
/// of these methods.
///
/// As a result, if you have custom logic for individual calls or notifications,
/// you must duplicate that implementation in this method or no middleware will be applied
/// for calls inside the batch.
fn batch<'a>(&self, requests: Batch<'a>) -> impl Future<Output = Self::BatchResponse> + Send + 'a;
/// Similar to RpcServiceT::call but processes a JSON-RPC notification.
fn notification<'a>(&self, n: Notification<'a>) -> impl Future<Output = Self::NotificationResponse> + Send + 'a;

}

The reason for this change is to make it work for the client-side as well as make it easier to implement performantly by relying on impl Future instead of requiring an associated type for the Future (which in many cases requires boxing).

The downside of this change is that one has to duplicate the logic in the batch and call method to achieve the same functionality as before. Thus, call or notification is not being invoked in the batch method and one has to implement them separately.

... (truncated)

Changelog

Sourced from jsonrpsee's changelog.

[v0.25.1] - 2025-04-24

A small follow-up patch release that adds a Clone impl for the middleware RpcLogger which was missing and broke the Clone impl for the HttpClient.

[v0.25.0] - 2025-04-24

A new breaking release which has been in the making for a while and the biggest change is that the RpcServiceT trait has been changed to support both the client and server side:

pub trait RpcServiceT {
	/// Response type for `RpcServiceT::call`.
	type MethodResponse;
	/// Response type for `RpcServiceT::notification`.
	type NotificationResponse;
	/// Response type for `RpcServiceT::batch`.
	type BatchResponse;
/// Processes a single JSON-RPC call, which may be a subscription or regular call.
fn call<'a>(&self, request: Request<'a>) -> impl Future<Output = Self::MethodResponse> + Send + 'a;
/// Processes multiple JSON-RPC calls at once, similar to RpcServiceT::call.
///
/// This method wraps RpcServiceT::call and RpcServiceT::notification,
/// but the root RPC service does not inherently recognize custom implementations
/// of these methods.
///
/// As a result, if you have custom logic for individual calls or notifications,
/// you must duplicate that implementation in this method or no middleware will be applied
/// for calls inside the batch.
fn batch<'a>(&self, requests: Batch<'a>) -> impl Future<Output = Self::BatchResponse> + Send + 'a;
/// Similar to RpcServiceT::call but processes a JSON-RPC notification.
fn notification<'a>(&self, n: Notification<'a>) -> impl Future<Output = Self::NotificationResponse> + Send + 'a;

}

The reason for this change is to make it work for the client-side as well as make it easier to implement performantly by relying on impl Future instead of requiring an associated type for the Future (which in many cases requires boxing).

The downside of this change is that one has to duplicate the logic in the batch and call method to achieve the same functionality as before. Thus, call or notification is not being invoked in the batch method and one has to implement them separately. For example now it's possible to write middleware that counts the number of method calls as follows (both client and server):

#[derive(Clone)]
pub struct Counter<S> {
	service: S,
</tr></table> 

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [jsonrpsee](https://github.com/paritytech/jsonrpsee) from 0.24.8 to 0.25.1.
- [Release notes](https://github.com/paritytech/jsonrpsee/releases)
- [Changelog](https://github.com/paritytech/jsonrpsee/blob/master/CHANGELOG.md)
- [Commits](paritytech/jsonrpsee@v0.24.8...v0.25.1)

---
updated-dependencies:
- dependency-name: jsonrpsee
  dependency-version: 0.25.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Apr 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants