Skip to content

Latest commit

 

History

History
452 lines (273 loc) · 18.5 KB

File metadata and controls

452 lines (273 loc) · 18.5 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Added

  • Allow Snap exports to have async initialization logic (#2918)
  • Add support for onSettingsPage export (#2911)

Added

  • Add isSecureContext global (#2893)

Fixed

  • Remove unnecessary proxy for provider globals (#2850)
  • Make fetch responses an instance of Response (#2889)

Changed

  • Bump MetaMask dependencies (#2853)

Fixed

  • Reduce unnecessary JSON validation (#2844)

Removed

  • Remove eth_sign (#2772)
    • This method was removed from the MetaMask extension, so any references to it in Snaps can be removed.

Changed

  • Convert createWindow parameters to options bag (#2765)

Added

  • Add support for metamask: schemed URLs (#2719)

Fixed

  • Fix missing execution environment bundles (#2734)

Fixed

  • Fix invalid types in type declaration in some cases (#2714)

Changed

  • Unblock wallet_requestSnaps (#2661)

Fixed

  • Fix ESM version of the package (#2682)
    • This fixes the ESM version of the package to be fully compliant with the ESM standard.
  • Bump @metamask/utils from ^9.1.0 to ^9.2.1 (#2680)
  • Bump other MetaMask dependencies (#2703)

Changed

  • Bump @metamask/json-rpc-engine from ^9.0.0 to ^9.0.2 (#2593)
  • Bump @metamask/snaps-utils from ^7.8.0 to ^7.8.1 (#2595)

Changed

  • Bump @metamask/rpc-errors from ^6.2.1 to ^6.3.1 (#2445)
  • Bump @metamask/utils from ^8.3.0 to ^9.1.0 (#2445)

Fixed

  • Replace superstruct with ESM-compatible @metamask/superstruct ^3.1.0 (#2445)
    • This fixes the issue of this package being unusable by any TypeScript project that uses Node16 or NodeNext as its moduleResolution option.
  • Set @metamask/providers from ^17.0.0 to 17.0.0 (#2445)
    • 17.1.0 and 17.1.1 introduce regressions.

Changed

  • Inline LavaMoat in WebView bundle (#2528, #2564)

Added

Fixed

  • Support parameters in setTimeout and setInterval (#2513)

Changed

  • Update onNameLookup response to include domainName (#2484)
  • Bump MetaMask dependencies (#2460)

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)

Added

  • Add context field to snap_createInterface (#2413)

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.

Fixed

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

Fixed

  • Allow null in FormSubmitEventStruct form state (#2333)

Removed

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

Changed

  • Bump MetaMask dependencies (#2270)

Changed

  • Bump @metamask/providers to ^15.0.0 (#2231)
  • Bump @metamask/json-rpc-engine to ^7.3.3 (#2247)

Changed

  • Bump LavaMoat packages (#2234)

Fixed

  • Fix minor build configuration problems (#2220)

Changed

  • BREAKING: Update ESM build to be fully compliant with the ESM standard (#2210)
  • Bump @metamask/rpc-errors to ^6.2.1 (#2209)

Fixed

  • Enforce JSON-RPC response size limits (#2201)

Changed

  • Update several LavaMoat packages (#2173)

Added

  • Add WebView execution environment (#2005)
  • Add support for dynamic user interfaces (#1465)

Changed

  • BREAKING: Stop bundling offscreen execution environment (#2154)
  • BREAKING: Deploy multiple bundles to AWS (#2150)
    • From now on the bundles will be served at https://execution.metamask.io/%BUILD_TYPE%/%VERSION%/index.html.
  • Export ProxySnapExecutor (#2153)
  • Reduce executor bundle sizes (#2160)
  • Bump MetaMask dependencies (#2129, #2132)

Added

  • Add support for signature insights (#2074)

Changed

  • Bump SES and LavaMoat (#2105)
  • Bump several MetaMask dependencies (#2054, #2100)

Changed

  • Move iframe bundle to HTML body (#2045)
  • Bump @metamask/json-rpc-engine from 7.3.0 to 7.3.1 (#2065)

Changed

  • Bump @metamask/providers from 14.0.1 to 14.0.2 (#1992)

Changed

  • Block wallet_revokePermissions (#1978)
  • Bump several MetaMask dependencies (#1964)

Fixed

  • Fix a few issues with passing non-JSON-serializable values (#1974)

Changed

  • Pause request timer when fetch is called (#1756)

Changed

  • Use @metamask/snaps-sdk package (#1930, #1946, #1949, #1954)
    • This package replaces the @metamask/snaps-types and
    • @metamask/snaps-ui packages.

Added

  • Add OnHomePage export (#1896)

Fixed

  • Await stream message delivery (#1928)

Changed

  • Improve error handling (#1841)
    • Snaps can now throw a SnapError, without causing the Snap to crash.
  • Standardise all errors thrown in execution environments (#1830)

Added

  • Add keyring export and endowment (#1787)

Changed

  • BREAKING: Bump minimum Node.js version to ^18.16.0 (#1741)

Changed

  • Remove unmaintained OpenRPC doc for execution environment (#1782)
  • Update LavaMoat (#1754)

Fixed

  • Allow passing undefined parameters to request() (#1776)
  • Fix an issue where errors would not correctly be returned (#1772)

Changed

  • Initial stable release from main branch (#1757)

Added

  • Add onNameLookup export (#1394)

Changed

  • Remove pump (#1730)
  • Bump metamask/utils and metamask/snaps-registry (#1738)

Fixed

  • Sanitize JSON before checking for blocked methods (#1762)

Changed

  • Bump @metamask/post-message-stream from 6.1.2 to 7.0.0 (#1707, #1724)
  • Bump @metamask/utils and @metamask/snaps-registry (#1694)

Fixed

  • Add hardening for Request, Headers, and Response endowments (#1695)

Changed

  • Bump ses to 0.18.7 (#1666)

Fixed

  • Remove unused dependencies (#1680)

Changed

  • Update LavaMoat packages to latest versions (#1657)

Removed

  • Remove direct dependency on SES (#1660)
    • It's now a dev dependency, as it's only used in development.

Fixed

  • Pass correct scuttle args (#1654)

Added

  • Add onInstall and onUpdate lifecycle hooks (#1643)
  • Unblock personal_sign JSON-RPC method (#1601)

Fixed

  • Fix deployment of the iframe execution environment (#1627)

Changed

  • Release package independently (#1600)
    • The version of the package no longer needs to match the version of all other MetaMask Snaps packages.