-
Notifications
You must be signed in to change notification settings - Fork 8
4.1 release notes #139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
javereec
wants to merge
5
commits into
main
Choose a base branch
from
task/v4.1-release-notes
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
4.1 release notes #139
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
e442a72
4.1 release notes
leikind 472f144
How to use Transaction Data
leikind 6b5494d
cache storage options: Redis remains the recommended option
leikind 8905b3b
more about native or web application
leikind 18119ac
more about native or web application
leikind File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| # SVX 4.1.0 Release Notes | ||
|
|
||
| **Software Release Date:** 7 August 2026 | ||
|
|
||
| **Summary:** | ||
|
|
||
| This is a feature release for the SVX Platform, led by several new Wallet capabilities, alongside smaller improvements and fixes. | ||
|
|
||
| ## New Features | ||
|
|
||
| - SVX Verify sessions can now report the specific cryptographic key a presentation was bound to, making it easier for integrators to confirm proof of possession. | ||
| - Certificate management now shows which signing key a managed certificate belongs to, and certificate listings support filtering and pagination. | ||
| - Signing requests can now accept base64url-encoded input, in addition to plain text. | ||
| - Session data used by the SVX IDP can now be stored in Postgres as an alternative to Redis. Redis remains the recommended option for production deployments; the Postgres option is intended to simplify deployment for research and development purposes. | ||
| - SVX IDP: OAuth clients can now be registered as native or web applications via `POST /clients` and `PUT /clients/{id}` (per the [OIDC Dynamic Client Registration](https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata) `application_type` metadata), defaulting to web. This lets the SVX IDP apply the correct security requirements for native app integrations. | ||
| - **Transaction Data support** (per the [OpenID4VP](https://openid.net/specs/openid-4-verifiable-presentations-1_0.html) specification): Verifiers can now attach additional context to a presentation request, and wallets can restrict which types of this data they are willing to accept. Verifiers can confirm that the credential presentation returned by a wallet was genuinely bound to the requested context, adding an extra layer of assurance to verification flows. | ||
|
|
||
|
|
||
| ### How to use Transaction Data | ||
|
|
||
| **On the verifier side:** you can now add an optional `transaction_data` array to `POST /verifier/requests` (each entry: `{ type, credential_ids }`), in order to bind a presentation request to extra context — for example, "this presentation also authorizes payment X" — scoped to specific credentials via `credential_ids`. That context is echoed back on `GET /verifier/requests/{id}` and embedded in the signed request JWT served from `GET /verifier/requests/{id}/jwt`. Once a response comes back, `POST /verifier/requests/{id}/responses` automatically checks it against the hash the wallet produced, giving you assurance the presentation was genuinely made in response to that specific context — not just any valid credential. | ||
|
|
||
| **On the wallet side:** a new runtime setting, `wallets.trust.allowed_transaction_data_types`, lets a wallet declare which `transaction_data` types it's willing to honor, so it can decline anything unrecognized rather than blindly accepting arbitrary context from a verifier. This check happens at `POST /:walletId/send`, and the same `transaction_data` is also surfaced on `GET /:walletId/send/{state}`, `GET /:walletId/send`, and `POST /:walletId/send/set_credentials`, so a client app can inspect what it's being asked to bind to at any point in the flow. Then, at `POST /:walletId/send/submit`, the hash-binding itself happens automatically — no extra input needed from the caller — by including `transaction_data_hashes` in the Key Binding JWT of any `dc+sd-jwt` credential the context was scoped to. | ||
|
|
||
| Existing integrations that don't use `transaction_data` are unaffected — it's entirely optional. | ||
|
|
||
| ## Improvements | ||
|
|
||
| - Failed SVX Verify presentations now include a more detailed reason, making it easier to understand why a verification did not succeed. | ||
| - The demo issuance and verification pages have moved into the main dashboard; the previous standalone demo pages have been retired. | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Matthew-Meeco can you add a section with screenshots of the pages |
||
| - SVX Verify no longer displays a country flag or country name for identity providers and wallets. | ||
| - Credential template colors must now be valid hex colors; unsupported formats such as gradients are no longer accepted. | ||
| - Updating a credential template's validity settings now fully replaces the previous settings, so clearing a value (such as removing an expiry) is applied correctly. | ||
| - The default signing algorithm used for admin and access tokens has changed from ES256 to RS256. | ||
| - Runtime configuration is no longer cached by the browser, so configuration changes take effect immediately. | ||
|
|
||
| ## Bug Fixes | ||
|
|
||
| - Fixed an issue where some internal errors were silently discarded instead of being logged, making certain failures harder to diagnose. | ||
| - Fixed the SVX Verify PDF receipt being cut off instead of spanning multiple pages when a presentation contained a lot of information. | ||
| - Fixed claim labels in the PDF receipt so that untranslated claims show a readable name instead of a raw technical key. | ||
| - Fixed images, such as a portrait photo, not displaying correctly on the SVX Verify success page and in the PDF receipt. | ||
| - Fixed an issue where cancelling a verification session at the wrong moment could send the user to a generic error page instead of the expected cancellation page. | ||
| - Fixed the "Save & Preview" redirect URL in the SVX Verify configuration screens. | ||
| - Fixed an image format (JPEG2000) not rendering correctly in presentation responses. | ||
| - Fixed credential issuance failing for templates with validity dates configured. | ||
| - Improved reliability of database setup during deployment on managed Postgres providers (such as AWS Aurora) that restrict administrator permissions. | ||
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ragnika I think an example what would helpful in a separate section