- Only add list capacity when 95% of active lists are fully assigned.
- Ensure
MAX_BLOCK_SIZE
accommodatesMAX_LIST_SIZE
.
- 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 useTerseBitstringStatusList
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 useTerseBitstringStatusList
, upgrade and then create new instances that useTerseBitstringStatusList
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 size2^26
, which is how large terse bitstring status lists are by default.
- Ensure invalid JSON-LD is rejected when using JCS cryptosuites.
- Add support for multiple language values w/
name
anddescription
.
- Add support for language values in
name
anddescription
properties.
- Add support for issuing vcs with
ecdsa-jcs-2019
andeddsa-jcs-2022
signatures.
- BREAKING: Any issuer configuration created using the non-legacy format
will no longer include the optional
created
field in its proofs. To includecreated
in the proofs for a particular cryptosuite, specifyincludeCreated=true
in thecryptosuite
options for that cryptosuite. Any issuer instances created using the legacy format will continue to havecreated
appear in the generated proof. A new instance or a configuration change to the new format is required to stop includingcreated
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 legacyEd25519Signature2020
cryptosuite, thecreated
date will always be present regardless of these options.
- Allow
activation
status purpose.
- Improve error handling.
- Return 400 instead of 500 for some common errors.
- Use latest cryptosuite dependencies to get bug fixes.
- Use
@digitalbazaar/[email protected]
to get P-384 proof fix.
- 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.
- Remove unused
@digitalbazaar/lru-memoize
dependency.
- Allow setting the
blockSize
andblockCount
for status lists via status list configuration options. - Allow passing
credentialId
when issuing a credential without anid
to allow referencing it later. - Allow passing
issuer
andcryptosuites
instead ofsuiteName
to provideissuer
(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 haveoptions
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 includedcredentialStatus
. - Add additional validation around basic VCDM properties, preventing issuance of some invalid VCs.
- 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
(from128
) 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
forecdsa-sd-2023
&bbs-2023
now default to['/issuer']
. - BREAKING: Update peer dependencies.
@bedrock/[email protected]
@bedrock/[email protected]
@bedrock/did-context@6
@bedrock/[email protected]
@bedrock/multikey-context@3
@bedrock/security-context@9
@bedrock/[email protected]
@bedrock/service-context-store@12
@bedrock/service-core@10
@bedrock/[email protected]
@bedrock/veres-one-context@16
- Update minor, test, and dev dependencies.
- 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
.
- Add the ability to send
options.mandatoryPointers
to the/credentials/issue
route.
- Passing invalid
options
to the/credentials/issue
route now throws a validation error.
- Add back support to issue credentials with instances using legacy draft
suites
ecdsa-2019
andeddsa-2022
.
- BREAKING: Replaced
ecdsa-2019
andeddsa-2022
withecdsa-rdfc-2019
andecdsa-rdfc-2022
cryptosuites respectively. - BREAKING: Use
@digitalbazaar/data-integrity
v2.0 that uses the contexthttps://w3id.org/security/data-integrity/v2
. - BREAKING: Use
@bedrock/[email protected]
peer dep that uses@digitalbazaar/data-integrity-context
v2.0.
- Updated zcaps referenceId
assertionMethod:foo
toassertionMethod
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 addsP-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 includesP-384
in the list of required algorithm for the cryptosuite, allowing issuance of VCs usingecdsa-2019
with theP-384
algorithm.
- 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
.
- Use
- Update to latest
documentStores
API. - Update test deps.
- Fix failed
23.1.0
release.
- Use
@digitalbazaar/webkms-client@13
. This version required Node.js 18+. - Use
uuid@9
. This version requires Node.js 12+. - Use
@digitalbazaar/vc@6
.
- BREAKING: Drop support for Node.js 16.
- 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.
- Update
- Add support for issuing VCs using the
ecdsa-2019
cryptosuite via the@digitalbazaar/ecdsa-2019-cryptosuite
implementation.
- 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.
- 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.
- Update
@digitalbazaar/vc
and@digitalbazaar/ed25519-signature-*
dependencies.
- 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
.
- Allow any valid json as
req.body
not just Objects and Arrays.
- Do not await
createSuite
. - Change
eddsa-2022
createSuite
function to non-async function.
- Add support for
@digitalbazaar/eddsa-2022-cryptosuite
suite when issuing. - Add
@digitalbazaar/data-integrity
to library.
- Use
@digitalbazaar/[email protected]
in order to enable DataIntegrityProofs.
- Use
@digitalbazaar/webkms-client@12
. Should be no external changes.
- Add support for oauth2-authorized issuer instances.
- 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.
- BREAKING: Use
@digitalbazaar/vc-status-list
v4.0, now includesstatusPurpose
in SLC VCs.
- BREAKING: Use
@bedrock-service-context-store@7
to cause migration of old EDV context documents to the new EDV attribute version.
- Require peer dependency
@[email protected]
to allow use of ephemeral agent when invoking service agent zcaps.
- Add optimization to prevent getting document store when unnecessary.
- 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.
- Add support for
StatusList2021
as a status list option.
- BREAKING: Require
type
in status list config. Currently supported types areRevocationList2020
andStatusList2021
.
- Fix peer deps; use
@bedrock/vc-status-list-context@4
.
- 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
.
- BREAKING: Rename package to
@bedrock/vc-issuer
. - BREAKING: Convert to module (ESM).
- BREAKING: Remove default export.
- BREAKING: Require node 14.x.
- BREAKING: Do not store issued VCs or check for duplicate VC IDs unless a credential status mechanism is configured.
- Add missing dependency
[email protected]
. - Add missing dependencies
@digitalbazaar/[email protected]
and@digitalbazaar/[email protected]
in test.
- Update
coverage-ci
script to not output tocoverage.lcov
.
- Remove unused dependency
@digitalbazaar/[email protected]
. - Remove unused dependencies from test.
- BREAKING: Use
statusPurpose
instead ofstatusType
for all param names and data models. - Update dependencies:
@digitalbazaar/[email protected]
.
- BREAKING: Update peer dependencies:
bedrock-service-core@3
bedrock-service-context-store@3
[email protected]
.
- Fix linting error.
- BREAKING: Disable loading contexts from the Web by default.
- 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.
- BREAKING: Move zcap revocations to
/zcaps/revocations
to better future proof. - BREAKING: Require
bedrock-service-core@2
,bedrock-service-agent@2
, andbedrock-service-context-store@2
peer dependencies.
- Remove unused
@digitalbazaar/http-client
dependency.
- Add default (dev mode)
app-identity
entry forvc-issuer
service.
- Use
@digitalbazaar/vc-status-list-context
and updated bedrock-vc-status-list-context. These dependencies have no changes other than moved package locations.
- 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.
- Revert back to appending the revocation list context to the credential.
- BREAKING: Update to use latest Ed25519 key and signature suites, latest
did-io
.
- Update [email protected].
- Update deps.
- Update test deps.
- Update peerDependencies.
- Use bitstring from @digitalbazaar/bitstring.
- Include privateKmsBaseUrl and publicKmsBaseUrl in test.
- Add keyResolver in test.
- Fix usage of the MongoDB projection API.
- Update deps.
- Update test deps.
- Update peerDependencies to include bedrock-account@4.
- Update test deps.
- Update CI workflow.
- Improve test coverage.
- BREAKING: Use edv-client@4. This is a breaking change here because of changes in how edv-client serializes documents.
- BREAKING: Use bedrock-mongodb ^7.0.0.
- Add a working test for the issuer.
- Update mongodb calls to use mongo driver 3.5 api
- Add support for
did:v1
resolution.
- BREAKING: Obsolete APIs have been removed. See git history for changes.
- 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.
- Added core files.
- See git history for changes.