UNPKG

bedrock-web-vc-store

Version:

A Javascript library for storing Verifiable Credentials for Bedrock web apps.

106 lines (77 loc) 3.37 kB
# bedrock-web-vc-store ChangeLog ## 6.0.2 - 2022-02-13 ### Fixed - Force `mutator` to be `false` not just falsey to avoid bugs. ## 6.0.1 - 2022-02-13 ### Fixed - Fix allowing falsey `mutator` option. ## 6.0.0 - 2022-02-09 ### Added - Add `convertVPRQuery` helper to convert VPR queries into local queries that can be passed to `find()`. The only VPR query type presently supported is `QueryByExample`; the ability to register new conversion functions may be added in the future. - Add indexes on `meta.displayable`, `meta.bundledBy`, and `content.type` to enable more queries. - Add `upsert()` API for updating credentials based on `id`. - Add the ability to insert credential "bundles". A credential bundle is a credential that "bundles" other credentials, creating meta data links between them such that if the credential bundle is deleted, the other credentials may be deleted as well. Credentials can be marked as "dependent" on the other credentials that bundle them, such that they will be deleted if all bundling credentials are also deleted. ### Changed - **BREAKING**: The constructor for a `VerifiableCredentialStore` only takes one parameter now: `edvClient`. This interface must handle all `capability` / `invocationSigner` related business internally (if the edv client is for an HTTPS-based EDV. - **BREAKING**: The `insert()` API returns the entire EDV document holding the VC. - **BREAKING**: The `get()` API returns the entire EDV document holding the VC. - **BREAKING**: The `find()` API returns the entire EDV documents holding the matching VCs. - **BREAKING**: Use named export `VerifiableCredentialStore` instead of `default` export. ### Removed - **BREAKING**: Removed the `match()` API. Instead, use `convertVPRQuery` to convert a Verifiable Presentation Request query into a local query that can be passed to `find()`. The results of `find()` can be run through external custom selector code to determine the best match for the query based on whatever algorithm the application calls for. This also simplifies this module's purpose by not having it provide these algorithms or a way to inject them into this module's functions to run internally; instead the new design separates these concerns. ## 5.1.0 - 2022-01-23 ### Added - Add ability to include a zcap with the authority to use an EDV's `/documents` API when constructing a `VerifiableCredentialStore` instance. ## 5.0.0 - 2021-07-12 ### Changed - **BREAKING**: Updates `get` API to return `content` and `meta`. ## 4.1.0 - 2021-07-09 ### Changed - Throw `NotSupportedError` when trustedIssuer.id is undefined. ## 4.0.1 - 2021-07-07 ### Fixed - Fix `_query()` and tests. ## 4.0.0 - 2021-06-15 ### Changed - **BREAKING**: Updates `find` API params to now only accept `query`. - Updates `find` and `match` APIs to handle an array of `types`. ## 3.0.1 - 2021-05-06 ### Changed - Fix bug with `delete` function. ## 3.0.0 - 2021-03-26 ### Changed - **BREAKING**: Changed EDV indexing of credential documents. ## 2.0.0 - 2020-06-29 ### Changed - **BREAKING**: Use edv-client@4. This is a breaking change here because of changes in how edv-client serializes documents. ## 1.0.0 - 2020-03-06 ### Changed - See git history for changes. ## 0.1.0 - 2019-04-17 - See git history for changes previous to this release.