Skip to content

Releases: MetaMask/snaps

0.22.1

08 Oct 02:27
a7db014
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snap-controllers

Fixed

  • Assert that multichain RPC methods are supported before usage (#814)

examples

Changed

  • No changes this release.

@metamask/execution-environments

Changed

  • No changes this release.

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/rollup-plugin-snaps

Changed

  • No changes this release.

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

@metamask/multichain-provider

Fixed

  • The provider now works properly with bundlers (#820)

@metamask/rpc-methods

Changed

  • No changes this release.

@metamask/snap-types

Changed

  • No changes this release.

@metamask/snap-utils

Fixed

  • Add browser entry point for snap-utils (#820)

0.22.0

04 Oct 12:27
fecc8ac
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snap-controllers

Added

  • Add Snap Keyring support (#700, #775, #777, #740)
    • Add endowment:keyring permission
    • Add MultiChainController

Changed

  • BREAKING: Renamed SnapController:getSnaps to SnapController:getPermittedSnaps #775

examples

Changed

  • No changes this release.

@metamask/execution-environments

Added

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/rollup-plugin-snaps

Changed

  • No changes this release.

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

@metamask/multichain-provider

Added

  • Initial release (#700)

@metamask/rpc-methods

Added

  • Add snap_dialog method and deprecate snap_confirm (#799)

@metamask/snap-types

Added

  • Added SnapKeyring types (#728)

@metamask/snap-utils

Added

  • Add functionality required for Snap Keyring support (#700, #777)

0.21.0

20 Sep 12:46
e34b369
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snap-controllers

Changed

  • BREAKING: Add changes to support blocking snaps by shasum (#767)
  • BREAKING: Rework snap install logic (#754)
  • Stop including installing snaps in wallet_getSnaps (#765)

Fixed

  • Process snap permissions before snap update (#753)
  • Only pause running timers (#725)

examples

Added

  • Run eval and fix manifest in bundler plugins (#731)

@metamask/execution-environments

Removed

  • BREAKING: Remove origin parameter from transaction insight payload (#730)

@metamask/snaps-browserify-plugin

Added

  • Run eval and fix manifest in bundler plugins (#731)

@metamask/rollup-plugin-snaps

Added

  • Run eval and fix manifest in bundler plugins (#731)

@metamask/snaps-webpack-plugin

Added

  • Run eval and fix manifest in bundler plugins (#731)

@metamask/rpc-methods

Added

  • Add snap_getBip32PublicKey RPC method (#729)

Changed

  • Expose master fingerprints on BIP-32 and SLIP-10 nodes (#773)
    • Accomplished by bumping @metamask/key-tree to 5.0.2
  • Allow deriving child nodes with getBip32Entropy (#751)

Removed

  • BREAKING: Remove deprecated snap_getBip44Entropy_* method (#717)

Fixed

  • Fix race condition in wallet_getSnaps (#756)
  • Fix fingerprint derivation on BIP-32 and SLIP-10 nodes (#773)
    • Accomplished by bumping @metamask/key-tree to 5.0.2

@metamask/snap-types

Removed

  • BREAKING: Remove origin parameter from transaction insight payload (#730)

Fixed

  • Fix missing dependencies (#718)

@metamask/snap-utils

Changed

  • Run eval and fix manifest in bundler plugins (#731)

0.20.0

25 Aug 08:39
3d07a7f
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snap-controllers

Added

  • BREAKING: Add Transaction Insight API (#642)
    • This feature required changes to the RPC request handling functionality, hence the breaking change
  • Register missing actions (#659)
    • All APIs accessed outside the SnapController are now registered as actions in the messaging system

Changed

  • BREAKING: Simplify manifest format for permission caveats (#705)
  • Reduce TypeScript compilation target for snap-controllers (#708)
  • Move all internal types from @metamask/snap-types to @metamask/snap-utils (#695)

Removed

  • BREAKING: Removed ExternalResourceController (#701)

examples

Changed

  • No changes this release.

@metamask/execution-environments

Added

  • BREAKING: Add Transaction Insight API (#642)
    • Part of this change made changes to the execution environments to support multiple request handlers
    • It also changed the exports of @metamask/execution-environments

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/rollup-plugin-snaps

Changed

  • No changes this release.

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

@metamask/rpc-methods

Added

  • BREAKING: Add Transaction Insight API (#642)
  • Add snap_getBip44Entropy RPC method and deprecate snap_getBip44Entropy_* (#690)

Changed

  • BREAKING: Simplify manifest format for permission caveats (#705)

@metamask/snap-types

Added

  • BREAKING: Add Transaction Insight API (#642)

Removed

  • BREAKING: Move all internal types from @metamask/snap-types to @metamask/snap-utils (#695)
    • Previously accessible types can now be accessed by importing @metamask/snap-utils

@metamask/snap-utils

Added

  • BREAKING: Add Transaction Insight API (#642)
  • Add internal types from @metamask/snap-types (#695)

Changed

  • BREAKING: Simplify manifest format for permission caveats (#705)
  • Reduce TypeScript compilation target for snap-controllers (#708)

0.19.1

19 Aug 16:40
73c2193
Compare
Choose a tag to compare

@metamask/snaps-cli

Fixed

  • Fixed 0.19.0 not being able to run (#697)

@metamask/snap-controllers

Changed

  • No changes this release.

examples

Added

  • Generate source maps from modified code (#615)

@metamask/execution-environments

Changed

  • No changes this release.

@metamask/snaps-browserify-plugin

Added

  • Generate source maps from modified code (#615)

@metamask/rollup-plugin-snaps

Added

  • Generate source maps from modified code (#615)

@metamask/snaps-webpack-plugin

Added

  • Generate source maps from modified code (#615)

@metamask/rpc-methods

Changed

  • No changes this release.

@metamask/snap-types

Changed

  • No changes this release.

@metamask/snap-utils

Added

  • Generate source maps from modified code (#615)

0.19.0

17 Aug 11:11
0e22a6b
Compare
Choose a tag to compare

@metamask/snaps-cli

Added

  • Add 'Access-Control-Allow-Origin': * to serve (#638)

Changed

  • BREAKING: Replace RegEx-based bundle processing and comment stripping with an AST-based solution (#583)

@metamask/snap-controllers

Fixed

  • Fixed update snap approval missing metadata (#673)
  • Fixed executors sending malformed JSON-RPC notifications (#639)

examples

Changed

  • No changes this release.

@metamask/execution-environments

Fixed

  • Fixed network teardown so that snaps can't be escape by late returning promises (#661)

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/rollup-plugin-snaps

Changed

  • No changes this release.

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

@metamask/rpc-methods

Added

  • BREAKING: Add snap_getBip32Entropy method (#683)
  • Add new validation and limit for storage (#621)

@metamask/snap-types

Changed

  • No changes this release.

@metamask/snap-utils

Changed

  • Move eval functionality to utils package (#666)
  • Move manifest handling functionality to utils (#652)
  • Move JSON schemas and controller utils to utils package (#623)

Fixed

  • Fixed missing AbortSignal in default endowments (#682)

0.18.1

18 Jul 11:47
f83cb88
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snap-controllers

Changed

  • No changes this release.

examples

Changed

  • No changes this release.

@metamask/execution-environments

Fixed

  • Fix error serialization issues (#637)

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/rollup-plugin-snaps

Changed

  • No changes this release.

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

@metamask/rpc-methods

Changed

  • No changes this release.

@metamask/snap-types

Changed

  • No changes this release.

@metamask/snap-utils

Changed

  • No changes this release.

0.18.0

14 Jul 15:11
2bca8b5
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • Reduce TypeScript compilation target to ES2017 (#628)
  • Update template files (#632)

@metamask/snap-controllers

Changed

  • Reduce TypeScript compilation target to ES2017 (#628)
  • BREAKING: Add browser entrypoint for execution services (#629)
    • Node.js execution services are now omitted in browser environments

examples

Changed

  • Reduce TypeScript compilation target to ES2017 (#628)

@metamask/execution-environments

Changed

  • Reduce TypeScript compilation target to ES2017 (#628)

Fixed

  • Fix crypto and SubtleCrypto endowments (#631)

@metamask/snaps-browserify-plugin

Changed

  • Reduce TypeScript compilation target to ES2017 (#628)

@metamask/rollup-plugin-snaps

Changed

  • Reduce TypeScript compilation target to ES2017 (#628)

@metamask/snaps-webpack-plugin

Changed

  • Reduce TypeScript compilation target to ES2017 (#628)

@metamask/rpc-methods

Changed

  • Reduce TypeScript compilation target to ES2017 (#628)

@metamask/snap-types

Changed

  • Reduce TypeScript compilation target to ES2017 (#628)

@metamask/snap-utils

Changed

  • Reduce TypeScript compilation target to ES2017 (#628)

0.17.0

13 Jul 16:14
503fc8e
Compare
Choose a tag to compare

@metamask/snaps-cli

Added

  • Add a TypeScript template for mm-snap init (#546)
  • Add serving to mm-snap watch (#507)

Changed

  • BREAKING: Bump minimum Node version to 16 (#601)

Fixed

  • Fix segfault when using mm-snap watch (#556)

@metamask/snap-controllers

Added

  • Add snap blocklist functionality (#597)
  • Add Node.js worker_threads execution environment (#587)
  • Add Node.js child_process execution environment (#523)
  • Added network endowment teardown (#514)

Changed

  • BREAKING: Bump minimum Node version to 16 (#601)
  • BREAKING: Remove ExecutionService actions from constructor arguments (#486)
  • BREAKING: Emit appropriate snap objects for SnapController events (#608)
  • BREAKING: Replace getRpcMessageHandler action with handleRpcRequest (#497, #557)
  • Monitor outbound snap requests to pause request timeout (#593)
  • Change Update Snap requestData (#614)

Removed

  • Remove WebWorker implementation (#591)

examples

Changed

  • BREAKING: Bump minimum Node version to 16 (#601)

@metamask/execution-environments

Added

  • Add Node.js child_process execution environment (#523)
  • Add Node.js worker_threads execution environment (#587)
  • Added network endowment teardown (#514)

Changed

  • BREAKING: Bump minimum Node version to 16 (#601)
  • Monitor outbound snap requests to pause request timeout (#593)

Removed

  • Remove WebWorker implementation (#591)

@metamask/snaps-browserify-plugin

Changed

  • BREAKING: Bump minimum Node version to 16 (#601)

@metamask/rollup-plugin-snaps

Changed

  • BREAKING: Bump minimum Node version to 16 (#601)

@metamask/snaps-webpack-plugin

Changed

  • BREAKING: Bump minimum Node version to 16 (#601)

@metamask/rpc-methods

Changed

  • BREAKING: Bump minimum Node version to 16 (#601)
  • BREAKING: Replace getRpcMessageHandler action with handleRpcRequest (#497, #557)

@metamask/snap-types

Changed

  • BREAKING: Bump minimum Node version to 16 (#601)

Removed

  • Remove ErrorMessageEvent and ExecutionServiceMessenger types (#486)
    • These types are now available via @metamask/snap-controllers

@metamask/snap-utils

Changed

  • BREAKING: Bump minimum Node version to 16 (#601)

0.16.0

14 Jun 22:10
e9dbe49
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • BREAKING: Snaps are now required to export onRpcRequest to receive RPC requests (#481, #533, #538, #541, #544)
    • The type of the function is available in @metamask/snap-types as OnRpcRequestHandler.

Fixed

  • Fix importing local files in TypeScript Snaps (#527)
  • Fix build command when the CLI is installed globally (#542)

@metamask/snap-controllers

Added

  • BREAKING: Encrypt Snap state by default (#369)
    • Breaks existing installed snaps that use snap_manageState. All such Snaps must be reinstalled.

Changed

  • BREAKING: Snaps are now required to export onRpcRequest to receive RPC requests (#481, #533, #538)
    • The type of the function is available in @metamask/snap-types as OnRpcRequestHandler.
  • Snaps can no longer run timers outside of pending RPC requests (#490)

Fixed

  • Allow version matching with prerelease versions (#508)
  • Fix issue with iframe error reporting (#501)
  • Fix an issue with file paths with leading ./ in npm snap manifests (#537)

examples

Added

  • Add Browserify Snap example (#478)
  • Add CLI as dependency to examples (#528)

Changed

  • BREAKING: Update examples to use CommonJS exported onRpcRequest and named parameters (#481, #533, #538, #541)
  • Update TypeScript example to use OnRpcRequestHandler (#531, #533, #538)
  • Update TypeScript example to use multiple files (#527)

@metamask/execution-environments

Changed

  • BREAKING: Snaps are now required to export onRpcRequest to receive RPC requests (#481, #533, #538, #541)
  • Snaps can no longer run timers outside of pending RPC requests (#490)

Removed

  • BREAKING: Remove wallet.registerRpcMessageHandler support #481

Fixed

  • Fix issue with iframe error reporting (#501)

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/rollup-plugin-snaps

Changed

  • No changes this release.

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

@metamask/rpc-methods

Changed

  • No changes this release.

@metamask/snap-types

Added

Changed

  • BREAKING: Change SnapRpcHandler type to reflect new function signature (#534, #533, #481)

Removed

  • BREAKING: Remove wallet.registerRpcMessageHandler #481

@metamask/snap-utils

Changed

  • No changes this release.