Skip to content

Releases: MetaMask/snaps

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.

0.15.0

23 May 08:54
b29ffc4
Compare
Choose a tag to compare

@metamask/snaps-cli

Added

  • Add support for building TypeScript Snaps (#443)

Fixed

  • Fix an issue where comment stripping would break for large files (#468)

@metamask/snap-controllers

Fixed

  • Fix an issue with detecting iframe execution environment load (#464)

@metamask/snap-examples

Added

  • Add Rollup Snap example (#472)
  • Add Webpack Snap example (#462)
  • Add TypeScript Snap example (#443)

@metamask/execution-environments

Fixed

  • Added missing properties to WebAssembly global (#459)
  • Fix interval handle leak (#485)
  • Fix timer handle leak (#483)

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/rollup-plugin-snaps

Changed

  • No changes this release.

@metamask/snaps-webpack-plugin

Fixed

  • Fix some typing issues (#462)

@metamask/rpc-methods

Changed

  • No changes this release.

@metamask/snap-types

Added

  • Add type for wallet global (#443)

@metamask/snap-utils

Fixed

  • Fix an issue where comment stripping would break for large files (#468)

0.14.0

14 May 18:51
ec92d4d
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • BREAKING: Increase TypeScript compilation target to ES2020 (#449)
    • This should not be breaking for consumers on any non-deprecated browser or Node.js version.

@metamask/snap-controllers

Changed

  • BREAKING: Increase TypeScript compilation target to ES2020 (#449)
    • This should not be breaking for consumers on any non-deprecated browser or Node.js version.

@metamask/snap-examples

Changed

  • No changes this release.

@metamask/execution-environments

Changed

  • BREAKING: Increase TypeScript compilation target to ES2020 (#449)
    • This should not be breaking for consumers on any non-deprecated browser or Node.js version.

@metamask/snaps-browserify-plugin

Fixed

  • Actually publish package contents (#449)
    • Package contents were omitted from the previous version due to a build failure.

@metamask/rollup-plugin-snaps

Fixed

  • Actually publish package contents (#449)
    • Package contents were omitted from the previous version due to a build failure.

@metamask/snaps-webpack-plugin

Fixed

  • Actually publish package contents (#449)
    • Package contents were omitted from the previous version due to a build failure.

@metamask/rpc-methods

Changed

  • BREAKING: Increase TypeScript compilation target to ES2020 (#449)
    • This should not be breaking for consumers on any non-deprecated browser or Node.js version.

@metamask/snap-types

Changed

  • No changes this release.

@metamask/snap-utils

Changed

  • BREAKING: Increase TypeScript compilation target to ES2020 (#449)
    • This should not be breaking for consumers on any non-deprecated browser or Node.js version.

0.13.0

13 May 08:02
5b22ab9
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snap-controllers

Added

  • Add long-running endowment permission (#386)
  • Add network-access endowment from controllers (#439)

Changed

  • BREAKING: Rename SnapController constructor argument (#435)

@metamask/snap-examples

Changed

  • No changes this release.

@metamask/execution-environments

Changed

  • BREAKING: Change execution-environment build output (#424)

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/rollup-plugin-snaps

Added

  • Initial release (#431)

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

@metamask/rpc-methods

Added

  • BREAKING: Add in-app notifications (#419)

Changed

  • BREAKING: Bump @metamask/key-tree to 4.0.0 (#446)

@metamask/snap-types

Changed

  • No changes this release.

@metamask/snap-utils

Changed

  • No changes this release.

0.12.0

09 May 17:18
a9062db
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snap-controllers

Added

  • Add support for endowment teardown (#407)
  • Emit snapTerminated event (#406)
  • Add IframeExecutionService previously published via @metamask/iframe-execution-environment-service (#415)

Removed

  • Remove _createWindowTimeout (#404)
  • Remove unresponsive timeout (#395)

Fixed

  • Correctly categorize ungracefully terminated snaps as crashed (#427)

@metamask/snap-examples

Changed

  • No changes this release.

@metamask/execution-environments

Added

  • Add support for endowment teardown (#407)

@metamask/snaps-browserify-plugin

Added

@metamask/snaps-webpack-plugin

Added

  • Initial release (#420)

@metamask/rpc-methods

Changed

  • No changes this release.

@metamask/snap-types

Removed

  • BREAKING: Remove UnresponsiveMessageEvent (#395)

@metamask/snap-utils

Added

0.11.1

27 Apr 09:47
0a83b9f
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snap-controllers

Changed

  • Always bind fetch by default (#402)

@metamask/snap-examples

Changed

  • No changes this release.

@metamask/execution-environments

Changed

  • No changes this release.

@metamask/iframe-execution-environment-service

Changed

  • No changes this release.

@metamask/rpc-methods

Fixed

  • Fixed an issue with determining whether existing permissions satisfy requested permissions (#402)

@metamask/snap-types

Changed

  • No changes this release.

0.11.0

25 Apr 14:45
b7e9f17
Compare
Choose a tag to compare

@metamask/snaps-cli

Added

  • Add self to mock endowments (#341)

Changed

  • Bump ses to 0.15.15 (#396)
  • Upgraded TypeScript version to minimum 4.4 (#360)
  • Update template files (#350)

@metamask/snap-controllers

Added

  • Add clearSnapState (#346)

Changed

  • Robustify snap startup procedure and iframe error handling (#379)
  • Added ability to update snaps when installing them (#322)
  • BREAKING: Use PermissionController:revokePermissionForAllSubjects (#351)
  • Changed console.logs to console.info (#361)
  • Upgraded TypeScript version to minimum 4.4 (#360)
  • Remove cross-fetch (#349)

Fixed

  • Fix idle timeout implementation (#385)

@metamask/snap-examples

Added

Changed

  • Upgraded TypeScript version to minimum 4.4 (#360)

@metamask/execution-environments

Changed

  • Bump ses to 0.15.15 (#396)
  • Upgraded TypeScript version to minimum 4.4 (#360)
  • Remove cross-fetch (#349)

@metamask/iframe-execution-environment-service

Added

  • Added ability to update snaps when installing them (#322)

Changed

  • Robustify snap startup procedure and iframe error handling (#379)
  • BREAKING: Use PermissionController:revokePermissionForAllSubjects (#351)
  • Upgraded TypeScript version to minimum 4.4 (#360)

@metamask/rpc-methods

Changed

  • BREAKING: Wait for unlock on some RPC methods (#356)
  • BREAKING: Use PermissionController:revokePermissionForAllSubjects (#351)
  • Upgraded TypeScript version to minimum 4.4 (#360)

Fixed

  • BREAKING: Fix prompting for existing permissions (#354)

@metamask/snap-types

Changed

  • BREAKING: Use PermissionController:revokePermissionForAllSubjects (#351)

0.10.7

31 Mar 17:22
c037531
Compare
Choose a tag to compare

@metamask/snaps-cli

Changed

  • Bump minimum Node version from 12 to 14 (#331)
  • Update template files (#330)

Fixed

  • Fix issue where comment stripping would create invalid bundles (#336)

@metamask/snap-controllers

Added

  • Add version history information (#317)
  • Add setInterval and clearInterval as default endowments (#326)
  • Add queue for RPC requests to starting snaps (#288)
    • This improves the experience of invoking a starting snap, waiting for the snap to be ready instead of throwing an error.

Changed

  • Bump minimum Node version from 12 to 14 (#331)

@metamask/snap-examples

Changed

  • Bump minimum Node version from 12 to 14 (#331)

@metamask/execution-environments

Added

  • Add setInterval and clearInterval as default endowments (#326)

Changed

  • Bump minimum Node version from 12 to 14 (#331)

Fixed

  • Fix missing properties on WebAssembly endowment (#334)

@metamask/iframe-execution-environment-service

Changed

  • Bump minimum Node version from 12 to 14 (#331)

@metamask/rpc-methods

Changed

  • Bump minimum Node version from 12 to 14 (#331)

@metamask/snap-types

Changed

  • Bump minimum Node version from 12 to 14 (#331)

0.10.6

21 Mar 19:07
872adb4
Compare
Choose a tag to compare

@metamask/snaps-cli

Fixed

  • Fix endowment mocking during mm-snap eval (#311)

@metamask/snap-controllers

Fixed

  • Fix ID validation during Snap installation (#308)

@metamask/snap-examples

Changed

  • No changes this release.

@metamask/execution-environments

Fixed

  • Fix function endowment bindings (#311)

@metamask/iframe-execution-environment-service

Changed

  • No changes this release.

@metamask/rpc-methods

Changed

  • No changes this release.

@metamask/snap-types

Changed

  • No changes this release.