Releases: Sphereon-Opensource/PEX
Bugfix release
- 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
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
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
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
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.
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
andholderDids
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
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.
- JSonLD terms like
-
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
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
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
toPEX
. The latter class has internal feature detection support on the
provided definition, delegating the actual implementation to the newPEXv1
orPEXv2
class internally. If you don't
want the automatic feature detection you can also choose to use thePEXv1
andPEXv2
classes directly.
-
Changed:
- Next to
@context
evaluation for V1 schema values, we now look at thecredentialSchema
- Seperated Credentials and VerifiableCredential public interfaces into JSON-LD and JWT versions
- Next to
-
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
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
toPEX
. The latter class has internal feature detection support on the
provided definition, delegating the actual implementation to the newPEXv1
orPEXv2
class internally. If you don't
want the automatic feature detection you can also choose to use thePEXv1
andPEXv2
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
- presentation exchange v2 support