Skip to content

Releases: MetaMask/snaps

0.32.0

29 Mar 18:17
61a0ae2
Compare
Choose a tag to compare

examples

Added

  • Add example signer snaps (#1284)

@metamask/multichain-provider

Changed

  • No changes this release.

@metamask/rpc-methods

Changed

  • Use side effects to install snaps via wallet_snap permission (#1301)

Fixed

  • Fix invoke snap error message (#1293)
  • Ensure that same method hooks are used in type and builder (#1292)

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snaps-controllers

Added

  • Add verification of registry signature (#1291)
  • Add types to result approvals (#1288)

Changed

  • BREAKING: Convert registry to a caching controller (#1305)
  • BREAKING: Require snaps to request at least one handler permission (#1294)
  • Use side effects to install snaps via wallet_snap permission (#1301)

Fixed

  • Fix a few issues with installation and updating (#1308)

@metamask/snaps-execution-environments

Changed

  • Build execution environments with Browserify and LavaMoat (#1262)
  • Harden events (#1221)

Fixed

  • Fix unbound endowments (#1299)

@metamask/snaps-rollup-plugin

Changed

  • No changes this release.

@metamask/snaps-types

Changed

  • No changes this release.

@metamask/snaps-ui

Changed

  • No changes this release.

@metamask/snaps-utils

Changed

  • Use side effects to install snaps via wallet_snap permission (#1301)

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

0.31.0

14 Mar 16:43
8dcb465
Compare
Choose a tag to compare

examples

Changed

  • BREAKING: Target ES2020 (#1247)

@metamask/multichain-provider

Changed

  • BREAKING: Target ES2020 (#1247)

@metamask/rpc-methods

Changed

  • BREAKING: Target ES2020 (#1247)
  • Improve validation and sanitizing of snap IDs (#1237)

@metamask/snaps-browserify-plugin

Changed

  • BREAKING: Target ES2020 (#1247)

@metamask/snaps-cli

Changed

  • BREAKING: Target ES2020 (#1247)

@metamask/snaps-controllers

Changed

  • BREAKING: Target ES2020 (#1247)
  • BREAKING: Combine snap installation popups (#1261)
  • Throw errors on failed fetch (#1227)
  • Improve validation and sanitizing of snap IDs (#1237)

Fixed

  • Fix smaller installation issues affecting local snaps (#1248)

@metamask/snaps-execution-environments

Changed

  • BREAKING: Target ES2020 (#1247)
  • BREAKING: Disallow requesting eth_requestAccounts and wallet_requestSnaps RPC methods (#1256)
  • Snaps globalThis now has proper self-referential properties (#1174)

@metamask/snaps-rollup-plugin

Changed

  • BREAKING: Target ES2020 (#1247)

@metamask/snaps-types

Changed

  • BREAKING: Target ES2020 (#1247)

@metamask/snaps-ui

Changed

  • BREAKING: Target ES2020 (#1247)

@metamask/snaps-utils

Changed

  • BREAKING: Target ES2020 (#1247)
  • Improve validation and sanitizing of snap IDs (#1237)

@metamask/snaps-webpack-plugin

Changed

  • BREAKING: Target ES2020 (#1247)

Fixed

  • Fix a few smaller issues when using the Webpack plugin with in-memory files (#1225)

0.30.0

22 Feb 15:17
30aa4a2
Compare
Choose a tag to compare

examples

Changed

  • No changes this release.

@metamask/multichain-provider

Changed

  • No changes this release.

@metamask/rpc-methods

Changed

  • Accept string operation for snap_manageState (#1208)
    • snap_manageState now accepts both enum and string types for its operations

Removed

  • BREAKING: Remove deprecated snap_confirm (#809)

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snaps-controllers

Added

  • Add WebAssembly permission (#1185)

Fixed

  • Fix an issue with removing snaps (#1194)
    • Previously, the SnapController was not requesting revocation of the wallet_snap permission from the PermissionController if an origin no longer had any permitted snaps, logic has been updated to account for this

@metamask/snaps-execution-environments

Changed

  • Harden custom endowments (#1172)
  • Properly secure snap and ethereum request functions (#1214)
  • Properly sandbox iframe and inline SES in execution bundles (#1193)
    • SES is now inlined in index.html

@metamask/snaps-rollup-plugin

Changed

  • No changes this release.

@metamask/snaps-types

Changed

  • No changes this release.

@metamask/snaps-ui

Changed

  • No changes this release.

@metamask/snaps-utils

Changed

  • Properly sandbox iframe and inline SES in execution bundles (#1193)

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

0.29.0

10 Feb 14:54
a9abb8b
Compare
Choose a tag to compare

examples

Changed

  • BREAKING: Improve request function types (#1014)
  • BREAKING: Change checksum calculation (#1128)
    • The checksum has changed for all snaps, and needs to be updated

@metamask/multichain-provider

Changed

  • No changes this release.

@metamask/rpc-methods

Added

  • BREAKING: Improve request function types (#1014)
    • snap.request is now strongly typed in line with the JSON-RPC methods in this package

Changed

  • BREAKING: Replace wallet_snap_* permission with wallet_snap (#1182)
    • The new permission uses a caveat-based implementation to specify the snaps that are allowed to be interacted with

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/snaps-cli

Changed

  • BREAKING: Change checksum calculation (#1128)
    • The checksum has changed for all snaps, and needs to be updated

@metamask/snaps-controllers

Added

  • Add method to get metadata from the Snaps registry (#1173)
  • Set pre-fetch NPM tarball size limit (#1169)
    • NPM packages now have a size limit of 250 MB

Changed

  • BREAKING: Updated controllers to accomodate new wallet_snap permission (#1182)
  • BREAKING: Change checksum calculation (#1128)
    • The checksum has changed for all snaps, and needs to be updated

@metamask/snaps-execution-environments

Added

  • Harden endowments (#1058)
  • Constrain Date and timeouts (#1118)

Changed

  • BREAKING: Improve request function types (#1014)
    • snap.request is now strongly typed in line with the JSON-RPC methods in the rpc-methods package

@metamask/snaps-rollup-plugin

Changed

  • No changes this release.

@metamask/snaps-types

Added

  • BREAKING: Improve request function types (#1014)
    • New types re-exported from rpc-methods: DialogType, NotificationType and SnapsGlobalObject
    • snap.request is now strongly typed

@metamask/snaps-ui

Changed

  • No changes this release.

@metamask/snaps-utils

Changed

  • Skip writing manifest if identical (#1171)
    • This fixes a bug on Windows where the CLI could get stuck in a loop

Removed

  • BREAKING: Remove SnapsGlobalObject type (#1014)

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

0.28.0

18 Jan 13:15
2a901a2
Compare
Choose a tag to compare

examples

Changed

  • No changes this release.

@metamask/multichain-provider

Changed

  • No changes this release.

@metamask/rpc-methods

Changed

  • BREAKING: Bump key-tree to 6.2.0 and use Uint8Array for secret recovery phrases (#1137)

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snaps-controllers

Added

  • Add endowment:long-running deprecation warning (#1126)
  • Add experimental offscreen execution environment (#1082)

Changed

  • BREAKING: Add support for snap registries (#1090)
    • This removes the checkBlockList constructor argument in favor of registry
    • A registry implementation can be passed here, defaulting to a hosted JSON file
    • Requiring a snap to be on the allowlist can be toggled with the feature flag requireAllowlist
  • BREAKING: Disallow local snaps by default (#1123)
    • They can be re-enabled by using the feature flag allowLocalSnaps
  • Allow updating crashed snaps (#1113)
  • Add safety measures for malicious tarballs (#1116)
  • Make installSnaps throw on excluded permissions (#1125)

Removed

  • BREAKING: Remove WebSocket endowment (#1122)

@metamask/snaps-execution-environments

Added

  • Add experimental offscreen execution environment (#1082)

Changed

  • Add proxy for ethereum global (#1087)

Removed

  • BREAKING: Remove WebSocket endowment (#1122)

@metamask/snaps-rollup-plugin

Changed

  • No changes this release.

@metamask/snaps-types

Changed

  • No changes this release.

@metamask/snaps-ui

Changed

  • No changes this release.

@metamask/snaps-utils

Added

  • BREAKING: Add support for snap registries (#1090)
    • This removes the checkBlockList constructor argument in favor of registry
    • A registry implementation can be passed here, defaulting to a hosted JSON file
    • Requiring a snap to be on the allowlist can be toggled with the feature flag requireAllowlist
  • Add experimental offscreen execution environment (#1082)

Changed

  • BREAKING: Bump key-tree to 6.2.0 and use Uint8Array for secret recovery phrases (#1137)

Removed

  • BREAKING: Remove WebSocket endowment (#1122)

Fixed

  • Fix missing cronjob export (#1134)

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

0.27.1

16 Dec 16:41
33b325e
Compare
Choose a tag to compare

examples

Changed

  • No changes this release.

@metamask/multichain-provider

Changed

  • No changes this release.

@metamask/rpc-methods

Fixed

  • Fix snap_manageState with empty state (#1083)
  • Fix snap_manageState method hooks (#1080)

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snaps-controllers

Changed

  • No changes this release.

@metamask/snaps-execution-environments

Changed

  • No changes this release.

@metamask/snaps-rollup-plugin

Changed

  • No changes this release.

@metamask/snaps-types

Changed

  • No changes this release.

@metamask/snaps-ui

Changed

  • No changes this release.

@metamask/snaps-utils

Changed

  • No changes this release.

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

0.27.0

16 Dec 13:02
9464e07
Compare
Choose a tag to compare

examples

Changed

  • BREAKING: Use custom UI in snap_dialog (#1051)
  • BREAKING: Use custom UI in transaction insights (#1047)
  • BREAKING: Move all internal types from snaps-types to snaps-utils (#1060)

@metamask/multichain-provider

Changed

  • No changes this release.

@metamask/rpc-methods

Changed

  • BREAKING: Use custom UI in snap_dialog (#1051)
  • BREAKING: Use SIP-6 algorithm for state encryption (#1055)
    • This breaks all existing snaps that use snap_manageState

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snaps-controllers

Changed

  • BREAKING: Use SIP-6 algorithm for state encryption (#1055)
    • This breaks all existing snaps that use snap_manageState

@metamask/snaps-execution-environments

Changed

  • BREAKING: Move all internal types from snaps-types to snaps-utils (#1060)

@metamask/snaps-rollup-plugin

Changed

  • No changes this release.

@metamask/snaps-types

Changed

  • BREAKING: Move all internal types from snaps-types to snaps-utils (#1060)

@metamask/snaps-ui

Changed

  • No changes this release.

@metamask/snaps-utils

Changed

  • BREAKING: Use SIP-6 algorithm for state encryption (#1055)
    • This breaks all existing snaps that use snap_manageState
  • BREAKING: Use custom UI in transaction insights (#1047)
  • BREAKING: Move all internal types from snaps-types to snaps-utils (#1060)

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

0.26.2

13 Dec 11:54
e38677f
Compare
Choose a tag to compare

examples

Changed

  • No changes this release.

@metamask/multichain-provider

Changed

  • No changes this release.

@metamask/rpc-methods

Changed

  • No changes this release.

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snaps-controllers

Changed

  • No changes this release.

@metamask/snaps-execution-environments

Fixed

  • Fix usage of wrong ethereum global for ethereum endowment (#1064)

@metamask/snaps-rollup-plugin

Changed

  • No changes this release.

@metamask/snaps-types

Changed

  • No changes this release.

@metamask/snaps-ui

Changed

  • No changes this release.

@metamask/snaps-utils

Changed

  • No changes this release.

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

0.26.1

08 Dec 11:39
0da535d
Compare
Choose a tag to compare

examples

Changed

  • No changes this release.

@metamask/multichain-provider

Changed

  • No changes this release.

@metamask/rpc-methods

Changed

  • No changes this release.

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/snaps-cli

Changed

  • No changes this release.

@metamask/snaps-controllers

Fixed

  • Fix some paths being wrongly normalized (#1053)
  • Fix some issues with fetching snaps (#1050)

@metamask/snaps-execution-environments

Changed

  • No changes this release.

@metamask/snaps-rollup-plugin

Changed

  • No changes this release.

@metamask/snaps-types

Changed

  • No changes this release.

@metamask/snaps-ui

Changed

  • No changes this release.

@metamask/snaps-utils

Fixed

  • Fix some paths being wrongly normalized (#1053)
  • Fix utils browser export (#1049)

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.

0.26.0

07 Dec 10:43
7f5cfd4
Compare
Choose a tag to compare

examples

Changed

  • No changes this release.

@metamask/multichain-provider

Changed

  • No changes this release.

@metamask/rpc-methods

Changed

  • No changes this release.

@metamask/snaps-browserify-plugin

Changed

  • No changes this release.

@metamask/snaps-cli

Fixed

  • Fix post processing issue with object.eval (#1040)

@metamask/snaps-controllers

Changed

  • BREAKING: Snap installation refactor (#1023)
    • wallet_requestSnaps will now throw an error and roll back any changes made if installation of any snap fails

Fixed

  • Fix an issue processing non-snap permissions (#1044)

@metamask/snaps-execution-environments

Changed

  • No changes this release.

@metamask/snaps-rollup-plugin

Changed

  • No changes this release.

@metamask/snaps-types

Changed

  • No changes this release.

@metamask/snaps-ui

Removed

  • BREAKING: Remove spacer component (#1031)

@metamask/snaps-utils

Fixed

  • Fix post processing issue with object.eval (#1040)

@metamask/snaps-webpack-plugin

Changed

  • No changes this release.