v2.32.0
Release date: December 18, 2025
New features
Processing policies for anchor forwarding
Introducing processing policies, a new policy type that controls how the ledger processes specific operations. Processing policies use schema: 'processing' and currently support anchor forwarding through aspect values.
With processing policies, you can delegate anchor operations (create, read, update, drop, sign, query) to a Bridge while the ledger remains the public API surface and enforces authorization. This is particularly useful when anchors are managed by an external system, such as an external alias directory.
Each aspect value in a processing policy defines:
- action: The anchor operation to forward (
create,read,update,drop,sign,query) - invoke.bridge: The bridge handle that receives forwarded requests
- config.strategy: How forwarding behaves (
proxy,fallback, orvalidate) - filter: Additional custom filter to apply to before selecting the applicable value
await sdk.policy.init().data({
handle: 'anchor-forwarding',
schema: 'processing',
record: 'anchor',
values: [{
action: 'read',
schema: 'aspect',
invoke: { bridge: 'my-bridge' },
config: { strategy: 'fallback' }
}]
}).hash().sign([{ keyPair }]).send()For more details, see Processing Policies and Anchor Forwarding.
Studio persistent view selection
When selecting which column to show in the Views button show in the top right corner of the datatables, now the selection is stored in the browser instead of views going back to default after reloading.
Policy drop support
Policies can now be dropped from the ledger using the API, CLI, or SDK. The drop operation includes built-in safety checks:
- Dependency validation: Policies that are extended by other policies cannot be dropped. You must first remove or update all policies that extend the target policy before dropping it.
- Access control: Only signers with appropriate drop permissions can delete policies, ensuring proper authorization.
You can drop a policy using:
- API:
DELETE /policies/{id}orPOST /policies/{id}/drop - CLI:
policy drop <handle> - SDK:
sdk.policy.drop(handle).hash().sign([{ keyPair }]).send()orsdk.policy.drop(signedPolicy).send()
Allow verification of response proofs in CLI
CLI now supports a new config path for enabling response proofs consistency verification.
Enable it with minka config set sdk.verifyResponseProofs true.
This option turns on the verification of all responses from a ledger based on its signer and , for now, this is only applicable when the ledger signer is loaded into CLI context when selecting it with the command minka ledger select.
Make sure you have rights for reading both the ledger and its signer when executing this command, otherwise the verifications are skipped.
Improvements
Security increased for secrets encryption
The crypto library now has increased security when encrypting secrets for key pairs and records. Keep in mind that signers encrypted with a newer version of the CLI may not be usable if you try to decrypt it using an older version.
Bridge entry handle unification
The ledger now reuses the handle from intent resolved proofs when creating corresponding bridge entries. This ensures consistency between the proof records and the bridge entries they represent, making it easier to trace and correlate bridge operations with their originating intent proofs.
Previously, bridge entries would generate new handles independently. Now the entry inherits the proof's handle (custom.handle).
User settings menu is easier to discover
The user bar now opens the account menu when clicking anywhere on it, includes an explicit dropdown indicator, and shows your initials instead of a generic icon. This makes it clearer that the bar is interactive and reveals settings without hunting for the tiny icon.
Improved Wallets page UI in Studio
The "Bridge" column in the Wallets table is now hidden by default and can be toggled on via the View menu. This reduces visual clutter for users who don't actively manage bridge assignments. Additionally, the "Add bridge" button styling has been updated to use a muted outline-ghost variant for better visual hierarchy.
CLI Improvements
- [cli] Adds
--no-local-saveoption tosigner create. This avoids storing the signer in your local disk and outputs both public and secret keys in the console instead. This is useful for creating production signers in a secure way without leaving secrets on disk. - [cli] Introduces a
--filter <query>option forlistcommands to filter results. - [cli] Adds --output json option to
signer createthat outputs signer to console in json format, which can be used for scripting.
SDK Improvements
Added support for dropping records by passing the signed record object to the drop method. This allows users to drop records they have already in-memory without needing to re-query the ledger. Also allows the fetch request and drop request to have different headers.
Fixes
- [studio] Don't show loading state for elements once permission was denied.
- [studio] Don't show action three-dots dropdown when no action is available for the record.
- [cli] Fixed
unknownintent status; it now prints outacceptedand any custom status.