Skip to content

Releases: MetaMask/eth-json-rpc-middleware

10.0.0

02 Feb 13:06
6ee50c7
Compare
Choose a tag to compare

Changed

  • BREAKING: Rename the package from eth-json-rpc-middleware to @metamask/eth-json-rpc-middleware (#180)
  • Change all middleware request and response types to unknown (#183)
    • This more accurately reflects the expectations of the middleware, and the way they had been used. This was required to more easily compose this middleware with others that had non-matching types.
  • The block cache and the inflight cache middleware types have been updated to include the skipCache request property (#178)
    • This property was always supported, but it was missing from the type.

9.0.1

05 Oct 17:12
c4d0bf8
Compare
Choose a tag to compare

Changed

  • Update @metamask/eth-sig-util from v3 to v5 (#133, #150)
  • Remove unused dependencies (#133)

Fixed

  • Fix block-ref middleware, and prevent it from making a duplicate request (#151)
  • Fix retryOnEmpty middleware and prevent it from making duplicate requests (#147)

9.0.0

22 Aug 22:46
41c54f9
Compare
Choose a tag to compare

Added

  • Add logging (#140)
    • You will not be able to see log messages by default, but you can turn them on for this library by setting the DEBUG environment variable to metamask:eth-json-rpc-middleware:* or metamask:*.

Changed

  • BREAKING: Require Node >= 14 (#137)

8.1.0

29 Apr 21:14
25a7c4b
Compare
Choose a tag to compare

Added

  • Expose SafeEventEmitterProvider type (#127)

Fixed

  • Move eth-block-tracker from devDependencies to dependencies (#125)
    • We depend upon this package only for types.

8.0.2

27 Apr 18:02
fa67ae6
Compare
Choose a tag to compare

Added

  • Added suppressUnauthorized param to getAccounts (#116)

Security

  • Bump node-fetch to resolve vulnerability (#115)

8.0.1

07 Dec 17:34
eb649a8
Compare
Choose a tag to compare

Fixed

  • Restore support for query strings in fetch middleware (#109)
    • As of v7.0.0, query strings were silently dropped from RPC URLs passed in. Now they are preserved, as was the case in v6.0.0.

8.0.0

05 Nov 18:22
09290a7
Compare
Choose a tag to compare

Added

  • BREAKING: Add eth_signTransaction support (#96)
    • We consider this breaking because a wallet application may not support this method, and would have to explicitly block it until its implications can be adequately represented to the user.
  • Add send method to provider and ethersProviderAsMiddleware (#97)

7.0.1

26 Mar 21:51
3a89299
Compare
Choose a tag to compare

Fixed

  • blockTrackerInspectorMiddleware (#88)
    • Due to an error introduced in #68, this middleware would sometimes hang indefinitely.

7.0.0

26 Mar 00:39
4bf56fc
Compare
Choose a tag to compare

Added

  • TypeScript types (#68)

Changed

  • (BREAKING) Move middleware files to /src folder (#60)
  • (BREAKING) Convert all exports to named (#81)
  • Migrate to TypeScript (#68)
  • Replace url dependency with native URL global (#67)
  • Ask bundlers to ignore Node-specific depedencies in browser environments (#78, #84)
  • Removed various unused production dependencies (#10, #80)

Fixed

  • retryOnEmpty middleware error messages (#58)
    • They were referencing a different middleware.
  • Default unrecognized methods to never be cached (#66)
  • Only publish necessary files (#70)
  • Robustify providerFromEngine callback parameter validation (#76)
    • Previously, it only errored if the parameter was falsy. Now, it will error if it is not a function.
    • Passing the previous implementation a truthy, non-function value would cause fatal downstream errors.
  • Prevent caching unrecognized requests (#75)
    • Previously, nonsense values were sometimes cached, resulting in an ugly state and possibly a minor performance penalty.

Removed

  • (BREAKING) Parity middleware (#63)
    • Previously imported as eth-json-rpc-middleware/wallet-parity.js
  • (BREAKING) Scaffold middleware (#60)
    • This was just a re-export from json-rpc-engine.

v6.0.0

23 Sep 00:45
0715b38
Compare
Choose a tag to compare
  • Breaking: Delete VM middleware (#56)
    • Previously available for import via eth-json-rpc-middleware/vm.js