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/utils
from^9.0.0
to^11.0.1
(#67)
- Bump
@metamask/utils
from^8.2.0
to^9.0.0
(#63)
- BREAKING: Increase minimum Node.js version to 16; recommended to 18 (#52)
- Use
globalThis
overglobal
andwindow
(#60)
- Added
isVaultUpdated
function to verify if a given vault was encrypted with the target encryption parameters. (#53) - Added optional
targetDerivationParams
argument toupdateVault
andupdateVaultWithDetail
. (#55)- This argument allows to specify the desired parameters to use
- Support key derivation options (#49)
- Added
EncryptionKey
type to hold aCryptoKey
along with its derivation parameters. - Added
ExportedEncryptionKey
type to hold aJsonWebKey
along with its derivation parameters. - Added Optional
keyMetadata
property of typeKeyDerivationOptions
toEncryptionResult
. - Added Optional
opts
argument tokeyFromPassword
to specify algorithm and parameters to be used in the key derivation. Defaults toPBKDF2
with 900.000 iterations.(#49)) - Added
iterations
argument tokeyFromPassword
function. - Added optional
keyDerivationOptions
argument toencrypt
andencryptWithDetail
to specify algorithm and parameters to be used in the key Defaults toPBKDF2
at 900.000 iterations.
- Added
- 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)
- Add optional parameters and properties to support custom derivation options (#49)
encrypt
method accepts bothEncryptionKey
andCryptoKey
types askey
argument.encryptWithKey
method accepts bothEncryptionKey
andCryptoKey
types askey
argument.decrypt
method accepts bothEncryptionKey
andCryptoKey
types askey
argument.decryptWithKey
method accepts bothEncryptionKey
andCryptoKey
types askey
argument.importKey
method returns aCryptoKey
when a JWK string is passed, or anEncryptionKey
when anExportedEncryptionKey
string is passed.exportKey
method accepts bothEncryptionKey
andCryptoKey
types askey
argument, and returns anExportedEncryptionKey
for the former and aJsonWebKey
for 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)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
- 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.