- Fix
createPresentationthrowing expiration error whenverify: false.
- Add a parameter to
createPresentationto allow VC verification to be optional. Addresses issue #32. Does not change current default behavior.
- BREAKING: Removes CJS build
- move status check before expiry check because expiry check throws error that had prevented the status check from running
- attach the credential to the verification result for each credential submitted as part of a VP verification
- add signature checks to the log before running other verification checks whose errors might prevent that logging
- BREAKING: The dependency
@digitalcredentials/jsonld-signatures@12.0.0(via@digitalcredentials/ed25519-signature-2020) now requiresexpo-cryptofor React Native sha256 digest hashing, instead of@sphereon/isomorphic-webcrypto@2.5.0-unstable.0.- IMPORTANT: This means that IF you're using this library inside a React Native project, you MUST include
expo-cryptoin your project'sdependencies.
- IMPORTANT: This means that IF you're using this library inside a React Native project, you MUST include
- Fix stray Error object in
CredentialIssuancePurpose.
- Add support for VC 2.0 Verifiable Credentials issuance and verification.
- Add support for VC 2.0 Verifiable Presentations issuance and verification.
- Add support for VC 2.0
validFromandvalidUntil. - Add Test vectors for VC 2.0 VCs & VPs.
- Allow
credentialStatusarrays in credential status check. - Add
derive()API for deriving new verifiable credentials from existing ones, for the purpose of selective disclosure or unlinkable presentation. - Add optional param
nowtoverifyCredential(),createPresentation(),verify(), andissue().
- BREAKING: Switch dependencies to:
@digitalcredentials/jsonld@digitalcredentials/jsonld-signatures@digitalcredentials/http-client
- BREAKING: Default issuance now uses VC 2.0 context.
- BREAKING: DateTime validator is now an xml schema DateTime validator.
- Change
engines.nodeto>=18to support newer keys & suites. - Update dependencies.
- BREAKING: Remove support for
expansionMap. (Removed in dependencies.)
- BREAKING: Remove support for
- BREAKING: Use
jsonld-signatures@11andjsonld@8to get newsafemode (and on by default when usingcanonize) feature. - BREAKING: Check if credential has expired when
expirationDateproperty exists. - BREAKING: Convert to module (ESM).
- BREAKING: Require Node.js >=14.
- Update dependencies.
- BREAKING:
did-veres-one@15.0.0used in tests.
- BREAKING:
- Lint module.
- Ensure that
issuanceDateis only checked on verification, not issuance. - Fix bug with option overrides for verifying presentations.
- BREAKING: Remove ODRL and VC examples contexts from
./lib/contexts/and from the default document loader. The contexts are now available in@digitalbazaar/odrl-contextand@digitalbazaar/credentials-examples-context.
- Switch to DigitalBazaar's
jsonld,http-clientandrdf-canonizelibs - Switch to Sphereon's fork of
isomorphic-webcrypto
- Update to use latest OBv3 context in tests
- Add a test for verifying a 2018-signed VC.
- BREAKING: Add a fallback/override for legacy OBv3 VCs.
- BREAKING: Remove check if
issuanceDateis not in the future as this is a fully expected use-case (to issue credentials that become valid at some point in time).
- BREAKING: For
verify()andverifyCredential(), if an error is encountered, re-throw it (do not return it as part of the results log).
- Remove use of
URL.protocol(not implemented in React Native).
- Add fine grained verification event
logparameter toverifyCredential()results.
- BREAKING: Check if credential has expired when
expirationDateproperty exists.
- Add optional param
nowtoverifyCredential(),createPresentation(),verify(), andissue().
- Check if credential has expired if
expirationDateproperty exists.
Version skipped to match upstream.
- Sync VC example context from vc-data-model spec source.
- Refactor _validateUriId (remove protocol check - unsupported by RN).
- Fix validation of
credentialSubject.id,issuerandevidence-- if it's not a URI, reject the credential. - BREAKING: No longer pass in custom parameters to
issue().
- If
issuanceDateis not set, default tonow()on issuing.
- Remove use of runtime
esmcompiler for TypeScript and ReactNative compat.
- BREAKING: Rename library to
@digitalbazaar/vc. - Update dependencies.
- BREAKING: Remove typescript def generation support.
- BREAKING: No longer shipping browser bundles.
- BREAKING: Move binaries from
bin/to@digitalbazaar/vc-js-cli.
- The results from verifying a presentation now includes
credentialIdwhich makes it possible to correlate success/failure messages with credentials.
- Improve error reporting when
suiteparameter is missing.
- Accept string value for a single VP context.
- Fix reporting of
credentialResultsinverifyoutput.
- Add
checkStatusoption. This is a function that can be passed that will be executed when a VC has acredentialStatusattribute.
verifiableCredentialparam is now optional increatePresentation().- BREAKING:
verify()now only verifies presentations, not credentials, (since that will be the most common use case). For credentials, a separateverifyCredential()method has been added. - BREAKING: Rename
verify()'spurposeparameter topresentationPurpose.
- Multiple types for a VerifiableCredential no longer required (fix).
- Multiple
@contexts for a VC no longer required (fix).
- BREAKING: For VerifiablePresentations, break the async
createPresentation()API into two separate calls: a synccreatePresentation()and an asyncsignPresentation(). - BREAKING: Change default proof purpose for VerifiablePresentations
from
assertionMethodtoauthentication. - BREAKING: A
challengeparam is required when verifying a VP.
- Add support for optionally verifying unsigned presentations.
- Update docs.
- Evidence IDs are now optional.
- Update webpack build.
- Cleanups.
- Use
credentials-contextpackage. - Update dependencies.
- BREAKING: Add further checks for controller, suite and assertionMethod
- BREAKING: Node.js v6 support.
- Export
defaultDocumentLoaderin main vc.js.
- Initial version. See git history for changes.