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.
- Use
ts-bridge/[email protected]
(#214)- This new version fixes a bug regarding some missing exports.
- Add
signEip7702Authorization
method (#182)
- BREAKING: Added types to
HdKeyring
(#166)- All methods on
HdKeyring
retain their existing signatures, but now have types.
- All methods on
- Bump
@metamask/eth-sig-util
dependency from^8.0.0
to8.2.0
(#177), (#134) - Bump
@metamask/utils
dependency from^9.3.1
to11.1.0
(#134), (#167)
- Use
ts-bridge/[email protected]
(#118)- This new version fixes a bug with CJS re-exports.
- BREAKING: Move seed generation to deserialization (#100)
- Using the constructor directly no longer generates the seed required for account derivation.
- Both
serialize
anddeserialize
are now properasync
methods.
- Allow passing native custom cryptographic functions (#102)
- The seed generation is now relying
@metamask/key-tree
package (instead of@metamask/scure-bip39
). - The
constructor
now allows a new optioncryptographicFunctions
which allows the use of custom cryptographic functions during seed generation.
- The seed generation is now relying
- BREAKING: Bump
@metamask/eth-sig-util
dependency from^7.0.3
to^8.0.0
(#79)signTypedData
no longer supportnumber
for addresses, see here.
- Convert to monorepo
- Package name does not change (
@metamask/eth-hd-keyring
) and sources have been moved to:packages/keyring-eth-hd
. - You can find all the changes here.
- Package name does not change (
- BREAKING: Update minimum Node.js version from v14 to v16 (#98)
- Bump dependencies (#99)
- BREAKING:
@metamask/eth-sig-util
from^6.0.0
to^7.0.0
- BREAKING:
@metamask/utils
from^5.0.2
to^8.1.0
@ethereumjs/tx
from^4.1.1
to^4.2.0
@ethereumjs/util
from8.0.5
to^8.1.0
ethereum-cryptography
from^1.2.0
to^2.1.2
- BREAKING:
7.0.0 [RETRACTED]
- This version was retracted due to a bug causing code to be missing from published package.
- Bump dependencies (#94)
@ethereumjs/util
from^8.0.2
to^8.1.0
@metamask/eth-sig-util
from^5.0.2
to^6.0.0
@metamask/scure-bip39
from^2.0.3
to^2.1.0
@metamask/utils
from^5.0.0
to^5.0.2
ethereum-cryptography
from^1.1.2
to^1.2.0
6.0.1 [RETRACTED]
- This version was retracted due to a bug causing code to be missing from published package.
- Revert mnemonic serialization format from
Record<number, number>
(i.e. a stringifiedUint8Array
) which was introduced in v5.0.0 back to an untyped array of utf8 encoded bytes, which was the format prior to v5.0.0 (#81)
5.0.1 [DEPRECATED]
- Remove prepack script and references in order to fix publish release flow (#77)
5.0.0 [DEPRECATED]
- BREAKING: Update minimum Node.js version from v12 to v14 (#67)
- BREAKING: Makes version-specific
signTypedData
methods private (#71)- Consumers should use the generic
signTypedData
method and pass the version they'd like as a property in the options argument.
- Consumers should use the generic
- BREAKING: Makes the
wallets
property private (#71)- Consumers should not use this property as it is intended for internal use only.
- BREAKING: Makes
getPrivateKeyFor
a private method (#71)- Consumers who wish to get the private key for a given account should use the
exportAccount
method.
- Consumers who wish to get the private key for a given account should use the
- BREAKING: Bumps browser requirements to those with ES2020 support or greater (#70)
- This change is introduced in update of
@metamask/eth-sig-util
to v5 and new direct dependency onethereumjs/util
v8.0.2
- This change is introduced in update of
- Replaces use of
ethereumjs-wallet
implementation of hdkey with one fromethereum-cryptography
and adapts accordingly. (#69) - Replaces
@metamask/bip39
with@metamask/scure-bip39
(#67)
- BREAKING: Remove redundant
newGethSignMessage
method (#71)- Consumers can use
signPersonalMessage
method as a replacement for newGethSignMessage.
- Consumers can use
- BREAKING:
HDKeyring
no longer extendsEventEmitter
, so noEventEmitter
methods are available on this class (#70) - Removes
ethereumjs-util
dependency. (#67)
- Add parameter validation for constructor /
deserialize
method (#65)- As of v4.0.0, the
deserialize
method (which is also called by the constructor) can no longer generate accounts with thenumberOfAccounts
option without amnemonic
. Prior to v4.0.0, a mnemonic was generated automatically if it was missing, but we now want to ensure a mnemonic is never implicitly generated without the caller knowing.
- As of v4.0.0, the
- Add tests to get coverage to 100% (#62)
- Fix bug where an unexpected error would occur if the mnemonic passed to
_initFromMnemonic
was a buffer array (#62)
- BREAKING: Do not allow re-initialization of keyring instance (#55)
- Consumers are now required to call generateRandomMnemonic() after initialization for creating new SRPs.
- BREAKING: Update minimum Node.js version from v10 to v12 (#45)
- Add
@lavamoat/allow-scripts
(#47)- We now have an allowlist for all post-install scripts. The standard setup script has been added, along with new contributor documentation in the README to explain this script.
- Obfuscate serialized mnemonic (#59)
- Class variable
mnemonic
onHdKeyring
can now be either typeBuffer
or typestring
. - Deserialize method (and
HdKeyring
constructor by extension) can no longer be passed an options object containing a value fornumberOfAccounts
if it is not also containing a value formnemonic
.
- Class variable
- Package name changed from
eth-hd-keyring
to@metamask/eth-hd-keyring
.