Skip to content

Releases: MetaMask/providers

22.1.1

09 Sep 13:08
4ac0b3e

Choose a tag to compare

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.

22.1.0

28 Apr 20:15
5b3055f

Choose a tag to compare

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)

22.0.1

22 Apr 21:12
981fa83

Choose a tag to compare

Fixed

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

22.0.0

17 Apr 20:24
f0ca94b

Choose a tag to compare

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)

21.0.0

20 Mar 21:22
feeff05

Choose a tag to compare

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.

20.0.0

03 Feb 22:25
e19bdf5

Choose a tag to compare

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)

19.0.0

23 Jan 18:05
11acfb0

Choose a tag to compare

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

18.3.1

19 Dec 13:56
5b1241d

Choose a tag to compare

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)

18.3.0

16 Dec 19:04
3678037

Choose a tag to compare

Added

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

18.2.0

27 Nov 20:42
157d24f

Choose a tag to compare

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.