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.
- BREAKING: Increase minimum Node.js version to
^18.18(#66) - Bump
@metamask/utilsfrom^9.0.0to^11.0.1(#67)
- Bump
@metamask/utilsfrom^8.2.0to^9.0.0(#63)
- BREAKING: Increase minimum Node.js version to 16; recommended to 18 (#52)
- Use
globalThisoverglobalandwindow(#60)
- Added
isVaultUpdatedfunction to verify if a given vault was encrypted with the target encryption parameters. (#53) - Added optional
targetDerivationParamsargument toupdateVaultandupdateVaultWithDetail. (#55)- This argument allows to specify the desired parameters to use
- Support key derivation options (#49)
- Added
EncryptionKeytype to hold aCryptoKeyalong with its derivation parameters. - Added
ExportedEncryptionKeytype to hold aJsonWebKeyalong with its derivation parameters. - Added Optional
keyMetadataproperty of typeKeyDerivationOptionstoEncryptionResult. - Added Optional
optsargument tokeyFromPasswordto specify algorithm and parameters to be used in the key derivation. Defaults toPBKDF2with 900.000 iterations.(#49)) - Added
iterationsargument tokeyFromPasswordfunction. - Added optional
keyDerivationOptionsargument toencryptandencryptWithDetailto specify algorithm and parameters to be used in the key Defaults toPBKDF2at 900.000 iterations.
- Added
- Added
updateVaultWithDetailfunction to update existing vault and exported key with a safer encryption method if available (#49) - Added
updateVaultfunction to update existing vault string with a safer encryption method if available (#49)
- Add optional parameters and properties to support custom derivation options (#49)
encryptmethod accepts bothEncryptionKeyandCryptoKeytypes askeyargument.encryptWithKeymethod accepts bothEncryptionKeyandCryptoKeytypes askeyargument.decryptmethod accepts bothEncryptionKeyandCryptoKeytypes askeyargument.decryptWithKeymethod accepts bothEncryptionKeyandCryptoKeytypes askeyargument.importKeymethod returns aCryptoKeywhen a JWK string is passed, or anEncryptionKeywhen anExportedEncryptionKeystring is passed.exportKeymethod accepts bothEncryptionKeyandCryptoKeytypes askeyargument, and returns anExportedEncryptionKeyfor the former and aJsonWebKeyfor the latter.
- Pin TypeScript version to
~4.8.4(#50)
- Export data types (#45)
- This module now exports the following date types:
DetailedEncryptionResult,DetailedDecryptResult, andEncryptionResult
- This module now exports the following date types:
- Restore derived key default exportable to
false, provide option to make exportable (#38)keyFromPasswordwill now default to generating a non-exportable key, just as it had prior to v4.- This removes an unintended breaking change from v4
- 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.
- Allow decrypting and encrypting with exported and imported keys (#29)
- BREAKING: Set minimum Node.js version to v14 (#24)
- Add LICENSE file (#1)
- Previous versions were listed as being licensed as ISC, but the file was missing.