v3.0.0
·
598 commits
to next
since this release
3.0.0 (2021-09-20)
Bug Fixes
- deps: update all non-major dependencies (8fc5312)
- deps: update builders-and-testers (acef171)
- deps: update builders-and-testers (ca746d2)
- deps: update dependency @microsoft/api-extractor to v7.18.6 (80b8f67)
- deps: update dependency @microsoft/api-extractor to v7.18.7 (28d7cf0)
- deps: update dependency uint8arrays to v3 (#669) (a5f5c42)
- did-ethr-provider: allow initialization with chainId number (#678) (38cd0ae), closes #677
- did-resolver: always include didResolutionMetadata in result (#682) (aabddb4), closes #681
- key-manager: handle eth_signTransaction with from field (#675) (50f074d), closes #674
Features
- data-store: initialize DB using migrations (#679) (41f6240), closes #676
- key-manager: move private key storage to kms-local (#661) (6b1d135), closes #539 #540 #680
BREAKING CHANGES
- key-manager:
keyManagetGetno longer returns private key data - key-manager:
KeyStoreno longer requires aSecretBox - key-manager:
KeyManagementSystemneeds aPrivateKeyStore - key-manager: @veramo/cli configuration version update to 3.0
If you're already working with Veramo and wish to upgrade existing agents to veramo 3.0, you'll have to make some changes to your configuration, depending on how you're using the framework.
It boils down to these 3 steps:
- Update your database connection to use migrations
- Remove the
SecretBoxparameter fromKeyManager - Add a
PrivateKeyStoreparameter toKeyManagementSystemwith aSecretBoxthat you were using before withKeyManager(and keep the same encryption key)
- feat(key-manager): move private key storage to kms-local
- data-store: database needs migrations for initialization. See #679 #676
The@veramo/data-storepackage relies ontypeormas a database abstraction.
Typeorm has a connection flagsynchonizewhich bootstraps the database along with schema and relations based on a set ofEntities(annotated typescript classes).
This is very handy for fast development iterations but it is not recommended for production use because there is too much ambiguity possible when theEntitieschange, and there is a risk of data loss.
The recommended way to do things is to use themigrationsmechanism. It allows you to migrate to new database schemas when necessary, and even customize the database to your own needs.
Going forward, this is the mechanism we will be recommending for connections.