0.20.0
Highlights
- New Trust Registry Service for managing ETSI trust lists (TSL, LoTE) for credential verification against official trust frameworks.
- New Client Attestation Service for issuing and verifying wallet attestations for secure credential issuance flows.
- OpenIDVCI 1.0 Support in the Wallet Service marking the completion of our 1.0 support across all services.
- Improved external IAM integration to connect with external OIDC providers for authentication.
- External role mapping API with database-backed mappings, RESTful endpoints, and demo app UI for enterprise authentication flows. Supports dynamic redirect URLs and RP-initiated logout.
- Enterprise Service security refactoring for Issuer 1/2, Verifier 1/2, and Wallet services with interface-based implementations, automatic dependency detection, and granular permission control. Major architectural improvement enabling better testability and security isolation.
- X.509 Store and VICAL services rebuilt with proper persistence, user-permission proxies, and service-level certificate storage with cross-store linking support. Certificate IDs are now derived from target paths with full delete support.
Features
Enterprise Service Security
- Secured Issuer 1 and Issuer 2 Enterprise Services with interface-based implementation pattern and automatic KMS dependency detection.
- Refactored Verifier 1/2 Services to follow the same secure pattern with dedicated interface and implementation classes.
- Implemented Enterprise Service Wallet split into legacy and new v2 OpenID4VCI flows with mDoc support.
- Added user permission proxy implementations for credential stores, policy stores, and client attesters.
- Added comprehensive wallet permission tests to validate the security model.
X.509 Store and VICAL Services
- Fixed X.509 store persistence with service-side repository logic and proper certificate ID handling.
- Updated X.509 service certificate creation to accept optional
storedCertificateIdand store issued certificates across linked X.509 stores. - Added delete support and completed user-permission proxy coverage for X.509 store operations.
- Moved VICAL storage logic into private service-local repository and added VICAL service user-permission proxy support.
- Adjusted VICAL registry/publication controllers for response status and artifact format parsing.
Issuer2 and OpenID4VCI
- Added
issuanceSessionIdto credential offer requests and access tokens for O(1) credential endpoint lookups. - Added
correlationId(callId) to callback events for session tracking. - Enriched issuance session with id, format, and status information.
- Added support for issuer state forwarding.
- Improved profile update to ignore certain keys (profileId, status, version, createdAt, updatedAt) for better developer experience.
Client Attestation and EUDI Compatibility
- Implemented client attestation support with configurable validation.
- Extended lenient mode to gracefully skip verification when signature validation fails.
- Added issuer state in redirect for EUDI wallet compatibility.
- Ensured clientAttestationConfig is properly copied during config updates.
- Updated swagger example with lenient configuration for EUDI wallet demos.
Credential Status
- Added test coverage for multiple status values.
- Resolved hex and binary mixed usage in CWT credentials.
- Added TSL CWT to the e2e journey.
- Added support for DID-based header in token status lists.
Trust Registry
- Added a trust registry service and policy allowing for credential verification against official trust frameworks.
- Fixed trust registry sourceId handling by moving to target path (consistent with KMS, X.509-store patterns).
- Fixed Unit body handling in documentedPost for no-body POST endpoints.
- Added trust registry support aligned with OSS trust registry library.
Auth and External Role Mapping
- Implemented database-backed external role mappings with RESTful API.
- Added external role mapping UI to demo app with payload editor and field documentation.
- Fixed external role mapping resolution during auth.
- Added allowedRedirectUrls to auth config documentation.
- Added Keycloak package for Enterprise authentication with setup guides.
Wallet Service
- Added support for OpenID4VCI 1.0 to the Wallet API.
- Added DID Service support in wallet creation process.
- Fixed wallet init to return created resources (keyId and didId).
- Added swagger examples for new wallet routes.
Platform
- Migrated HTTP clients to unified web data fetching abstraction with CIO engine.
- Added load testing scripts and infrastructure improvements.
Fixes and improvements
- Fixed BSON issue in enterprise services.
- Fixed credential metadata display.
- Fixed assignRoleToApiKey double-stringify in demo app.
- Fixed coroutine context conflict in tenant permissions listing.
- Fixed old reference in credential status.
- Added Swagger examples for creating plain KMS and generating keys.
- Updated OpenAPI docs and examples for X.509 service and VICAL storage behavior.
- Fixed integration tests workflows.
Breaking changes
- X.509 Store API: The X.509 store add/update flows now use service-level targets with certificate IDs derived from the target path. Clients using the old certificate store APIs must migrate to the new request models.
Last updated on May 8, 2026
