Skip to content

Latest commit

 

History

History
95 lines (79 loc) · 6.06 KB

CHANGELOG.md

File metadata and controls

95 lines (79 loc) · 6.06 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: Increase minimum Node.js version to ^18.18 (#66)
  • Bump @metamask/utils from ^9.0.0 to ^11.0.1 (#67)

Changed

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

Changed

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

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

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)

Changed

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

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

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.

Added

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

Changed

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

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)