Skip to content
This repository was archived by the owner on Oct 16, 2025. It is now read-only.

Releases: MetaMask/eth-json-rpc-middleware

20.0.0

15 Oct 21:01
3339659

Choose a tag to compare

Changed

  • BREAKING: Distribute separate CommonJS and ESM files (#420)
    • Use the exports field of package.json, breaking some previously valid imports.

19.0.1

15 Oct 18:10
1f26857

Choose a tag to compare

Changed

  • Bump @metamask/eth-block-tracker from ^12.2.0 to ^12.2.1 (#422)

Fixed

  • Prevent delays in request processing (#421)
    • All PollingBlockTracker.getLatestBlock() calls have been updated to not include useCache: false
    • This reverts #416. This change ended up introducing a bug (it caused delays in request processing).

19.0.0

09 Oct 21:28
36ebf6f

Choose a tag to compare

Changed

  • Bump @metamask/eth-block-tracker from ^12.0.0 to ^12.2.0 (#413)
  • Bump @metamask/eth-json-rpc-provider from ^4.1.7 to ^5.0.0 (#413)
  • Bump @metamask/json-rpc-engine from ^10.0.2 to ^10.1.0 (#413)
  • Change all PollingBlockTracker.getLatestBlock() calls to include useCache: true (#416)

Removed

  • BREAKING: Remove ethersProviderAsMiddleware (#415)

18.0.0

10 Sep 20:14
1f41907

Choose a tag to compare

Changed

  • BREAKING: createFetchMiddleware no longer takes fetch, btoa, rpcUrl, and originHttpHeaderKey (#402)
    • The existing signature (rpcService and options) is now the only way to use this function; please use that instead.
  • BREAKING: The RPC service object that createFetchMiddleware takes must now come from @metamask/network-controller 24.x (#404)
  • Tweak signature for createFetchMiddleware so it now accepts an partial RPC service object (#404)
    • The only required property is request
  • Bump @metamask/utils to ^11.7.0 (#404)

Removed

  • BREAKING: Remove support for wallet_getCapabilities, wallet_sendCalls, and wallet_getCallsStatus from wallet middleware (#401)
    • These handlers have been moved to the @metamask/eip-5792-middleware package.
  • BREAKING: Remove PayloadWithOrigin type (#402)
    • There is no equivalent.
  • BREAKING: Remove createFetchConfigFromReq function (#402)
    • There is no equivalent.

17.1.0

03 Sep 23:12
965644b

Choose a tag to compare

Added

  • Add RPC methods described in (revised) EIP-7715 specification (#396)
    • wallet_requestExecutionPermissions
    • wallet_revokeExecutionPermission

17.0.1

27 May 14:27
d2578c5

Choose a tag to compare

Fixed

  • Bump @metamask/eth-block-tracker to 12.0.0 (#372)
    • getLatestBlock will no longer hang, but reject, if an error is thrown while making the request.
    • This error will also no longer be wrapped under "PollingBlockTracker - encountered an error while attempting to update latest block".

17.0.0

15 Apr 11:19
ccaa4c9

Choose a tag to compare

Changed

  • BREAKING: Support version 2.0.0 of EIP-5792 (#370)
    • Add atomicRequired property to SendCallsStruct.
    • Make from optional in SendCallsStruct.
    • Add atomic property to GetCallsStatusResult.
    • Validate address in GetCapabilitiesParams is added to wallet.
    • Use -32602 code for all EIP-5792 schema errors.

16.0.1

01 Apr 13:28
9d15930

Choose a tag to compare

Fixed

  • Fix fetch middleware so that non-standard JSON-RPC error responses are no longer treated as successful responses (#367)
    • A "non-standard" error response is one with an error field but where there are more properties in the error object than expected

16.0.0

13 Mar 13:32
3cc38eb

Choose a tag to compare

Added

  • Support updated EIP-5792 specification (#363)
    • Add optional id to SendCallsParams.
    • Add optional capabilities to each call in SendCallsParams.
    • Add optional property to both top-level and call-level capabilities.
    • Add SendCallsResult type.
    • Add id, version, and optional capabilities to GetCallsStatusResult.
    • Add GetCallsStatusCode enum.
    • Add GetCallsStatusHook type.
    • Add optional chainIds argument to GetCapabilitiesParams.

Changed

  • BREAKING: Support updated EIP-5792 specification (#363)
    • Return SendCallsResult from wallet_sendCalls instead of string.
    • Change GetCallsStatusParams to contain Hex instead of string.
    • Change status in GetCallsStatusResult to number instead of string.
    • Replace GetTransactionReceiptsByBatchIdHook with GetCallsStatusHook.

Removed

  • BREAKING: Support updated EIP-5792 specification (#363)
    • Remove GetCallsStatusReceipt type.
    • Remove GetTransactionReceiptsByBatchIdHook type.

15.3.0

24 Feb 20:58
813a025

Choose a tag to compare

Added

  • Support EIP-5792 (#359)
    • Add support for RPC methods:
      • wallet_sendCalls
      • wallet_getCallsStatus
      • wallet_getCapabilities
    • Add optional hooks to WalletMiddlewareOptions:
      • getCapabilities
      • getTransactionReceiptsByBatchId
      • processSendCalls
    • Add types:
      • GetCallsStatusParams
      • GetCallsStatusReceipt
      • GetCallsStatusResult
      • GetCapabilitiesHook
      • GetCapabilitiesParams
      • GetCapabilitiesResult
      • GetTransactionReceiptsByBatchIdHook
      • ProcessSendCallsHook
      • SendCalls
      • SendCallsParams