Skip to content

Releases: MetaMask/browser-passworder

5.0.1

09 Jul 21:18
214e754
Compare
Choose a tag to compare

Changed

  • Bump @metamask/utils from ^8.2.0 to ^9.0.0 (#63)

5.0.0

09 Apr 09:02
3f0610b
Compare
Choose a tag to compare

Changed

  • BREAKING: Increase minimum Node.js version to 16; recommended to 18 (#52)
  • Use globalThis over global and window (#60)

4.3.0

24 Nov 13:38
02e9ca9
Compare
Choose a tag to compare

Added

  • Added isVaultUpdated function to verify if a given vault was encrypted with the target encryption parameters. (#53)
  • Added optional targetDerivationParams argument to updateVault and updateVaultWithDetail. (#55)
    • This argument allows to specify the desired parameters to use

4.2.0

13 Nov 15:51
0e9e493
Compare
Choose a tag to compare

Added

  • Support key derivation options (#49)
    • Added EncryptionKey type to hold a CryptoKey along with its derivation parameters.
    • Added ExportedEncryptionKey type to hold a JsonWebKey along with its derivation parameters.
    • Added Optional keyMetadata property of type KeyDerivationOptions to EncryptionResult.
    • Added Optional opts argument to keyFromPassword to specify algorithm and parameters to be used in the key derivation. Defaults to PBKDF2 with 900.000 iterations.(#49))
    • Added iterations argument to keyFromPassword function.
    • Added optional keyDerivationOptions argument to encrypt and encryptWithDetail to specify algorithm and parameters to be used in the key Defaults to PBKDF2 at 900.000 iterations.
  • Added updateVaultWithDetail function to update existing vault and exported key with a safer encryption method if available (#49)
  • Added updateVault function to update existing vault string with a safer encryption method if available (#49)

Changed

  • Add optional parameters and properties to support custom derivation options (#49)
    • encrypt method accepts both EncryptionKey and CryptoKey types as key argument.
    • encryptWithKey method accepts both EncryptionKey and CryptoKey types as key argument.
    • decrypt method accepts both EncryptionKey and CryptoKey types as key argument.
    • decryptWithKey method accepts both EncryptionKey and CryptoKey types as key argument.
    • importKey method returns a CryptoKey when a JWK string is passed, or an EncryptionKey when an ExportedEncryptionKey string is passed.
    • exportKey method accepts both EncryptionKey and CryptoKey types as key argument, and returns an ExportedEncryptionKey for the former and a JsonWebKey for the latter.
  • Pin TypeScript version to ~4.8.4 (#50)

4.1.0

10 Mar 03:41
f870292
Compare
Choose a tag to compare

Changed

  • Export data types (#45)
    • This module now exports the following date types: DetailedEncryptionResult, DetailedDecryptResult, and EncryptionResult

4.0.2

14 Nov 16:19
b191b59
Compare
Choose a tag to compare

Fixed

  • Restore derived key default exportable to false, provide option to make exportable (#38)
    • keyFromPassword will now default to generating a non-exportable key, just as it had prior to v4.
    • This removes an unintended breaking change from v4

4.0.1

07 Nov 15:57
bd958e0
Compare
Choose a tag to compare

Fixed

  • Fix publishing script (#35)
    • No functional changes from v4.0.0. This just makes it possible to publish to npm again. v4.0.0 was not published.

4.0.0

07 Nov 13:50
9a34e58
Compare
Choose a tag to compare

Added

  • Allow decrypting and encrypting with exported and imported keys (#29)

Changed

  • BREAKING: Set minimum Node.js version to v14 (#24)

3.0.0

03 Aug 19:23
3cc0436
Compare
Choose a tag to compare

Added

  • Add LICENSE file (#1)
    • Previous versions were listed as being licensed as ISC, but the file was missing.

Changed

  • BREAKING: Rename package from browser-passworder to @metamask/browser-passworder (#14)
  • BREAKING: Set minimum Node.js version to v12 (#9)
  • Convert to TypeScript (#6)
  • Remove browserify-unibabel dependency (#13)