Breaking Changes to the MetaMask Provider: It’s Happening

Erik Marks
MetaMask
Published in
2 min readAug 14, 2020

--

Note: These changes have shipped. Please see the latest blog post for more information.

In early 2021, MetaMask will stop injecting window.web3, and make a limited number of breaking changes to our Ethereum Provider API. Please use this GitHub issue if you have any questions.

You can find everything you need to know about the deprecations and why they’re happening in our Ethereum Provider documentation. When you’ve determined whether the changes affect you or not, please consult the migration guide to learn how to manage the changes.

Regardless of when you are reading this, you can already migrate to the new API. We recommend that you migrate as soon as possible, to avoid disruptions to your application when the breaking changes go live.

Summary of Changes

Although we highly recommend going straight to our documentation, here’s a summary of the breaking changes:

First, we are going to remove our injected window.web3. To understand why we are doing this, please see here and here.

Second, we are making a number of breaking changes to our window.ethereum API. Specifically, we will:

  • Stop 0-padding eth_chainId return values
  • Stop emitting chainIdChanged, and instead emit chainChanged
  • Remove ethereum.publicConfigStore
  • Remove the ethereum._metamask.isEnabled experimental method
  • Remove the ethereum._metamask.isApproved experimental method

If you don’t used any of the features scheduled for removal, you’re good to go! If you do use any of them, please refer to our migration guide.

Thank you for your patience, and for making the Ethereum ecosystem the amazing place that it is!

You can find the original announcement of these changes here.

--

--

Erik Marks
MetaMask

Developer at MetaMask. Lagom in all things.