Skip to content

Latest commit

 

History

History
564 lines (421 loc) · 16.9 KB

CHANGELOG.md

File metadata and controls

564 lines (421 loc) · 16.9 KB

bedrock-vc-issuer ChangeLog

29.0.2 - 2025-02-27

Fixed

  • Only add list capacity when 95% of active lists are fully assigned.

29.0.1 - 2025-02-27

Fixed

  • Ensure MAX_BLOCK_SIZE accommodates MAX_LIST_SIZE.

29.0.0 - 2025-02-27

Changed

  • BREAKING: Update default terse list count to match spec; it is now 64 (2^6) instead of 32768 (2^15). See the TerseBitstringStatusList spec for more details on the list count choice. Existing deployments that do not use TerseBitstringStatusList can be safely updated to this version. Existing deployments that do use it but where an upgrade is desirable, should stop using existing instances that use TerseBitstringStatusList, upgrade and then create new instances that use TerseBitstringStatusList to reenable existing use. Other upgrade paths and behavior are undefined. Note that the associated status instance must support larger list sizes as well, for example, install @bedrock/[email protected] or later (if using bedrock) on the status service.
  • Increase MAX_LIST_SIZE to accommodate lists of up to size 2^26, which is how large terse bitstring status lists are by default.

28.4.0 - 2024-12-17

Added

  • Ensure invalid JSON-LD is rejected when using JCS cryptosuites.

28.3.0 - 2024-12-17

Added

  • Add support for multiple language values w/name and description.

28.2.0 - 2024-12-17

Added

  • Add support for language values in name and description properties.

28.1.0 - 2024-11-08

Added

  • Add support for issuing vcs with ecdsa-jcs-2019 and eddsa-jcs-2022 signatures.

28.0.0 - 2024-09-23

Changed

  • BREAKING: Any issuer configuration created using the non-legacy format will no longer include the optional created field in its proofs. To include created in the proofs for a particular cryptosuite, specify includeCreated=true in the cryptosuite options for that cryptosuite. Any issuer instances created using the legacy format will continue to have created appear in the generated proof. A new instance or a configuration change to the new format is required to stop including created in legacy issuer instances. This approach ensures that deployments that only use legacy issuer instances in production can include this update without any changes. Note that for the legacy Ed25519Signature2020 cryptosuite, the created date will always be present regardless of these options.

27.1.0 - 2024-09-18

Added

  • Allow activation status purpose.

27.0.3 - 2024-08-27

Changed

  • Improve error handling.
    • Return 400 instead of 500 for some common errors.

27.0.2 - 2024-08-26

Fixed

  • Use latest cryptosuite dependencies to get bug fixes.

27.0.1 - 2024-08-26

Fixed

27.0.0 - 2024-08-19

Changed

  • BREAKING: Use @digitalbazaar/bbs-2023-cryptosuite@2 to get interoperability with the latest IETF BBS draft 6. Previous BBS proofs are no longer compatible and should be considered obsolete.

26.0.1 - 2024-08-02

Fixed

  • Remove unused @digitalbazaar/lru-memoize dependency.

26.0.0 - 2024-08-02

Added

  • Allow setting the blockSize and blockCount for status lists via status list configuration options.
  • Allow passing credentialId when issuing a credential without an id to allow referencing it later.
  • Allow passing issuer and cryptosuites instead of suiteName to provide issuer (to eliminate the need for the instance to retrieve it during issuance), to provide additional cryptosuite-specific options, and to allow the use of multiple cryptosuites when issuing (generating a proof set instead of a single proof on a credential). Each cryptosuite can also have options passed and doing so will additionally prevent clients from overriding them (e.g., options.mandatoryPointers).
  • Add <issuer-instance>/credentials/<credentialId> endpoint for retrieving previously issued VCs, provided that those VCs included credentialStatus.
  • Add additional validation around basic VCDM properties, preventing issuance of some invalid VCs.

Changed

  • BREAKING: Management of status list index allocation has been rewritten in this version and is incompatible with previous versions. There is no backwards compatibility code to transition deployments with issuer instances that were configured to use VC status lists, so it is not possible to upgrade any issuer services with such instances to this new version. This version uses the indexAllocator ID specified in each status list configuration (auto-generated if not given) to keep track of index allocation state.
  • BREAKING: Default status list block size has changed to 32 (from 128) to support greater concurrency and reduce the impact of unused blocks (though all blocks should always be used with a correct implementation and sufficient issuance calls). No changes are needed in new deployments of this version given that no index allocation state will yet exist (when following the above breaking changes requirements).
  • BREAKING: Change the unique index for credential status to use meta.credentialStatus.id instead of what is in the VC itself, as the credential status ID may not be present in a VC (with a credential status).
  • BREAKING: Status lists and status list credentials are no longer served by this module and must be provided by an external status service, such as @bedrock/vc-status. Issuer configurations that use status lists must include a zcap to create status lists on such a service.
  • BREAKING: mandatoryPointers for ecdsa-sd-2023 & bbs-2023 now default to ['/issuer'].
  • BREAKING: Update peer dependencies.
  • Update minor, test, and dev dependencies.

Removed

  • BREAKING: Remove support for obsolete RevocationList2020.
  • BREAKING: /credentials/status API has been removed because status list and status list credentials are served via an external service now such as @bedrock/vc-status.

25.2.0 - 2024-02-02

Added

  • Add the ability to send options.mandatoryPointers to the /credentials/issue route.

Changed

  • Passing invalid options to the /credentials/issue route now throws a validation error.

25.1.0 - 2023-11-14

Added

  • Add back support to issue credentials with instances using legacy draft suites ecdsa-2019 and eddsa-2022.

25.0.0 - 2023-11-13

Changed

  • BREAKING: Replaced ecdsa-2019 and eddsa-2022 with ecdsa-rdfc-2019 and ecdsa-rdfc-2022 cryptosuites respectively.
  • BREAKING: Use @digitalbazaar/data-integrity v2.0 that uses the context https://w3id.org/security/data-integrity/v2.
  • BREAKING: Use @bedrock/[email protected] peer dep that uses @digitalbazaar/data-integrity-context v2.0.

24.1.0 - 2023-11-06

Changed

  • Updated zcaps referenceId assertionMethod:foo to assertionMethod and added code for ensuring backwards compatibility to ensure continued functionality of zcaps with older formatted referenceIds.
  • Update peer dep bedrock/did-io to v10.1 that adds P-384 to the default key types in the DID method key config.
  • Use @digitalbazaar/data-integrity v1.5.0 and @digitalbazaar/ecdsa-2019-cryptosuite v2.0.0 that now includes P-384 in the list of required algorithm for the cryptosuite, allowing issuance of VCs using ecdsa-2019 with the P-384 algorithm.

24.0.0 - 2023-09-19

Changed

  • BREAKING: Update peer deps:
    • Use @bedrock/credentials-context@4.
    • Use @bedrock/data-integrity-context@2.
    • Use @bedrock/did-context@5.
    • Use @bedrock/jsonld-document-loader4.
    • Use @bedrock/multikey-context@2.
    • Use @bedrock/security-context@8.
    • Use @bedrock/service-agent@8.
    • Use @bedrock/service-context-store@11.
    • Use @bedrock/service-core@9.
    • Use @bedrock/vc-revocation-list-context@4.
    • Use @bedrock/vc-status-list-context@5.
    • Use @bedrock/veres-one-context@15.
  • Update to latest documentStores API.
  • Update test deps.

23.1.1 - 2023-09-18

Fixed

  • Fix failed 23.1.0 release.

23.1.0 - 2023-09-15

Changed

  • Use @digitalbazaar/webkms-client@13. This version required Node.js 18+.
  • Use uuid@9. This version requires Node.js 12+.
  • Use @digitalbazaar/vc@6.

23.0.0 - 2023-08-16

Changed

  • BREAKING: Drop support for Node.js 16.

22.0.1 - 2023-04-18

Fixed

  • Fixed mismatched / incompatible peerdeps. Updated to:
    • Update @bedrock/service-agent to v7.0.
    • Update @bedrock/service-context-store to v10.0.
    • Update @bedrock/service-core to v8.0.

