Repository navigation
Update EUDIPLO to v9 - #1213
Merged
Merged
Update EUDIPLO to v9#1213
Conversation
renovate
Bot
force-pushed
the
renovate/major-eudiplo
branch
6 times, most recently
from
October 14, 2026 05:38
c5ca32b to
c01537f
Compare
renovate
Bot
force-pushed
the
renovate/major-eudiplo
branch
from
October 14, 2026 06:05
c01537f to
3c5200e
Compare
Closed
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
tnotheis
approved these changes
Oct 14, 2026
tnotheis
enabled auto-merge (squash)
October 14, 2026 07:59
britsta
approved these changes
Oct 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
8.1.0→9.1.0Release Notes
EUDIPLO/eudiplo (@eudiplo/sdk-core)
v9.1.0Compare Source
Bug Fixes
Features
This release is also available on:
v9.1.0v9.1.0v9.0.0Compare Source
Bug Fixes
Documentation
Features
BREAKING CHANGES
of chained authorization servers on HTTP or on private addresses, and
their JWKS and introspection endpoints, are rejected unless
OUTBOUND_URL_ALLOW_HTTP or OUTBOUND_URL_ALLOW_PRIVATE_NETWORK is set. The
upstream token request no longer follows redirects.
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
HTTP or on private addresses, and CRLs on private addresses, are rejected
unless OUTBOUND_URL_ALLOW_HTTP or OUTBOUND_URL_ALLOW_PRIVATE_NETWORK is
set. URLs on EUDIPLO's own PUBLIC_URL or INTERNAL_URL are not affected.
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
DB_SYNCHRONIZE default.
Upgrade guide:
logs and delete only cover the client's side; what the other side gets
(empty list, 404, 204 without delete) and the fix (a role of each side).
header-only token, the scope,
?token=rejected with 401, the SDK 9.0fetchclient, reading the stream from the backend.false (8.x: true); keep it out of production env files.
the upgrade overview name the access-control and default changes; the
overview no longer says "configuration format v2" (PresentationConfig is
v3).
Env examples:
services reached over HTTP inside the Compose network; CORS_ORIGINS in
standard and full.
CORS_ORIGINS.
Also: the Compose page pairs S3_ACCESS_KEY_ID with RUSTFS_ACCESS_KEY, and
the release checklist describes the /upgrade URLs the 9.0 CLI prints.
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
of the claim query's
valuesnow fail withclaim_value_mismatch;valuesmust match the claim type ([true], not["true"]).PresentationConfig exports use file format v3.
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
presentation:request(and optionallypresentation:manage) no longer sees issuance sessions; a client with onlyissuance:offer(and optionallyissuance:manage) no longer seespresentation sessions. Give a client that must read both kinds a role of
each side.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
GET /api/session/{id}/eventsread the tenant frompayload.entity, whicha token from the token endpoint never contains (it carries
tenant_id), soGET /api/session/{id}/eventsrequires the access token inthe
Authorizationheader andissuance:offerorpresentation:request,scoped like
GET /api/session/{id}; thetokenquery parameter is rejectedwith 401. The browser's
EventSourcecannot send the header: read thestream from your backend.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
tenant:adminortenants:manage; KMS credentials are returned redacted;configurations with
keyAttestationsRequiredreject proofs without amatching key attestation; federation-only DCQL queries reject issuers
outside the federation;
federation.roleother thanleafandenforceSigningPolicy: falseare rejected.Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
authorization or refresh requires a proof with the bound key; codes are
only accepted for the grant they were issued for.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
openid4vp_presentationstep of interactive authorization onlyJSON-parsed the wallet's
openid4vp_responseand then issued anauthorization code, so any JSON completed the step. The response now
goes through the regular OID4VP verification (decryption, nonce,
audience, DCQL, trust, single use) for the request created for this
auth session; only a completed verification finishes the step.
Verified credentials are forwarded to attribute providers like for the
OID4VP authorization server, and
issuer_statemust name a redeemableauthorization code offer. The verifier session is now created before
the request so wallets can fetch the request object.
complete-web-authwas unauthenticated, so the wallet that knows theauth session could complete the
redirect_to_webstep itself. It nowrequires an
issuance:offertoken of the same tenant and only completesan unexpired auth session whose current step is
redirect_to_web.one code, and interactive authorization codes expire after 60 s.
encrypted OpenID4VP authorization response;
complete-web-authrequires anissuance:offermanagement token of the tenant; interactive authorizationcodes expire after 60 s.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
key or CA file cannot be read;
TLS_CA_PATHserves the intermediate chainand does not enable mTLS.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
The handshake test disabled certificate validation to inspect the served chain (CodeQL js/disabling-certificate-validation). Only the root is trusted, so with validation on the handshake fails unless the server sends the intermediate, which is what the test checks.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
status: 2) a credential on a status listwith 1 bit per entry is rejected with 400; use lists with 2 or more bits
(
STATUS_BITS, the tenant status list config, orbitswhen creating alist). Lists that already contain such values are no longer published
until their entries are set to a valid value.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
(1 -> 2): the update is rejected with 409 before any entry changes.
Suspensions can still be lifted or turned into a revocation. The rule is
checked for every entry up front and again inside the versioned write.
POST /api/session/revokerequiresissuance:offerorissuance:manage; verifier-only clients (presentation:request) can nolonger change credential status.
status of a session's credentials; 400 and 409 responses).
shown on a new credential) and the 9.0 upgrade guide.
POST /api/session/revokerequires an issuance role.Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
disabled, and refresh tokens without a stored expiry expire 30 days after
session creation; interactive authorization requires S256; the built-in
server applies its token lifetime, signing key and DPoP settings;
/issuers/{tenant}/chained-as-vp/*is removed.Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
provided_attestationsis rejected; PresentationConfigexports use file format v2; concurrent trust list updates return 409.
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
presentations; consumers must check the new
statusfield. The SSE streamnow completes after a terminal status.
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
(HTTP 400/404 or OAuth
invalid_grant);expiresAtis a full timestamp;presentations emit a
fetchedstatus; thesessionsmetric is a gauge thatevery replica reports, so aggregate it with
max; IssuanceConfig exports usefile format v2.
OUTBOUND_URL_ALLOW_PRIVATE_NETWORK now default to false in every
environment instead of true outside NODE_ENV=production. Set them
explicitly for local development against HTTP/localhost services.
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
Signed-off-by: Mirko Mollik mirko.mollik@eudi.sprind.org
This release is also available on:
v9.0.0v9.0.0Configuration
📅 Schedule: (UTC)
* 0-6 * * 3)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
EUDIPLO container update
This PR also updates the EUDIPLO testcontainer to
ghcr.io/eudiplo/eudiplo:9.0.0(pinned by digest) and moves the Renovate package rule to the new registry name. Review the 8.x to 9.0 upgrade guide and run the EUDIPLO-backed tests before merging.