Skip to content

Releases: MetaMask/snaps

49.0.0

31 May 09:41
3431866
Compare
Choose a tag to compare

@metamask/snaps-controllers 8.3.0

Added

  • Add origin to lifecycle hooks (#2441)
    • Lifecycle hooks can now use the origin parameter to determine the origin
      of the installation or update.

@metamask/snaps-execution-environments 6.3.0

Added

  • Add origin to lifecycle hooks (#2441)
    • Lifecycle hooks can now use the origin parameter to determine the origin
      of the installation or update.

Changed

  • Bump @metamask/providers from 16.1.0 to 17.0.0 (#2442)

@metamask/snaps-jest 8.1.1

Changed

  • Bump @metamask/key-tree from 9.1.0 to 9.1.1 (#2431)

@metamask/snaps-rpc-methods 9.1.1

Changed

  • Bump @metamask/key-tree from 9.1.0 to 9.1.1 (#2431)

@metamask/snaps-sdk 4.4.0

Added

  • Add origin to lifecycle hooks (#2441)
    • Lifecycle hooks can now use the origin parameter to determine the origin
      of the installation or update.

Changed

  • Bump @metamask/providers from 16.1.0 to 17.0.0 (#2442)
  • Bump @metamask/key-tree from 9.1.0 to 9.1.1 (#2431)

48.0.0

28 May 13:28
46da240
Compare
Choose a tag to compare

@metamask/snaps-controllers 8.2.0

Added

  • Add context field to snap_createInterface (#2413)
  • Add feature flag to disable platform (#2434)
  • Add support for Dropdown component (#2420)
  • Add initialConnections diff calculations needed for Snap update (#2424)

Fixed

  • Correctly merge caveats when using initial connections (#2419)

@metamask/snaps-execution-environments 6.2.0

Added

  • Add context field to snap_createInterface (#2413)

@metamask/snaps-jest 8.1.0

Added

  • Add selectInDropdown to be used with the newly added Dropdown component (#2420)
  • Add context field to snap_createInterface (#2413)

Fixed

  • Properly handle invalid interfaces during test (#2433)
  • Properly diff when using legacy UI with toRender matcher (#2432)

@metamask/snaps-rpc-methods 9.1.0

Added

  • Add context field to snap_createInterface (#2413)

@metamask/snaps-sdk 4.3.0

Added

  • Add Value component (#2435)
  • Add Dropdown component (#2420)
  • Add positioning props to Box (#2422)
  • Allow Button within Input (#2407)
  • Add context field to snap_createInterface (#2413, #2427)

Fixed

  • Correct validation for children of Box component (#2423)

@metamask/bip32-example-snap 2.2.0

Added

  • Add support for ed25519Bip32 to the BIP-32 example snap (#2428)

@metamask/interactive-ui-example-snap 2.0.0

Changed

  • BREAKING: Revamp interactive UI example using JSX (#2427)
    • The getState RPC method was removed as part of this refactor.

47.0.0

16 May 07:54
ef34b5d
Compare
Choose a tag to compare

@metamask/snaps-rpc-methods 9.0.0

Added

  • Add support for BIP-32-Ed25519 / CIP-3 key derivation (#2408)
    • The ed25519Bip32 curve is now supported for snap_getBip32Entropy and snap_getBip32PublicKey

Changed

  • BREAKING: Use hooks in wallet_invokeSnap instead of remapping the request to wallet_snap (#2406)

@metamask/snaps-sdk 4.2.0

Added

  • Add support for BIP-32-Ed25519 / CIP-3 key derivation (#2408)

Fixed

  • Add missing TypeScript declarations for JSX entry points (#2404)

@metamask/snaps-utils 7.4.0

Added

  • Add support for BIP-32-Ed25519 / CIP-3 key derivation (#2408)

Fixed

  • Fix build producing invalid JSX types (#2410)

46.0.0

14 May 09:42
553fa90
Compare
Choose a tag to compare

@metamask/snaps-controllers 8.1.1

Fixed

  • Re-instantiate preinstalled Snaps after clearing state (#2393)

45.0.0

03 May 10:54
2beee78
Compare
Choose a tag to compare

@metamask/snaps-cli 6.2.0

Added

  • Add support for building Snaps with JSX (#2258)
    • It's now possible to use JSX components from @metamask/snaps-sdk to build
      user interfaces for Snaps.

@metamask/snaps-controllers 8.1.0

Added

  • Add JSX support for custom UI (#2258)

Changed

  • Bump @metamask/approval-controller from 6.0.1 to 6.0.2 (#2380)
  • Bump @metamask/base-controller from 5.0.1 to 5.0.2 (#2375)

Fixed

  • Fix an issue where certain types of executors would be timed out too quickly (#2389)

@metamask/snaps-execution-environments 6.1.0

Changed

  • Unblock eth_sendRawTransaction (#2362)
  • Bump @metamask/providers from 16.0.0 to 16.1.0 (#2386)

Fixed

  • Make onUserInput export optional (#2373)
    • Snaps will no longer crash when interacting with a user interface when the
      Snap does not export onUserInput.

@metamask/snaps-jest 8.0.0

Added

  • BREAKING: Add JSX support for custom UI (#2258)
    • It's now possible to use JSX components from @metamask/snaps-sdk to build
      user interfaces for Snaps.
    • This is a breaking change, because the legacy user interfaces are converted
      to the new JSX format.
      • If you are checking the format of a interface without toRender, you will
        need to update your tests to check the JSX format.

Changed

  • Bump @metamask/base-controller from 5.0.1 to 5.0.2 (#2375)

@metamask/snaps-rpc-methods 8.1.0

Added

  • Add JSX support for custom UI (#2258)

@metamask/snaps-sdk 4.1.0

Added

  • Add JSX support for custom UI (#2258, #2379)
    • It's now possible to use JSX components from this package to build user
      interfaces for Snaps.
    • This package now exports a custom JSX runtime that can be used to render
      JSX components in Snaps. It can be used with the react-jsx and
      react-jsxdev JSX pragmas, using @metamask/snaps-sdk as import source.
      • When using @metamask/snaps-cli to build Snaps, the Snaps JSX runtime
        will be used automatically.

Changed

  • Deprecate legacy UI components (#2388)
  • Bump @metamask/providers from 16.0.0 to 16.1.0 (#2386)

@metamask/snaps-utils 7.3.0

Added

  • Add JSX support for custom UI (#2258, #2383)
    • This adds utility functions for working with JSX in Snaps.

Changed

  • Bump @metamask/base-controller from 5.0.1 to 5.0.2 (#2375)

@metamask/jsx-example-snap 1.0.0

Added

  • Add JSX example Snap (#2258)

44.0.0

24 Apr 15:30
20bbcf9
Compare
Choose a tag to compare

@metamask/snaps-cli 6.1.1

Fixed

  • Disable topLevelAwait configuration option (#2358)
    • Before this the CLI would produce invalid builds when using top-level await.

@metamask/snaps-controllers 8.0.0

Changed

  • BREAKING: Move maxInitTime constructor argument from SnapController to ExecutionService (#2348)

Fixed

  • Increase max UI size limit from 250 KB to 10 MB (#2342)
  • Consider caveats in permissions difference calculation (#2345)
    • This fixes a bug where certain caveats would not be correctly applied when updating Snaps.
  • Gracefully handle errors for multiple simultaneous failing requests (#2346)
  • Properly handle termination of Snaps that are currently executing (#2304)
  • Properly tear down partially initialized executors and improve stability when executor initialization fails (#2348)

@metamask/snaps-execution-environments 6.0.2

Fixed

  • Throw an error if starting Snap has no exports (#2357)

@metamask/snaps-utils 7.2.0

Added

  • Add getJsonSizeUnsafe (#2342)

43.0.0

16 Apr 15:53
f65435b
Compare
Choose a tag to compare

@metamask/snaps-execution-environments 6.0.1

Fixed

  • Allow null in FormSubmitEventStruct form state (#2333)

@metamask/snaps-jest 7.0.2

Changed

  • Bump @metamask/snaps-execution-environments to latest (#2339)

42.0.0

16 Apr 12:25
9f8e499
Compare
Choose a tag to compare

@metamask/snaps-jest 7.0.1

Fixed

  • Improve correctness of clickElement (#2334)
    • The function should now behave closer to the client implementation.

@metamask/snaps-sdk 4.0.1

Fixed

  • Allow null in FormSubmitEventStruct form state (#2333)

@metamask/interactive-ui-example-snap 1.0.2

Fixed

  • Fix a crash when submitting an empty string (#2333)

41.0.0

11 Apr 11:30
fb7fd66
Compare
Choose a tag to compare

@metamask/snaps-controllers 7.0.1

Fixed

  • Fix encryption key caching issues (#2326)

40.0.0

11 Apr 08:26
aeaf8ac
Compare
Choose a tag to compare

@metamask/snaps-controllers 7.0.0

Changed

  • BREAKING: Refactor encryption to enable caching (#2316)
    • New required constructor arguments encryptor and getMnemonic have been added.
  • Include initialConnections in approval requestState (#2322)

Fixed

  • Delete unencrypted state when uninstalling a Snap (#2311)

@metamask/snaps-execution-environments 6.0.0

Removed

  • BREAKING: Remove broken ethereum properties (#2296)
    • Snaps can no longer access on and removeListener on ethereum.
    • This feature was already non-functional.

@metamask/snaps-jest 7.0.0

Added

  • BREAKING: Support Interactive UI in snaps-jest (#2286)
    • Remove content from the Snap response, instead getInterface() must be used
    • clickElement and typeInField can be used on the interface return value to simulate actions

Changed

  • Improve Jest expect types (#2308)
  • Refactor to support changes to encryption (#2316)

@metamask/snaps-rpc-methods 8.0.0

Changed

  • BREAKING: Refactor to support changes to encryption (#2316)
    • No longer expects encrypt or decrypt, instead expects updateSnapState and getSnapState to be asynchronous

@metamask/snaps-sdk 4.0.0

Removed

  • BREAKING: Remove broken ethereum properties (#2296)
    • Snaps can no longer access on and removeListener on ethereum.
    • This feature was already non-functional.

@metamask/snaps-utils 7.1.0

Added

  • Add derivation path for Nimiq (#2309)

Fixed

  • Disable GitHub flavored Markdown when lexing (#2317)

@metamask/notification-example-snap 2.1.3

Fixed

  • Fix native notifications not working reliably (#2310)