Skip to content

Latest commit

 

History

History
625 lines (389 loc) · 24.5 KB

CHANGELOG.md

File metadata and controls

625 lines (389 loc) · 24.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.

Changed

  • BREAKING: Remove duplicate CAIP types (#3071)
    • The following functions, values, types, and structs were removed from @metamask/snaps-utils:
      • CHAIN_ID_REGEX
      • ACCOUNT_ID_REGEX
      • ACCOUNT_ADDRESS_REGEX
      • parseChainId
      • parseAccountId
      • LimitedString
      • ChainIdStringStruct
      • ChainIdStruct
      • AccountIdStruct
      • AccountIdArrayStruct
      • AccountAddressStruct
      • AccountAddress
      • ChainStruct
      • Chain
      • NamespaceStruct
      • Namespace
      • NamespaceIdStruct
      • NamespaceId
      • isNamespaceId
      • isChainId
      • isAccountId
      • isAccountIdArray
      • isNamespace
  • Bump MetaMask dependencies (#3091, #3082, #3050)

Added

  • Add support for onProtocolRequest handler (#2875)
  • Add URLSearchParams as a default global (#3047)

Fixed

  • Correct validation for scopes on endowment:assets permission (#3039)

Added

  • Add support for onAssetsLookup and onAssetsConversion handlers (#3028)
  • Add Intl as a default global (#3035)

Added

  • Add Massa derivation path (#2979)

Changed

Added

  • Add onSettingsPage export (#2911)
  • Automatically add platformVersion to manifest (#2938)

Changed

  • Bump @metamask/key-tree from ^9.1.2 to ^10.0.1 (#2909)

Added

  • Add isSecureContext global (#2893)

Fixed

  • Add line beginning to origin regex (#2876)

Fixed

  • Use regular import to reference package.json (#2871)

Added

  • Add platform version field to manifest (#2803)
  • Add Kadena derivation path (#2851)

Changed

  • Bump MetaMask dependencies (#2853)

Fixed

  • Pass full URLs to PhishingController (#2835)
  • Make parseMetaMaskUrl platform-agnostic (#2834)

Added

  • Add isSnapId utility function (#2808)

Added

  • Add currency struct (#2763)

Changed

  • Convert createWindow parameters to options bag (#2765)

Fixed

  • Update package.json struct to allow repository.directory (#2754)

Added

  • Add support for metamask: schemed URLs (#2719)
  • Add support for JSX in snap_notify notifications (#2706)

Fixed

  • Validate list of emails in validateLink function (#2750)

Fixed

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

Added

  • Add Bitcoin Taproot derivation paths (#2695)

Changed

  • Improve validateLink error handling (#2702)

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/slip44 to 4.0.0 (#2624)

Changed

  • BREAKING: Improve manifest validation output (#2605, #2572)
    • This is breaking as it removes exports such as validateNpmSnap.
  • Bump fast-xml-parser (#2610)

Changed

  • Bump @metamask/base-controller from ^6.0.1 to ^6.0.2 (#2593)
  • Bump @metamask/permission-controller from ^10.0.1 to ^11.0.0 (#2593)

Added

  • Move serialiseJsx function from snaps-jest to snaps-utils (#2409)

Changed

  • Bump @metamask/base-controller from ^6.0.0 to ^6.0.1 (#2445)
  • Bump @metamask/key-tree from ^9.1.1 to ^9.1.2 (#2445)
  • Bump @metamask/permission-controller from ^10.0.0 to ^10.0.1 (#2445)
  • Bump @metamask/rpc-errors from ^6.2.1 to ^6.3.1 (#2445)
  • Bump @metamask/snaps-registry from ^3.1.0 to ^3.2.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.
  • Fix allowedOrigins bypass caused by unterminated regex (#2576)

Added

  • Support conditional children in most JSX components (#2506)
  • Support additional components inside forms (#2497)

Fixed

  • Improve validation of endowment:rpc (#2512)

Added

  • Support nested children in JSX (#2482)

Changed

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

Fixed

  • Fix a problem with converting legacy UIs that used row() (#2486)
  • Revert requiring at least one child in JSX components (#2470)

Added

  • Allow wildcards in allowedOrigins (#2458)
  • Add hidden flag for preinstalled Snaps (#2463)

Fixed

  • Require at least 1 child in JSX components (#2466)

Fixed

  • Fix invalid @metamask/snaps-sdk imports (#2452)

Added

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

Fixed

  • Fix build producing invalid JSX types (#2410)

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)

Added

  • Add getJsonSizeUnsafe (#2342)

Added

  • Add derivation path for Nimiq (#2309)

Fixed

  • Disable GitHub flavored Markdown when lexing (#2317)

Changed

  • Bump MetaMask dependencies (#2270)

Fixed

  • Allow maxRequestTime on endowment:rpc (#2291)

Changed

  • Update markdown parsing for better link validation (#2261)
  • Bump @metamask/snaps-registry to ^3.0.1 (#2255)

Fixed

  • Remove usage of Buffer from browser entrypoint (#2238)

Fixed

  • Fix minor build configuration problems (#2220)
  • Fix regex for HTML comment tokens (#2222)

Changed

  • BREAKING: Update ESM build to be fully compliant with the ESM standard (#2210)
  • BREAKING: Move Node.js exports to separate export (#2210)
    • The default export is now browser-compatible.
    • Node.js APIs can be imported from <package>/node.
  • Bump @metamask/rpc-errors to ^6.2.1 (#2209)

Removed

  • BREAKING: Move file struct to CLI (#2207)
    • The previously exported file struct can now be found in @metamask/snaps-cli.

Fixed

  • Add sizing limits for custom UI (#2199)
  • Properly validate links contained in rows (#2205)

Added

  • Add a manifest warning when no icon is found and when icon is not square (#2185)

Added

  • Add support for dynamic user interfaces (#1465, #2126)
  • Add support for snap defined execution timeouts (#2098)

Changed

  • BREAKING: Update name lookup type validation (#2113)
    • The return value and the permission format has changed, see SIP-12 for more details.
  • Speed up eval-worker for improved CLI performance (#2147)
  • Update MetaMask dependencies (#2132, #2142)

Fixed

  • Fix initial permissions types (#2111)

Added

  • Add support for initial connections (#2048)
  • Add support for preinstalled snaps (#2008)
  • Add support for signature insights (#2074)

Changed

  • Bump several MetaMask dependencies (#2086, #2100)

Fixed

  • Fix missing global during snap evaluation (#2072)

Changed

  • Fix missing export (#2045)
  • Bump @metamask/permission-controller from 6.0.0 to 7.0.0 (#2064)

Removed

  • Remove support for object-like syntax for cronjobs (#2057)
    • Since this never worked in the first place we aren't marking it as breaking.

Added

  • Add getSnapDerivationPathName and getSlip44ProtocolName to be shared across clients (#2033)

Changed

  • Bump snaps-registry (#2020)

Changed

  • Improve base64 encoding/decoding speeds (#1985)
  • Bump several MetaMask dependencies (#1989, #1993)

Changed

  • Bump several MetaMask dependencies (#1964)

Removed

  • BREAKING: Move enumValue, literal and union to snaps-sdk (#1968)

Fixed

  • Fix issues generating checksum with binary auxiliary files (#1975)

Fixed

  • Change validateTextLinks to only get URL in markdown links (#1914)

Changed

  • Use SubtleCrypto for checksum calculation if available (#1953)
    • This reduces the time of the checksum calculation by up to 95% in some environments.
  • Use @metamask/snaps-sdk package (#1930, #1946, #1950, #1949, #1954)
    • This package replaces the @metamask/snaps-types and
    • @metamask/snaps-ui packages, and is much more lightweight.

Removed

  • BREAKING: Remove ValidatedSnapId and SnapId types (#1930)
    • ValidatedSnapId was moved to the @metamask/snaps-sdk package as SnapId.
    • SnapId was an alias of string, and is no longer needed.
  • BREAKING: Remove SnapError (#1949)
    • This class was moved to the @metamask/snaps-sdk package.
  • BREAKING: Remove EnumToUnion type (#1930)
    • This type was moved to the @metamask/snaps-sdk package.
  • BREAKING: Remove RequestedSnapPermissions type (#1930)
    • This type was deprecated, and is now replaced by the InitialPermissions type from the @metamask/snaps-sdk package.

Fixed

  • Include localization files in checksum calculations (#1956)

Added

  • Add manifest localization functionality (#1889)
  • Add OnHomePage export (#1896)

Added

  • Add support for links in custom UI and notifications (#1814)

Added

Changed

  • Update multiple MetaMask dependencies (#1841)
  • Bump Babel packages from ^7.20.12 to ^7.23.2 (#1862)

Added

  • Add keyring export and endowment (#1787)
  • Add optional allowedOrigins field to endowment:rpc (#1822)
    • This can be used to only accept certain origins in your Snap.

Changed

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

Changed

  • Remove deprecated endowment:long-running (#1751)

Changed

  • Initial stable release from main branch (#1757)

Added

Changed

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

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

  • Remove unused dependencies (#1680)

Changed

  • Update transaction insights response and add severity level enum (#1653)
    • Snaps are now able to specify a severity for alongside their insights.
    • See SIP-11 for more information.

Added

  • Add onInstall and onUpdate lifecycle hooks (#1643)

Changed

  • Move source code and snap state back to controller state (#1634)
  • Bump semver to ^7.5.4 (#1631)

Changed

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