Skip to content

Releases: MetaMask/KeyringController

17.0.1

22 Jan 11:06
ecb4cd4
Compare
Choose a tag to compare

Changed

  • Bump @metamask/keyring-api to ^3.0.0 (#344)

17.0.0

19 Jan 18:46
2d73a4d
Compare
Choose a tag to compare

Changed

  • BREAKING: Unify createNewVaultAndKeychain and createNewVaultAndRestore into new method createNewVaultWithKeyring. createNewVaultWithKeyring accepts a password and a keyring object provided by the client and returns the KeyringControllerState (#329)
  • Bump @metamask/utils from 8.2.1 to 8.3.0 (#335)

16.0.0

12 Jan 18:31
af5baf1
Compare
Choose a tag to compare

Changed

  • BREAKING: Bump @metamask/obs-store from ^8.1.0 to ^9.0.0 (#306)
    • The store and memStore properties now expose streams confirming to readable-stream@^3.6.2
  • BREAKING: Replace GenericEncryptor.updateVault with GenericEncryptor.isVaultUpdated (#310))
  • Bump @metamask/browser-passworder from ^4.2.0 to ^4.3.0 (#310 #311)

Fixed

  • Prefer cached encryptionKey over password when possible (#307)

v15.1.0

29 Nov 22:14
a96d4e5
Compare
Choose a tag to compare

Added

  • Added optional isVaultUpdated property to GenericEncryptor type (#312)

Changed

  • Bump @metamask/browser-passworder to ^4.3.0 (#312)

Removed

  • Removed updateVault optional property from GenericEncryptor type (#312)

Fixed

  • Improved encryption performance when the controller is constructed with cacheEncryptionKey: true (#312)

15.0.0

14 Nov 15:35
8bbb7f0
Compare
Choose a tag to compare

Changed

  • BREAKING Removed encryptor class variable (#293)
  • BREAKING Removed cacheEncryptionKey class variable (#293)
  • BREAKING Changed encryptor constructor option property type to GenericEncryptor | ExportableKeyEncryptor | undefined (#293)
    • When the controller is instantiated with cacheEncryptionKey = true, the encryptor type is restricted to ExportableKeyEncryptor | undefined

14.0.1

13 Nov 14:15
48d19af
Compare
Choose a tag to compare

Fixed

  • Fix removeAccount to await the account removal in order to account for Snaps keyrings (#280)
  • Bump @metamask/eth-simple-keyring from ^6.0.0 to ^6.0.1 (#287)

14.0.0

03 Oct 08:19
4943da5
Compare
Choose a tag to compare

Changed

  • BREAKING: Bump @metamask/eth-sig-util from ^6.0.0 to ^7.0.0 (#269)
  • BREAKING: Bump @metamask/eth-hd-keyring from ^6.0.0 to ^7.0.1 (#275)
  • BREAKING: Bump @metamask/eth-simple-keyring from ^5.0.0 to ^6.0.0 (#273)

13.0.1

12 Sep 11:04
61bbfc4
Compare
Choose a tag to compare

Changed

  • Bump @metamask/utils from ^6.2.0to^8.1.0` (#261)

13.0.0

18 Jul 13:27
12e3a20
Compare
Choose a tag to compare

Added

  • Added KeyringControllerPersistentState type which includes only persistent state, an optional string property with key vault (#247)
  • Added KeyringObject type for how keyrings are represented in memStore (#247)

Changed

  • BREAKING: Add types for store and fix type discrepancies (#247)
  • BREAKING: Constructor parameter KeyringControllerArgs fields changed (#247):
  • BREAKING: type of store and memStore public properties changed (#247):
    • KeyringController.store is now an ObservableStore<KeyringControllerPersistentState>
    • KeyringController.memStore is now an ObservableStore<KeyringControllerState>
  • BREAKING: updateMemStoreKeyrings method return type changed to Promise<void> (#247)
  • BREAKING: KeyringControllerState type changed to include only non-persistent state (#247):
    • Now undefined is used instead of null when encryptionKey and encryptionSalt are unset
    • keyrings is now of type KeyringObject[] instead of Keyring<Json>
    • password, store, memStore have been removed - note that in practice this change only affects types
    • This changes cause the following methods also to change the return type:
      • createNewVaultAndKeychain
      • createNewVaultAndRestore
      • setLocked
      • submitPassword
      • submitEncryptionKey
      • addNewAccount
      • removeAccount
      • fullUpdate
  • BREAKING: When constructing a simple keyring with addNewKeyring, the second parameter (opts) is now expected to be an array of private keys rather than an object with a privateKeys property (#253)
  • Restored support for keyrings with non-object serialized state (#253)
  • Narrow return type of signTypedMessage and encryption methods (#249)
    • The methods signTypedMessage, getEncryptionPublicKey, and decryptMessage now return string rather than Bytes

Fixed

  • Fix signTypedMessage parameter types (#250)
  • Restore compatibility with QR Keyring (#252)
    • An empty object is no longer used as a default when deserialized state was not provided to the addNewKeyring method. This default empty object was breaking the QR keyring.

12.0.1

12 Jul 14:52
b14486f
Compare
Choose a tag to compare

Fixed

  • Improved error handling when calling getKeyringForAccount with empty or invalid address (#238)