Skip to content

Releases: Sphereon-Opensource/PEX

Bugfix release

15 Aug 15:33
Compare
Choose a tag to compare
  • Fixed:
    • Json-path fix for when an array needs to be searched in a field filter. See README for how to search in an array, as not all JSON schema methods are supported in current verion.

Bugfix release

30 Jun 20:54
Compare
Choose a tag to compare

Bugfix release

  • Added:
    • Add status object to evaluationResult which informs whether VCs would satisfy the Definition or not
  • Fixed:
    • Some errors would be filtered out by mistake

JWT vc/vp support, async sign callbacks, fixes

30 May 14:12
Compare
Choose a tag to compare

Added support for jwt vc/vp, added support for async callbacks, fixed some issues with generating PresentationSubmission

  • Added:
    • support for jwt vc
    • support for jwt vp
    • support for async callback when creating verifiable presentation (verifiablePresentationFromAsync)
  • Changed:
    • verifiablePresentationFrom is deprecated
  • Fixed:
    • handling of submission_requirement object
    • creation of presentation_submission
    • handling of unwrapped jwt verifiable credentials

Fix React-Native not working with matchAll regexes

14 Jan 12:18
Compare
Choose a tag to compare

Added String.matchAll shim for React-Native compatibility. Will be removed later and updated with another solution, to keep the deps to a minumum

  • Fixed:
    • React-Native not working with matchAll regexes

JWT VC deserialization related fixes

13 Jan 22:00
Compare
Choose a tag to compare

Some JWT VC related fixes in the deserialization and VC claim comparisons

  • Fixed:
    • JWT exp and nbf values can be numbers
    • JWT issuer can be an object with id. Ensure we also check this value against the VC claim
    • Always ensure JWT timestamps are serialized as ISO date strings in the resulting VC

First stable PEX library version supporting V1 and V2 of the Presentation Exchange spec.

13 Jan 17:49
Compare
Choose a tag to compare

This is the first stable PEX library that has complete support for V1 and V2 of the Presentation Exchange spec.

  • Added:
    • Check for hashlinks in schemas for a V1 specification. If we encounter them we generate a warning we did not verify the hashlink, as unfortunately there are no current typescript libraries that support hashlink decoding.
  • Changed:
    • limitDisclosure and holderDids arguments made optional everywhere. Do note that definitions that use some holder binding and/or selective disclosure require these arguments to be present, so we advise to always populate them
  • Fixed
    • React-native has no support for look-behind in regexes. We used this in escaping JSONLD terms in JSON-paths. Replaced by some typescript logic.

Escape JsonLD terms in json-paths. Improved JWT VC handling. Bugfixes

11 Jan 18:13
Compare
Choose a tag to compare

Escape JsonLD terms in json-paths. This allows path constructs like $..@context to be used in definitions. Improved JWT VC handling.

  • Added:

    • JSonLD terms like @context need to be escaped for the json-path library.
      As long as the @ is followed by one or more word-characters we internally escape it, so that the json-path library functions as one would expect.
  • Changed:

    • We now have better JWT claim handling. We are using VC values from the JWT if present. Otherwise we use JWT claim values. If both are present we check them to be equal.
    • Documentation updates
  • Fixed:

    • Format minimum was not properly handled the schema check
    • We translate _const and _enum from the OpenAPI models internally to their actual protected typescript keys (const and enum)
    • Different submission requirements and definition combinations where not counted properly

No exports of internal structures anymore

31 Dec 20:11
Compare
Choose a tag to compare

No exports of internal structures anymore. Split internal and external interfaces and types

  • Changed:
    • Moved internal types to separate file
    • Only export external interfaces and types

Small improvements in the Credential interfaces, removal of exposure of internal structures in the PEX class. Small bugfixes

31 Dec 18:32
Compare
Choose a tag to compare

Breaking change: class and package renamed in v0.6.0!

As part of introducing Presentation Exchange v1 and v2 feature based detection support to our Presentation Exchange
library and not reaching version 1.X yet, we decided to change the name of both the package and the main entry class:

  • The package was changed from @sphereon/pe-js to @sphereon/pex
  • The main class was changed from PEJS to PEX. The latter class has internal feature detection support on the
    provided definition, delegating the actual implementation to the new PEXv1 or PEXv2 class internally. If you don't
    want the automatic feature detection you can also choose to use the PEXv1 and PEXv2 classes directly.

  • Changed:

    • Next to @context evaluation for V1 schema values, we now look at the credentialSchema
    • Seperated Credentials and VerifiableCredential public interfaces into JSON-LD and JWT versions
  • Fixed:

    • We were exposing some internal structures in the PEX class
    • Group validation assumed an array being present, which could be a string

Presentation Exchange v2 support + better JWT/JSON-LD handling

29 Dec 21:09
Compare
Choose a tag to compare

Add Presentation Exchange v2 support, separating JWT Verifiable Credentials and JSON-LD VerifiableCredentials

Breaking change: class and package renamed in v0.6.0!
As part of introducing Presentation Exchange v1 and v2 feature based detection support to our Presentation Exchange
library and not reaching version 1.X yet, we decided to change the name of both the package and the main entry class:

  • The package was changed from @sphereon/pe-js to @sphereon/pex

  • The main class was changed from PEJS to PEX. The latter class has internal feature detection support on the
    provided definition, delegating the actual implementation to the new PEXv1 or PEXv2 class internally. If you don't
    want the automatic feature detection you can also choose to use the PEXv1 and PEXv2 classes directly.

  • Added:

    • presentation exchange v2 support
      • supporting method for all the previous methods in v2
      • presentation definition version discovery
      • presentation definition validator for v2
      • frame validation
    • Updated:
      • Json-LD and JWT verifiable credentials are separated internally
      • All the messaged now come from an enum instead of literal strings
      • Dependency versions