Skip to content

Releases: MetaMask/accounts

89.0.0

05 Mar 11:24
3c3001b

Choose a tag to compare

@metamask/keyring-snap-sdk 7.2.1

Fixed

  • Throw RPC errors with proper error codes (#469)

88.0.0

09 Feb 12:01
8e80096

Choose a tag to compare

@metamask/hw-wallet-sdk 0.5.0

Added

  • Add error mapping for status code 0x6a83 indicating Ethereum app closed while on Solana (#446)

Fixed

  • Fix error mappings for status codes 0x650f and 0x6d00 to map to DeviceStateEthAppClosed instead of incorrect error codes (#466)
    • 0x650f: changed from ConnectionClosed to DeviceStateEthAppClosed.
    • 0x6d00: changed from DeviceStateOnlyV4Supported to DeviceStateEthAppClosed.

@metamask/keyring-api 21.5.0

Added

  • Add EthAddressStrictStruct struct and EthAddressStrict types (#465)
    • This is a stricter variant of EthAddressStruct which uses Hex instead of string for its inferred type.
  • Add assertCreateAccountOptionIsSupported helper (#464)
    • This helper can be used to implement createAccounts and narrow down the options to the supported types (based on the keyring capabilities).

Changed

  • Re-use string for ERC4337 address-like fields (#465)
    • This change reverts that and keeps using string for all address-like types.
    • Changes in #405 updated the associated type for EthAddressStruct from string to Hex, this was actually a small breaking change that went unnoticed and that would require some effort to adapt in upstream clients/controllers, for this reason, we are undoing this change for now.
    • Version [21.4.0] is marked as DEPRECATED, consumers are expected to use version [21.5.0] instead, that reverts this breaking change.

87.0.0

06 Feb 11:58
f00f5be

Choose a tag to compare

@metamask/account-api 1.0.0

Changed

  • BREAKING: Use new createAccounts options for AccountsProvider.createAccounts (#462)
    • This will allow to use various ways of constructing accounts (e.g. multiple indexes at once).
  • Bump @metamask/keyring-api to ^21.4.0 (#460)
  • Bump @metamask/keyring-utils to ^7.2.0 (#460)

86.0.0

05 Feb 17:04
8320511

Choose a tag to compare

@metamask/hw-wallet-sdk 0.4.0

Added

  • Add ErrorMapping type (#446)

@metamask/keyring-api 21.4.0

Added

  • Add Keyring.createAccounts optional method (#448)
    • This method is part of the keyring v2 specification and set as optional for backwards compatibility.
    • This method can be used to create one or more accounts using the new keyring v2 account creation typed options.
    • Add RPC support for this method through KeyringRpcMethod.CreateAccounts.
  • Add support for account derivations using range of indices in KeyringV2 (#451)
    • Add bip44:derive-index-range capability to KeyringCapabilities.
    • Add AccountCreationType.Bip44DeriveIndexRange and CreateAccountBip44DeriveIndexRangeOptions.
  • Add support for custom capabilities and entropy types in KeyringV2 (#415)
    • Add custom capability to KeyringCapabilities for keyrings with non-standard createAccounts method.
    • Add KeyringAccountEntropyTypeOption.Custom for custom/opaque entropy sources.
    • Add AccountCreationType.Custom and CreateAccountCustomOptions for custom account creation flows.
  • Add EthKeyringWrapper abstract class for Ethereum-based KeyringV2 implementations (#404)
    • Provides common Ethereum signing method routing (submitRequest) for all Ethereum-based keyrings.
  • Add KeyringWrapper base class to adapt legacy keyrings to KeyringV2 (#398),(#402), (#409), (#410)

Changed

  • Make BIP-44 capabilities optional in KeyringCapabilities (#453)
    • The derivePath, deriveIndex, deriveIndexRange, and discover capabilities are now optional.
    • A capability set to true indicates support, while false or undefined indicates no support.
    • Keyrings no longer need to explicitly set unsupported capabilities to false.
  • Change KeyringWrapper.capabilities from a readonly property to a getter (#447)
    • Allows subclasses to override and return capabilities dynamically based on runtime state.
  • Refine EthAddressStruct in order to make it compatible with the Hex type from @metamask/utils (#405)

@metamask/eth-ledger-bridge-keyring 11.3.0

Changed

  • Integrate @metamask/hw-wallet-sdk for standardized hardware wallet error handling (#446)
    • Replace custom error handling with HardwareWalletError from the SDK.
    • Use LEDGER_ERROR_MAPPINGS from the SDK for consistent error code mapping.
    • Re-export HardwareWalletError, ErrorCode, Severity, Category, and error mappings for consumer convenience.
    • Deprecate LedgerStatusError in favor of HardwareWalletError.
    • Prefix Ledger transport error messages for compatibility.

@metamask/keyring-internal-api 10.0.0

Changed

  • BREAKING: Rename KeyringRequestV1 type to KeyringRequestWithoutOrigin (#423)
  • BREAKING: Rename toKeyringRequestV1 method to toKeyringRequestWithoutOrigin (#423)
  • Bump @metamask/keyring-api from ^21.2.0 to ^21.4.0 (#460)

Removed

  • BREAKING: Remove KeyringVersion support (#423)

@metamask/keyring-internal-snap-client 9.0.0

Changed

  • BREAKING: Bump @metamask/keyring-internal-api from ^9.1.2 to ^10.0.0 (#460)
  • Bump @metamask/keyring-api from ^21.2.0 to ^21.4.0 (#460)
  • Bump @metamask/snaps-controllers from ^14.0.1 to ^18.0.0 (#422), (#424), (#461)
  • Bump @metamask/snaps-sdk from ^9.0.0 to ^10.4.0 (#422), (#461)
  • Bump @metamask/snaps-utils from ^11.0.0 to ^12.1.0 (#422), (#461)

Removed

  • BREAKING: Rename submitRequestV1 method to submitRequestWithoutOrigin (#423)

@metamask/eth-snap-keyring 19.0.0

Added

  • Add SnapKeyring.createAccounts method (#448)
    • This method can be used to create one or more accounts using the new keyring v2 account creation typed options.
    • Generic accounts will be filtered out if they are not allowed by the keyring configuration.

Changed

  • BREAKING: Bump @metamask/keyring-internal-api from ^9.1.2 to ^10.0.0 (#460)
  • BREAKING: Bump @metamask/keyring-internal-snap-client from ^8.0.2 to ^9.0.0 (#460)
  • Bump @metamask/keyring-api from ^21.2.0 to ^21.4.0 (#460)
  • Bump @metamask/snaps-controllers from ^14.0.1 to ^18.0.0 (#422), (#461)
  • Bump @metamask/snaps-sdk from ^9.0.0 to ^10.4.0 (#422), (#461)
  • Bump @metamask/snaps-utils from ^11.0.0 to ^12.1.0 (#422), (#424), (#461)

Removed

  • BREAKING: Remove KeyringVersion support (#423)
    • Both getKeyringVersionFromPlatform, PLATFORM_VERSION_TO_KEYRING_VERSION got removed too.
  • BREAKING: Rename submitRequestV1 method to submitRequestWithoutOrigin (#423)

@metamask/keyring-snap-client 8.2.0

Added

  • Add KeyringClient.createAccounts method (#448)
    • This method can be used to create one or more accounts using the new keyring v2 account creation typed options.

Changed

  • Bump @metamask/keyring-api from ^21.2.0 to ^21.4.0 (#460)

@metamask/keyring-snap-sdk 7.2.0

Added

  • Add keyring_createAccounts method to RPC dispatcher (#448)
    • This method SHOULD NOT use notify:accountCreated.
    • Accounts returned by this method are will be automatically added to the internal keyring state.

Changed

  • Bump @metamask/keyring-api from ^21.2.0 to ^21.4.0 (#460)
  • Bump @metamask/snaps-sdk from ^9.0.0 to ^10.4.0 (#422, #461)

@metamask/keyring-utils 3.2.0

Added

  • Add EthKeyring alias export for the legacy Keyring type (#404)

85.0.0

05 Feb 13:36
66b3005

Choose a tag to compare

@metamask/hw-wallet-sdk 0.3.0

Added

  • Add hardware wallet connection types and improved error handling (#456)
    • Add HardwareWalletType, ConnectionStatus, DeviceEvent enums and HardwareWalletConnectionState, DeviceEventPayload types.
    • Add Ledger error mappings for device locked and Ethereum app closed states.
    • Add isHardwareWalletError static method to HardwareWalletError class for type-safe error checking.

84.0.0

04 Feb 15:14
ee591cc

Choose a tag to compare

@metamask/eth-hd-keyring 13.1.0

Added

  • Add HdKeyringV2 class implementing KeyringV2 interface (#398), (#402), (#404), (#410), (#413), (#451), (#453)
    • Wraps legacy HdKeyring to expose accounts via the unified KeyringV2 API and the KeyringAccount type.
    • Extends EthKeyringWrapper for common Ethereum logic.

Fixed

  • Enforce mnemonics validation (#450)
    • Validates mnemonics against BIP39 specification (word count, wordlist, checksum) before use.
    • Throws for invalid mnemonics.

@metamask/eth-ledger-bridge-keyring 11.2.0

Added

  • Add LedgerKeyringV2 class implementing KeyringV2 interface (#416), (#451), (#453)
    • Wraps legacy LedgerKeyring to expose accounts via the unified KeyringV2 API and the KeyringAccount type.
    • Extends EthKeyringWrapper for common Ethereum logic.

Fixed

  • Normalize signature v value from Ledger devices for proper recovery (#449)

83.0.0

21 Jan 08:59
7279322

Choose a tag to compare

@metamask/hw-wallet-sdk 0.2.0

Added

  • Add DeviceUnresponsive error code and Ledger mapping for unresponsive device state (#442)

82.0.0

15 Jan 10:22
54480e8

Choose a tag to compare

@metamask/hw-wallet-sdk 0.1.0

Added

  • Add hardware related error mappings and custom hardware error (#421)
  • Add BLE and mobile error mappings with new error codes for Bluetooth permissions, connection states, and mobile support (#433)

81.0.0

01 Dec 08:58
0e6083c

Choose a tag to compare

@metamask/keyring-api 21.3.0

Added

  • Add initial Keyringv2 interface (#397)
    • This is an on-going work and should not be used for now.
  • Add new Tron methods signMessage and signTransaction (#401)

Changed

  • Deprecate Tron methods signMessageV2 and verifyMessageV2 (#401)

80.0.0

26 Nov 00:09
8ad41fc

Choose a tag to compare

@metamask/eth-snap-keyring 18.0.2

Fixed

  • Make notify:accountCreated event idempotent (#399)