Welcome to the first ever MetaMask Monthly update newsletter! We’ve wanted to do this for a long time, and have finally scaled up our team up to the point where we can more comfortably communicate while continuing to deliver the product that you know and love.

In this monthly newsletter we’re going to try to keep you abreast of our latest features, side projects, and even a few bonus things we’re excited to share. We hope this will help our community gain better insight into our continual efforts to improve the ecosystem, and maybe even get a better sense of how to participate. Enjoy!

General Announcements

In the past couple weeks we’ve received several reports of a common new phishing strategy: compromised sites, most hosted on Cloudflare, are imitating the MetaMask UI to ask for a seed phrase. To help keep our users safe, we’re pushing a one-time notice that describes what to look out for. Remember, MetaMask will never spontaneously ask for your seed phrase. (#4566)

We’re preparing to make a breaking change that has implications for all dapp integrations. Right now, when a user switches networks, MetaMask forces a page reload for any app that has interacted with the web3 API. Dapps have come a long way, and this hand-holding is no longer necessary. We’ll soon suggest all dapps poll to monitor their users’ network status and update as they see fit. You can read more about this change here.

Development — What’s New?

Extension v4.8.0 is out, with some awesome fixes to improve usability and more steady progress towards our new UI.

  • Some users have reported issues with their extension storage, where account nicknames are forgotten or transaction history clears spontaneously. This was traced to an issue in a background persistence process that stopped writing successfully after prolonged use. 4.8.0 contains a patch and we hope to see storage issues decrease significantly. (#4570)
  • To fix an issue where some transactions get stuck in an “approved” state without being submitted to the blockchain, we’ve updated our nonce error handling. (#4557)
  • Our internationalization implementation was incompatible with Brave’s i18n support, throwing errors that could prevent the extension from loading. These errors are now handled more gracefully, so Brave users who were seeing a blank MetaMask should have that fixed soon. (#4524)

We’re still hard at work on the Beta UI! To give it a try, click the menu in the top-right and select “Try Beta.”

In the past couple weeks, we’ve shipped several patches that bring it closer to full feature parity with the standard UI in a much smoother interface:

  • Updates to unlock screen, account UI & custom token views (#4190, #4507, #4445, #4591)
  • Cosmetic fixes, including account import, handling extra long token names, updating alert modals. (#4418, #4423, #4428)

Other bug fixes include:

  • Fix account reset for custom RPC providers (#4523)
  • Prevent sending to Ganache default accounts on Mainnet (#4288)
  • Prevent memory leak on importing empty private key (#4513)
  • Fix gas adjustment (#4513)

Inside the Den — What’s next?

GABA

We’ve begun a re-implementation of our controller layer as a standalone package. This modular approach will separate UI development from backend changes and allow each to iterate quickly and independently. The new controller engine, codenamed “GABA”, can also serve as a MetaMask-agnostic resource for developers to compose their own data models & signing interfaces. Read more here. (#4991)

Labs / Mustekala

MetaMask Labs is hard at work laying the foundation for a browser-based Ethereum light client, which aims to help reduce the ecosystem’s reliance on JSON/RPC and make on-chain data available to a peer network. This month our team is developing a block explorer proof of concept. Try it out by running a simple block explorer in your localhost, connect to kitsunet (the network of the fox), and obtain a synchronized part of the ethereum data from nodes all over the mesh.

To learn more about this project take a peek at the architecture description and stay tuned for more updates next month!

Meet our new teammates!

MetaMask has been experiencing exciting growth this year to date. In the past month we’ve added five new team members who are taking MetaMask to new heights!

Paul Bouchon is a self described JavaScript nerd who’s been taking care of the Dojo web framework for the past decade. He loves contributing to open source software, and has already gotten EIP 1102 finalized, and begun converting portions of MetaMask to TypeScript, to add higher guarantees that we don’t break functionality!

Jenny Pollack formerly worked on the OAuth2.0 implementation with the Exchange Core Auth team at Microsoft. She’s bringing that experience to MetaMask, combined with a passion for UBI, to help us make the decentralized dream as easy as the old web.

William Morriss joins us from Snap, Inc. where he worked on Memories and messaging. He’ll be focusing on mobile development at MetaMask and happens to be a master boardgame player.

Bobby Dresser previously helped the uPort team refine their development process, and is now helping MetaMask do the same. With his help, we’ve cut our number of high-priority issues in half, doubling our focus on the things that matter most to our users.

Bruno Barbieri first caught our attention by submitting a pull request to MetaMask! The speed he did it with, along with the test-driven development he used, let us know he had some skills. Before his first day on the job, he had a working proof of concept that completely blew us away, and we’ll hopefully share it soon…

Dmitry Ryajov has spent the past year and a half working on the IPFS project. He’ll be joining Herman Junge on the MetaMask Labs JavaScript light-client effort, “Mustekala”. There are few people on the planet as qualified for that project.

We’re not done hiring yet! We’re looking for a Senior Security Engineer to join our team, to help address the ongoing attacks against our users, as well as optimize our general product security. If you’re interested, reach out to communications@metamask.io.

MetaMask by the numbers

In the past month…

✅ 99 pull requests merged

💫 434 commits

🛠 20,146 lines of code added

💥 25,253 lines of code deleted

Thanks to Sara Reynolds for her help with this article.