22.0.0 - 2023-04-17

Added

  • Add support for issuing VCs using the ecdsa-2019 cryptosuite via the @digitalbazaar/ecdsa-2019-cryptosuite implementation.

Changed

  • BREAKING: Update peerdep @bedrock/did-io to v10.0.
  • BREAKING: Update keyType used to generate assertionMethod zcap referenceId to be uppercase format.
  • Use @bedrock/service-core v7.1. Updates error caused by configuration validation failure.

21.0.0 - 2023-01-08

Changed

  • BREAKING: Use little-endian bit order for all bitstrings, both for internal use and with revocation and status lists. This change is incompatible with previous deployments.

20.0.1 - 2022-10-25

Fixed

  • Update @digitalbazaar/vc and @digitalbazaar/ed25519-signature-* dependencies.

20.0.0 - 2022-10-23

Changed

  • BREAKING: Update peer deps:
    • @bedrock/service-context-store@9
    • @bedrock/service-core@7.
  • BREAKING: See @bedrock/service-core@7 for important config changes and new peer dependency @bedrock/oauth2-verifier@1.

19.4.0 - 2022-10-10

Changed

  • Allow any valid json as req.body not just Objects and Arrays.

19.3.1 - 2022-09-28

Fixed

  • Do not await createSuite.
  • Change eddsa-2022 createSuite function to non-async function.

19.3.0 - 2022-09-21

Added

  • Add support for @digitalbazaar/eddsa-2022-cryptosuite suite when issuing.
  • Add @digitalbazaar/data-integrity to library.

Changed

19.2.0 - 2022-08-02

Changed

  • Use @digitalbazaar/webkms-client@12. Should be no external changes.

19.1.0 - 2022-07-17

Added

  • Add support for oauth2-authorized issuer instances.

19.0.0 - 2022-06-30

Changed

  • BREAKING: Require Node.js >=16.
  • Update dependencies.
  • BREAKING: Update peer dependencies.
    • @bedrock/did-io@9
    • @bedrock/service-agent@6
    • @bedrock/service-context-store@8
    • @bedrock/service-core@6
  • Test on Node.js 18.x.
  • Lint module.
  • Use package.json files field.

18.0.0 - 2022-06-08

Changed

  • BREAKING: Use @digitalbazaar/vc-status-list v4.0, now includes statusPurpose in SLC VCs.

17.0.0 - 2022-05-17

Changed

  • BREAKING: Use @bedrock-service-context-store@7 to cause migration of old EDV context documents to the new EDV attribute version.

16.2.0 - 2022-05-09

Changed

  • Require peer dependency @[email protected] to allow use of ephemeral agent when invoking service agent zcaps.

16.1.0 - 2022-05-05

Changed

  • Add optimization to prevent getting document store when unnecessary.

16.0.0 - 2022-05-05

Changed

  • BREAKING: Update peer deps:
    • @bedrock/service-agent@5
    • @bedrock/service-context-store@6.
  • BREAKING: The updated peer dependencies use a new EDV client with a new blind attribute version. This version is incompatible with previous versions and a manual migration must be performed to update all EDV documents to use the new blind attribute version -- or a new deployment is required.

15.0.0 - 2022-05-02

Added

  • Add support for StatusList2021 as a status list option.

Changed

  • BREAKING: Require type in status list config. Currently supported types are RevocationList2020 and StatusList2021.

14.0.1 - 2022-04-29

Fixed

  • Fix peer deps; use @bedrock/vc-status-list-context@4.

14.0.0 - 2022-04-29

Changed

  • BREAKING: Update peer deps:
    • @bedrock/core@6
    • @bedrock/credentials-context@3
    • @bedrock/did-context@4
    • @bedrock/did-io@8
    • @bedrock/express@8
    • @bedrock/https-agent@4
    • @bedrock/jsonld-document-loader@3
    • @bedrock/mongodb@10
    • @bedrock/security-context@7
    • @bedrock/service-agent@4
    • @bedrock/service-context-store@5
    • @bedrock/service-core@5
    • @bedrock/validation@7
    • @bedrock/vc-status-list-context@3
    • @bedrock/vc-revocation-list-context@3
    • @bedrock/veres-one-context@14.

13.0.0 - 2022-04-06

Changed

  • BREAKING: Rename package to @bedrock/vc-issuer.
  • BREAKING: Convert to module (ESM).
  • BREAKING: Remove default export.
  • BREAKING: Require node 14.x.

12.0.0 - 2022-03-17

Changed

  • BREAKING: Do not store issued VCs or check for duplicate VC IDs unless a credential status mechanism is configured.

11.1.0 - 2022-03-14

Added

Changed

  • Update coverage-ci script to not output to coverage.lcov.

Removed

  • Remove unused dependency @digitalbazaar/[email protected].
  • Remove unused dependencies from test.

11.0.0 - 2022-03-12

Changed

  • BREAKING: Use statusPurpose instead of statusType for all param names and data models.
  • Update dependencies:

10.0.0 - 2022-03-11

Changed

  • BREAKING: Update peer dependencies:

9.0.1 - 2022-03-10

Fixed

  • Fix linting error.

9.0.0 - 2022-03-10

Changed

  • BREAKING: Disable loading contexts from the Web by default.

Removed

  • BREAKING: Remove side-tracking of credential statuses in VC EDV document meta data. This side-tracking can get out of sync with the status list and it is an unnecessary complexity.

8.0.0 - 2022-03-01

Changed

  • BREAKING: Move zcap revocations to /zcaps/revocations to better future proof.
  • BREAKING: Require bedrock-service-core@2, bedrock-service-agent@2, and bedrock-service-context-store@2 peer dependencies.

Removed

  • Remove unused @digitalbazaar/http-client dependency.

7.1.0 - 2022-02-23

Added

  • Add default (dev mode) app-identity entry for vc-issuer service.

7.0.1 - 2022-02-21

Changed

  • Use @digitalbazaar/vc-status-list-context and updated bedrock-vc-status-list-context. These dependencies have no changes other than moved package locations.

7.0.0 - 2022-02-20

Changed

  • BREAKING: Complete refactor to run on top of bedrock-service* modules. While this version has similar functionality, its APIs and implementation are a clean break from previous versions.

6.0.1 - 2021-08-30

Fixed

  • Revert back to appending the revocation list context to the credential.

6.0.0 - 2021-08-30

Changed

  • BREAKING: Update to use latest Ed25519 key and signature suites, latest did-io.

5.4.0 - 2021-01-12

Changed

5.3.0 - 2020-12-17

Changed

  • Update deps.
  • Update test deps.
  • Update peerDependencies.
  • Use bitstring from @digitalbazaar/bitstring.

Fixed

  • Include privateKmsBaseUrl and publicKmsBaseUrl in test.
  • Add keyResolver in test.

5.2.1 - 2020-07-07

Fixed

  • Fix usage of the MongoDB projection API.

5.2.0 - 2020-07-01

Changed

  • Update deps.
  • Update test deps.

5.1.0 - 2020-06-30

Changed

  • Update peerDependencies to include bedrock-account@4.
  • Update test deps.
  • Update CI workflow.
  • Improve test coverage.

5.0.0 - 2020-06-24

Changed

  • BREAKING: Use edv-client@4. This is a breaking change here because of changes in how edv-client serializes documents.

4.0.0 - 2020-06-09

Changed

  • BREAKING: Use bedrock-mongodb ^7.0.0.
  • Add a working test for the issuer.
  • Update mongodb calls to use mongo driver 3.5 api

3.1.0 - 2020-05-18

Changed

  • Add support for did:v1 resolution.

3.0.0 - 2020-04-09

Changed

  • BREAKING: Obsolete APIs have been removed. See git history for changes.

2.0.0 - 2020-04-07

Changed

  • BREAKING: Signs a VC using capabilities and keys delegated from a wallet profile.
  • BREAKING: The automated issuer endpoint requires an application token to be provided in the "authorization" header.
  • BREAKING: The automated issuer endpoint now accepts a single credential to be issued.

1.0.0 - 2020-02-27

Added

  • Added core files.
  • See git history for changes.