All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add prototype pollution validation for
signTypedDatamethods (V1, V3, V4) to block dangerous properties (__proto__,constructor,prototype, etc.) in message data. (#7732)
- Bump
@metamask/eth-block-trackerfrom^15.0.0to^15.0.1(#7642) - Bump
@metamask/json-rpc-enginefrom^10.2.0to^10.2.1(#7642)
- Support for
wallet_getSupportedExecutionPermissionsandwallet_getGrantedExecutionPermissionsRPC methods (#7603)
- Upgrade
@metamask/utilsfrom^11.8.1to^11.9.0(#7511) - BREAKING: Changed
wallet_requestExecutionPermissionsto comply with 7715 spec revisions.
- Include
WalletContextin EIP-7715 requests (#7331)
- Add new function
providerAsMiddlewareV2for converting anInternalProviderinto aJsonRpcEnginev2-compatible middleware (#7138)
- BREAKING: Migrate all middleware from
JsonRpcEnginetoJsonRpcEngineV2(#7065)- To continue using this package with the legacy
JsonRpcEngine, use theasLegacyMiddlewarebackwards compatibility function.
- To continue using this package with the legacy
- BREAKING: Change the signatures of hooks for
createWalletMiddleware(#7065)- To wit:
getAccountstakes an origin argument (string) instead of aJsonRpcRequestprocessDecryptMessageandprocessEncryptionPublicKeytake aMessageRequestfrom@metamask/message-managerinstead ofJsonRpcRequestprocessPersonalMessage,processTransaction,processSignTransaction,processTypedMessage,processTypedMessageV3andprocessTypedMessageV4take acontextas the third argument, before any other arguments
- Be advised that request objects are now deeply frozen, and cannot be mutated.
- To wit:
- BREAKING: Use
InternalProviderinstead ofSafeEventEmitterProvider(#6796)- Wherever a
SafeEventEmitterProviderwas expected, anInternalProvideris now expected instead.
- Wherever a
- BREAKING: Stop retrying
undefinedresults for methods that include a block tag parameter (#7001)- The
retryOnEmptymiddleware will now throw an error if it encounters anundefinedresult when dispatching a request with a later block number than the originally requested block number. - In practice, this should happen rarely if ever.
- The
- BREAKING: Migrate all uses of
interfacetotype(#6885) - Bump
@metamask/message-managerfrom^14.0.0to^14.1.0(#7202) - Bump
@metamask/json-rpc-enginefrom^10.1.1to^10.2.0(#7202) - Bump
@metamask/eth-json-rpc-providerfrom^5.0.1to^6.0.0(#7202) - Bump
@metamask/eth-block-trackerfrom^14.0.0to^15.0.0(#7202)
- BREAKING: Increase minimum Node.js version from
^18.16to^18.18(#6866) - Bump
@metamask/eth-block-trackerfrom^12.2.1to^14.0.0(#6866, #6883) - Bump
@metamask/network-controllerfrom^24.2.2to^24.3.0(#6883) - This package was migrated from
MetaMask/eth-json-rpc-middlewareto theMetaMask/coremonorepo.- See
MetaMask/eth-json-rpc-middlewarefor the original changelog.
- See