Skip to content

v3.7.0

Choose a tag to compare

@dmitrizagidulin dmitrizagidulin released this 30 Sep 22:31
· 22 commits to main since this release

Changed

  • Status list credential proofs are verified through the cryptoServices
    configured on createVerifier, so injected custom crypto services apply to
    BitstringStatusListCredentials as well as to VC and VP proofs.
  • BREAKING: The cryptoSuites and verifyBitstringStatusListCredential
    fields are removed from the exported VerificationContext type. Custom suites
    that build a context by hand must drop them.
  • Only BitstringStatusListEntry entries in credentialStatus have their
    statusListCredential fetched and proof-verified; entries of other status
    types are ignored wherever they appear in the array. The check is skipped only
    when no Bitstring entry is present, and the skip reason names every unchecked
    type. Distinct lists are loaded and verified concurrently, and a list shared
    by several entries is loaded and verified once.
  • Status list proof verification is injected into checkStatus through the
    verifyStatusListCredential hook of @interop/vc-bitstring-status-list
    ^3.1.0, which now owns list loading again.
  • BREAKING: CheckResult.id is required. runSuites populates it, so the
    verifier no longer sets it afterward. Code that builds a CheckResult by hand
    must supply an id. The deprecated check and suite fields remain.
  • SuiteSummary.verified is true unless a check marked fatal failed in that
    suite, matching the top-level verified. A suite can have status: 'failure'
    with verified: true when the failing check is non-fatal.
  • SuiteSummary.message always reads <passed> of <total> checks passed, with
    non-zero counts in parentheses: (<k> failed), (<k> skipped),
    (<r> not run after fatal).
  • proof.signature fails with No Proof when the subject has no proof,
    instead of No Applicable Crypto Service. A presentation verified with
    unsignedPresentation: true is exempt.
  • recognition.profile skips with no recognizers configured when
    recognizers is empty, and no recognizer matched when none applies.

Added

  • registry.issuer success outcomes carry the RegistryLookupResult (found,
    matchingRegistries, uncheckedRegistries) on outcome.payload.

Fixed

  • The verified doc comments and docs state that only fatal failures make
    verified false.
  • Presentation holder accepts an object with an id as well as a URL string,
    per VCDM 2.0.