Skip to content

Releases: openwallet-foundation/eudiplo

v4.4.0

12 May 07:41
6c10d5a

Choose a tag to compare

4.4.0 (2026-05-12)

Bug Fixes

  • add PostgreSQL SSL cert-path support and SSL e2e coverage (#702) (9f15ddc)
  • move token endpoint under admin api (#701) (a02bfab)

Features

  • audit-log docs cleanup and migrate org references (v2) (#707) (6c10d5a)

This release is also available on:

v4.3.0

08 May 20:24
91b9b8c

Choose a tag to compare

4.3.0 (2026-05-08)

Features


This release is also available on:

v4.2.0

30 Apr 19:16
18479d5

Choose a tag to compare

4.2.0 (2026-04-30)

Bug Fixes

Features

  • auth: Add external OIDC user management with temporary password onboarding (#680) (d493708)
  • add max retry counter for tx_code validation in OID4VCI pre-authorized code flow (#692) (cdb79da), closes #673

This release is also available on:

v4.1.0

25 Apr 15:39
45252e0

Choose a tag to compare

4.1.0 (2026-04-25)

Bug Fixes

  • add refresh token support for chained AS token flow (#677) (668a66d), closes #676
  • allow attestation key chains as fallback for status list signing (#599) (8ec65c4), closes #593
  • move status_list_aggregation_endpoint to AS metadata (#649) (6544ddd)
  • OIDF conformance test suite fixes (#635) (4811d39)
  • optimize ci execution (#627) (9cac735)
  • optimize linking to grafana (#642) (9fe03df)
  • prevent null values from overwriting existing issuer config (#633) (0934ac3), closes #629 #627
  • proxy issuer metadata fetch to avoid CORS failures (#667) (2e58e4c)
  • migrations: quote SQL identifiers for PostgreSQL compatibility (#609) (cdf058e)
  • recreate offer for issuance and presentation sessions (#648) (1aa6947)
  • restrict client endpoints to clients:manage role only (#597) (9ba2ed4), closes #591
  • small refresh token adjustment (#678) (81185ed)
  • trust list parsing and public URL (#645) (d6bef75)

Features

  • add claims metadata to issuer credential configuration (#634) (36a3297), closes #632 #632 #632
  • verifier: add OID4VP spec-compliant error handling and session failure tracking (#626) (e52566b), closes #552 #552
  • verifier: cache registration certificates per presentation config (#679) (45252e0)
  • implement OID4VCI refresh token support with configurable lifetime (#659) (07952d5)
  • implement OID4VP Section 13.3 direct_post security model (#651) (c43dfae)
  • webhook: implement raw token pass-through in webhooks (#595) (b01cdb7)
  • registrar: improve security and wizard enrollment flow (#625) (9b753bc), closes #616 #618
  • issuer: make credential_response_encryption metadata opt-in (#671) (68ffea9)
  • replace Prometheus metrics with OpenTelemetry observability stack (#600) (0002da5)
  • client: restructure config pages into grouped tabs (#676) (657f70a)

This release is also available on:

v4.0.0

23 Mar 16:21
27fd42f

Choose a tag to compare

4.0.0 (2026-03-23)

  • feat!: add /api/ global prefix and split OpenAPI into management/protocol docs (#559) (1f65591)

Bug Fixes

  • add correct migration files (#544) (faff5be)
  • mdoc: correctly extract claims from all credential namespaces (#551) (d1f23c8)
  • docker health check (#579) (989e94f)
  • fix edit function for issuer config (#519) (3cac134)
  • resolve content type for local file storage (#576) (75c3cf1)
  • transform authz details (#529) (fff9b3b)
  • update of request body type to form encode (#531) (5b9df5d)
  • use non-privileged port 8080 for client nginx container (#555) (e6e2cdb)
  • use uuid type for sessionId column on PostgreSQL + dual DB docs (#571) (fcdc747)

Features

  • add AWS KMS adapter for key management (#532) (603496f)
  • add persistent session log storage with configurable granularity (#561) (c086ec4)
  • add static route prefixes and split OpenAPI documents (#560) (2bd527f)
  • issuer: extract Attribute Providers and Webhook Endpoints as tenant-level resources (#554) (53e13d8)
  • unified Key Chain model for key and certificate management (#533) (c0ca77b)

BREAKING CHANGES

  • Protocol route paths changed. All issuer protocol
    endpoints are now prefixed with issuers/ (e.g.
    /issuers/:tenantId/vci/... instead of /:tenantId/vci/...).
    OID4VP endpoints are prefixed with presentations/ (e.g.
    /presentations/:sessionId/oid4vp/... instead of /:session/oid4vp/...).
    Management API endpoints are now prefixed with /api.
    The deprecated :tenantId/.well-known/... route variants have been
    removed in favor of .well-known/.../:tenantId.

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org

  • chore: format

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org

  • fix: use getAuthzIssuer() for iss parameter in authorization response

The iss value in the authorization response was missing the /issuers/ path
segment, causing a mismatch with the issuer value in the authorization server
metadata (RFC 9207).

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org

  • fix: add migration test

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org

  • fix: remove legacy router warnings

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org

  • All management API endpoints are now prefixed with
    /api/ (e.g., /tenant -> /api/tenant, /session -> /api/session).
    Protocol endpoints (OID4VCI, OID4VP, well-known, OAuth2, health,
    metrics) remain at the root path. The SDK must be regenerated with
    pnpm run gen:api after deploying the updated backend. Swagger UI
    moved from /api to /api/docs (management) and /docs (protocol).
    The SWAGGER_ALL environment variable is removed.

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org

  • chore: add note how to add a reverse proxy

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org

  • The client container now listens on port 8080 instead
    of port 80. Update any custom port mappings or reverse proxy configs
    that target the container's internal port directly (e.g. change
    -p 4200:80 to -p 4200:8080).

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org

  • issuer: Credential configurations no longer accept inline
    claimsWebhook and notificationWebhook objects. Use attributeProviderId
    to reference an Attribute Provider for claims fetching, and
    webhookEndpointId to reference a Webhook Endpoint for notifications.
    Existing inline configurations are migrated automatically by the
    database migration.

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org

  • chore: format files

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org


This release is also available on:

v3.1.2

01 Mar 13:55
2aec674

Choose a tag to compare

3.1.2 (2026-03-01)

Bug Fixes


This release is also available on:

v3.1.1

28 Feb 21:05
8901519

Choose a tag to compare

3.1.1 (2026-02-28)

Bug Fixes


This release is also available on:

v3.1.0

28 Feb 17:36
7130b47

Choose a tag to compare

3.1.0 (2026-02-28)

Features

  • Add possibility to configure base href via environment variable (#507) (7130b47)
  • multi-provider KMS with Vault transit engine support (#512) (a736b91)

This release is also available on:

v3.0.0

27 Feb 11:45
c61f526

Choose a tag to compare

3.0.0 (2026-02-27)

Bug Fixes

  • allow empty strings for database config in case of sqlite (d264730)
  • auth client creation (fe0f26c)
  • change DB_SYNCHRONIZE default to true for fresh installs (0b9dedf)
  • #470: credential query to make use of the correct type for claims query. Claim query id is optional. (f416453), closes #470
  • docs: improve wallet overview chapter (#489) (207d65c)
  • k8s files (8f0cd2a)
  • remove claim webhook (9b9dd60)
  • resolve SonarCloud code quality issues (#487) (070d9f8)
  • restore accidentally deleted tsconfig.scripts.json (ad87c72)
  • session metrics initialization for multi-tenant (2f8c3aa)
  • simplify baseline migration to marker-only approach (7dcc0b8)
  • update packages (4a5b933)
  • update s3 handling (#510) (c61f526)

Features

  • database: add TypeORM migration support (0231c90)

BREAKING CHANGES

  • database: Schema synchronization is now disabled by default.
  • Add migration infrastructure with baseline migration for v2.0.0
  • Disable synchronize by default (DB_SYNCHRONIZE=false)
  • Enable auto-run migrations on startup (DB_MIGRATIONS_RUN=true)
  • Add migration CLI scripts (generate, run, revert, show)
  • Create data-source.ts for TypeORM CLI operations
  • Update validation schema with new config options
  • Document migration workflow in database.md

Existing databases are automatically detected - the baseline migration
skips table creation if tables already exist from synchronize mode.

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org


This release is also available on:

v2.0.0

19 Feb 06:22
cc790f1

Choose a tag to compare

2.0.0 (2026-02-19)

  • refactor!: rename JWT_SECRET to MASTER_SECRET (57c5574)

Bug Fixes

Documentation

  • update container examples to require auth credentials (503dd1c)

Features

  • add chained as (5ffce55)
  • add Dependabot automation workflows (c4fb7f5)
  • add healthcheck to sdk (4ac7d71)
  • add secret manager (e1d859e)
  • make session events available via sse (3ebf01f)

BREAKING CHANGES

  • MASTER_SECRET, AUTH_CLIENT_ID, AUTH_CLIENT_SECRET now required
  • Update quick-start.md docker run commands to include required env vars
  • Update README.md demo setup to generate credentials instead of defaults
  • Clarify .env.example that all three auth vars are required
  • Update deployment .env examples to show required credentials
  • Add AUTH_CLIENT_ID and AUTH_CLIENT_SECRET to env vars table
  • Add METRICS_TOKEN to production deployment examples

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org

  • The environment variable JWT_SECRET has been renamed to MASTER_SECRET
    to better reflect its multi-purpose usage (JWT signing and encryption key derivation).

This change provides clearer semantics as the secret is used for:

  • JWT token signing (when using integrated OAuth2)
  • Encryption key derivation via HKDF (for data at rest)

Migration: Update your .env files and deployment configs to use MASTER_SECRET
instead of JWT_SECRET. The minimum 32-character requirement remains unchanged.

Updated files:

  • Backend auth and encryption modules
  • All .env.example files
  • CI/CD workflows
  • Kubernetes and Docker Compose deployment configs
  • Documentation

Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org


This release is also available on: