Skip to content

Update dependency @metamask/providers to v22#61

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/metamask-providers-22.x
Open

Update dependency @metamask/providers to v22#61
renovate[bot] wants to merge 1 commit intomainfrom
renovate/metamask-providers-22.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 4, 2026

This PR contains the following updates:

Package Change Age Confidence
@metamask/providers 8.1.122.1.1 age confidence

Release Notes

MetaMask/providers (@​metamask/providers)

v22.1.1

Compare Source

Changed
  • Update StreamProvider.initialize to call metamask_getProviderState with isInitializingStreamProvider: true (#​422)
    • In implementing metamask_getProviderState, the extension makes a request for the network version; this parameter allows us to opt-out of that extra request on UI initialization.

v22.1.0

Compare Source

Changed
  • Adds a new shouldAnnounceCaip294 flag to initializeProvider options (defaulted to true), so instead of the providerInfo.rdns value determining whether or not to announce the caip-294 target, the caller of initializeProvider can directly control this (#​419)

v22.0.1

Compare Source

Fixed
  • Catch error when ethereum provider is set before we attempt to set it (#​416)

v22.0.0

Compare Source

Changed
  • BREAKING: initializeProvider announces the extensionId, when available, via a caip-348 target on in the new targets property of the CAIP-294 wallet announcement event instead of the previous extensionId property (#​413)

v21.0.0

Compare Source

Changed
  • BREAKING: initializeProvider() no longer accepts the jsonRpcStreamName option param. (#​410)
    • This helper no longers instantiates a jsonRpcStreamName named substream from the connectionStream Duplex stream option param.
    • Callers of initializeProvider() should now instantiate their own metamask-provider named substream and pass it in as the value for connectionStream.

v20.0.0

Compare Source

Changed
  • BREAKING: An isConnected boolean property is now expected in the result of metamask_getProviderState and metamask_chainChanged events (#​404)
  • BREAKING: A networkVersion value of loading received by the chainChanged event handler is now interpreted to be null. In this case, the networkChanged event emits a null value as well. (#​404)
  • BREAKING: The disconnect event is now tied to the new isConnected property instead of the networkVersion property. (#​404)
  • A change in the isUnlocked boolean property of the metamask_getProviderState and metamask_accountsChanged events (from what is in state) no longer causes the accountsChanged event to be emitted (#​405)
  • MetaMaskInpageProvider.isUnlocked() will always return true until the inpage to contentscript stream ends and the provider enters a permanently disconnected state (#​405)

v19.0.0

Compare Source

Changed
  • BREAKING: StreamProvider no longer accepts a jsonRpcStreamName parameter (#​400)
    • Previously, this parameter was used internally to create an ObjectMultiplex stream and substream for JSON-RPC communication
    • Now, the consumer is responsible for creating and managing the stream multiplexing if needed
    • The provider will use the provided stream connection directly without any multiplexing
  • BREAKING: MetaMaskInpageProvider no longer accepts a jsonRpcStreamName parameter (#​400)
    • This change is inherited from StreamProvider, as MetaMaskInpageProvider extends StreamProvider
    • Stream multiplexing should be handled before provider instantiation
  • initializeInpageProvider now handles stream multiplexing internally (#​400)
    • Creates an ObjectMultiplex instance and substream using the provided jsonRpcStreamName
    • This maintains backwards compatibility for consumers using initializeInpageProvider
  • createExternalExtensionProvider now handles stream multiplexing internally (#​400)
    • Creates an ObjectMultiplex instance and substream for JSON-RPC communication
    • This maintains backwards compatibility for consumers using createExternalExtensionProvider

v18.3.1

Compare Source

Changed
  • Bump @metamask/json-rpc-engine from ^10.0.1 to ^10.0.2 (#​397)
  • Bump @metamask/json-rpc-middleware-stream from ^8.0.5 to ^8.0.6 (#​397)
  • Bump @metamask/rpc-errors from ^7.0.1 to ^7.0.2 (#​397)
  • Bump @metamask/utils from ^10.0.0 to ^11.0.1 (#​397)

v18.3.0

Compare Source

Added
  • Implement Wallet Discovery via CAIP-294 for Wallet Multichain API (#​395)

v18.2.0

Compare Source

Added
  • Add new export for initializeInpageProvider with legacy build system support (#​391)
    • Previously this module could be imported from /dist/initializeInpageProvider, but this only worked with build systems that support the exports field (e.g. browserify).
    • This new initializeInpageProvider export has a JavaScript redirect for older build systems, so it should work correctly in all cases.

v18.1.2

Compare Source

Fixed
  • Allow optional jsonRpcStreamName for initializeInpageProvider (#​390)
    • This parameter was accidentally made required in v18.1.0

v18.1.1

Compare Source

Changed

v18.1.0

Compare Source

Added
  • Add intializeInpageProvider as package export (#​380)
Fixed
  • Remove spurious typescript reference (#​381)

v18.0.0

Compare Source

Changed

v17.2.1

Compare Source

Fixed

v17.2.0

Compare Source

Changed
Removed
  • Remove deprecation console warnings when accessing window.ethereum.chainId, window.ethereum.networkVersion, and window.ethereum.selectedAddress (#​360)

v17.1.2

Compare Source

Added
  • Add @metamask/providers/stream-provider export (#​351)
    • This replaces the @metamask/providers/dist/StreamProvider export. It still exists for backwards compatibility, but will be removed in a future major release.
Changed
  • Bump @metamask/utils from 9.0.0 to 9.1.0 (#​348)

v17.1.1

Compare Source

Changed
  • Bump @metamask/json-rpc-engine to ^9.0.1 (#​345)
  • Bump @metamask/json-rpc-middleware-stream to ^8.0.1 (#​345)
  • Bump @metamask/rpc-errors to ^6.3.1 (#​345)
  • Bump @metamask/superstruct to ^3.1.0 (#​338)
  • Bump @metamask/utils to ^9.0.0 (#​345)
Fixed
  • Bump devDependency @ts-bridge/cli to ^0.2.0 (#​343)
    • Fixes incorrect handling of json file imports, where an extension was appended to the file name after compilation (e.g. *.json.cjs or *.json.mjs).

v17.1.0

Compare Source

Changed
  • Bump @metamask/json-rpc-middleware-stream from ^7.0.1 to ^8.0.0 (#​327)
  • Bump @metamask/json-rpc-engine from ^8.0.2 to ^9.0.0 (#​328)
  • Bump extension-port-stream from ^3.0.0 to ^4.1.0 (#​331)
  • Bump @metamask/utils from ^8.4.0 to ^8.5.0 (#​329)
  • Bump @metamask/rpc-errors from ^6.2.1 to ^6.3.0 (#​326)
Fixed
  • Produce and export ESM-compatible TypeScript type declaration files in addition to CommonJS-compatible declaration files (#​336)
    • This fixes the issue of this package being unusable by any TypeScript project that uses Node16 or NodeNext as its moduleResolution option.
    • Previously, this package shipped with only one variant of type declaration files, and these files were only CommonJS-compatible, and the exports field in package.json linked to these files. This is an anti-pattern and was rightfully flagged by the "Are the Types Wrong?" tool as "masquerading as CJS".
  • Remove chunk files (#​336).
    • Previously, the build tool we used to generate JavaScript files extracted common code to "chunk" files. While this was intended to make this package more tree-shakeable, it also made debugging more difficult for our development teams. These chunk files are no longer present.
  • Use named extension-port-stream import to ensure compatibility with bundlers such as Vite (#​331)

v17.0.0

Compare Source

Changed
  • Change provider RPC error log severity from error to warn (#​323)
Fixed
  • BREAKING: Change webextension-polyfill from dependency to peerDependency (#​319)
    • Users are now expected to have the polyfill in their environment

v16.1.0

Compare Source

Added

v16.0.0

Compare Source

Removed
  • BREAKING: Remove deprecated properties, networkChanged event, and offline send() net_version support (#​306)
    • window.ethereum.chainId has been removed. Use the 'eth_chainId' RPC method instead.
    • window.ethereum.networkVersion has been removed. Use the 'net_version' RPC method instead.
    • window.ethereum.selectedAddress has been removed. Use the 'eth_accounts' RPC method instead.
    • networkChanged event has been removed. The closest equivalent is the chainChanged event.
    • window.ethereum.send() no longer resolves net_version offline (from cache).

v15.0.0

Compare Source

Added
  • BREAKING: Add ESM build (#​296)
    • It's no longer possible to import files from the dist folder directly, with the exception of ./dist/StreamProvider
Changed
  • Bump several MetaMask dependencies (#​304)
  • Export RequestArguments and ConsoleLike types (#​302)

v14.0.2

Compare Source

Fixed
  • Don't send null params to underlying provider (#​292)

v14.0.1

Compare Source

Fixed
  • Don't send undefined params to underlying provider (#​290)

v14.0.0

Compare Source

Changed
  • BREAKING: Update to streams3 API (#​288)
    • Update extension-port-stream from ^2.1.1 to ^3.0.0
      • Force subdependency readable-stream to ^3.6.2 in resolutions
    • Update json-rpc-middleware-stream from ^4.2.3 to ^5.0.1
    • Update @metamask/object-multiplex from ^1.3.0 to ^2.0.0
    • Add direct dependency on readable-stream@^3.6.2
    • Replace internal usage of stream with readable-stream

v13.1.0

Compare Source

Added
  • Add support for EIP-6963 (#​263)
    • initializeProvider() params object now accepts an optional providerInfo property with a value of EIP6963ProviderInfo object
    • Add eip6963AnnounceProvider() which supports a wallet by announcing a provider through the eip6963:announceProvider event and re-announcing the provider whenever an eip6963:requestProvider event is received
    • Add eip6963RequestProvider() which supports a dapp by dispatching an eip6963:requestProvider event and invoking a callback for each eip6963:announceProvider event received
    • Add EIP6963AnnounceProviderEvent type
    • Add EIP6963ProviderDetail type
    • Add EIP6963ProviderInfo type
    • Add EIP6963RequestProviderEvent type

v13.0.0

Compare Source

Changed
  • BREAKING: Update chainId, networkVersion, and selectedAddress to be read-only (#​280)
  • Log deprecation warning when accessing chainId, networkVersion, and selectedAddress (#​280)
  • Remove pump (#​281)

v12.0.0

Compare Source

Changed
  • BREAKING: Replace eth-rpc-errors@^4.0.2 with @metamask/rpc-errors@6.0.0 (#​277)
  • BREAKING: Replace json-rpc-engine@^6.1.0 with @metamask/json-rpc-engine@7.1.1 (#​277)
  • Upgrade @metamask/utils from ^6.2.0 to ^8.1.0 (#​277)

v11.1.2

Compare Source

Changed
  • Update extension-port-stream to ^2.1.1 (#​273)

v11.1.1

Compare Source

Changed

v11.1.0

Compare Source

Added
  • Add warning for callers of wallet_watchAsset with ERC721 and ERC1155 token types, that support is currently considered experimental (#​264)

v11.0.0

Compare Source

Changed
Fixed
  • Fix console warning about deprecated webextension-polyfill-ts (#​249)
  • Prevent accountsChanged + eth_accounts callback loop (#​248)
    • If you listen to the provider accountsChanged event, modify the returned accounts, then call eth_accounts, it was possible to enter an infinite loop. This was caused by the provider mistakenly thinking the accounts had changed because of the mutation performed in the event listener, triggering redundant accountsChanged events. This was fixed; there should be no more redundant accountsChanged events and no infinite loop.

v10.2.1

Compare Source

Changed
  • Update json-rpc-middleware-stream (#​234)

v10.2.0

Compare Source

Changed
  • Update json-rpc-middleware-stream (#​230)

v10.1.0

Compare Source

Changed
  • Update json-rpc-middleware-stream (#​228)

v10.0.0

Compare Source

Changed
  • Retry sending messages to extension when METAMASK_EXTENSION_STREAM_CONNECT is received (#​223)
  • BREAKING: Update minimum Node.js version to v14 (#​225)

v9.1.0

Compare Source

Added
  • Add deprecation warning for encryption methods (#​218)

v9.0.0

Compare Source

Changed
  • BREAKING: StreamProvider no longer accepts a jsonRpcStreamName parameter (#​400)
    • Previously, this parameter was used internally to create an ObjectMultiplex stream and substream for JSON-RPC communication
    • Now, the consumer is responsible for creating and managing the stream multiplexing if needed
    • The provider will use the provided stream connection directly without any multiplexing
  • BREAKING: MetaMaskInpageProvider no longer accepts a jsonRpcStreamName parameter (#​400)
    • This change is inherited from StreamProvider, as MetaMaskInpageProvider extends StreamProvider
    • Stream multiplexing should be handled before provider instantiation
  • initializeInpageProvider now handles stream multiplexing internally (#​400)
    • Creates an ObjectMultiplex instance and substream using the provided jsonRpcStreamName
    • This maintains backwards compatibility for consumers using initializeInpageProvider
  • createExternalExtensionProvider now handles stream multiplexing internally (#​400)
    • Creates an ObjectMultiplex instance and substream for JSON-RPC communication
    • This maintains backwards compatibility for consumers using createExternalExtensionProvider

Configuration

📅 Schedule: (in timezone America/Buenos_Aires)

  • Branch creation
    • "every weekend"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies label Apr 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants