Node Compatibility
Compatible with cardano-node@11.0.1.
Docker Image
Highlights
This release exposes DRep registry data through new REST endpoints (GET /v2/dreps, GET /v2/dreps/suggested, GET /v2/dreps/summary, and GET /v2/dreps/{drepId}) so clients can list and inspect DReps without cardano-cli. It stops depositReturned from treating ordinary incoming payments as stake-key refunds, documents only reachable Byron/Icarus passphrase encryption methods, and hardens Byron random wallets: RndState.gen is reseeded from the system CSPRNG on checkpoint load, and derived keys are verified to reproduce the address before signing. Operator-facing Mithril plumbing moves the client image to the IntersectMBO registry, prefers mithril-client on PATH, and restores ledger snapshots into the node's LMDB backend.
Changes
Added
- DRep registry HTTP API:
GET /v2/dreps(all registered credential-based DReps; sentinels excluded; empty list on pre-Conway nodes),GET /v2/dreps/suggested(random sample of active, listed DReps excluding the top 35 by voting power; optionalcount, default 20, max 200),GET /v2/dreps/summary(aggregate counts and total staked voting power), andGET /v2/dreps/{drepId}(one DRep with embedded CIP-0119metadata). A background worker fetches and hash-checks CIP-0119 JSON from anchor URLs (#5360)
Changed
- Point the Mithril client image at the IntersectMBO container registry (
ghcr.io/intersectmbo/mithril-client:2617.0-2478748) (#5319) - Resolve
mithril-clientfromPATHwhen present, and keep the GitHub-release download as fallback (#5356) - Drop the
cardano-cliHaskell library fromlocal-cluster(thecardano-cliexecutable is still used at runtime) (#5346) - Use published Hackage packages
delta-types-1.0.0.0anddelta-store-1.0.0.0instead of vendoredlib/delta-*trees (#5357)
Fixed
- Compute
depositReturnedfrom wallet-owned deregistration certificates instead of a numeric input/output heuristic (#5345) - Narrow Byron/Icarus OpenAPI
passphrase.encryption_methodto reachable values (scrypt,pbkdf2-hmac-sha512);argon2id-v2remains Shelley/shared-wallet only (#5327) - Reseed Byron
RndState.genfrom the system CSPRNG on checkpoint load (#5343) - Verify Byron derived keys reproduce the address before signing, so random wallets can spend and migrate addresses whose recorded derivation index is not the index the key was derived at (#5370)
- Restore Mithril ledger snapshots into the node's LMDB backend instead of replaying from genesis after
MetadataBackendMismatch(#5380)
CI/CD
- Make
publish-releasere-runnable and fix docs git identity (#5323) - Windows: give the wallet-unit job a
cardano-node.exe, clean E2E temp directories on cancellation, and fix environment-variable case collisions inprop_hspecMain(#5332, #5355, #5378) - macOS: resolve
LOCAL_CLUSTER_CONFIGSfromlib/unit, persist Nix eval caches, and run integration tests on master pushes (#5331, #5344, #5348) - Run Linux E2E on push to master (#5338)
- Run the Mithril workflow nightly instead of on every master push (#5336)
- Bump deprecated GitHub Actions to current majors (#5335)
- Merge back
release-candidate/v2026-07-23version bumps (#5339) - Drop already-fixed items from the Known Issues template (#5324)
- Require GitHub issue closing keywords in PR bodies (#5362)
- Fix the
cardano-wallet-benchmarkscompile break and gate benchmarks in CI (#5376) - Keep focused Cabal test recipes limited to local test suites (#5361)
- Add SQLite test progress and timeout diagnostics (#5349)
- Accept spec prefixes wider than three digits (#5372)
- Read
waitForTimeoutLinecapture as bytes, not chars (#5374) - README: remove the stale Lean badge; add a macOS integration badge (#5342, #5353)
API changes
Wallet HTTP paths below are served under /v2.
New endpoints
Four DRep-registry GETs (#5360):
GET /v2/dreps— all registered DReps (key-hash and script-hash only; always-abstain / always-no-confidence sentinels excluded) with on-chain fields plus asynchronously populatedname. Served from cache (~15 minute TTL). Returns[]on pre-Conway nodes.GET /v2/dreps/suggested— random sample of active DReps with off-chain metadata anddo_not_list: false, excluding the top 35 by voting power. Optional querycount(default 20, max 200;0returns[]).GET /v2/dreps/summary— aggregate statistics: total staked voting power, active count, inactive count, and total count.GET /v2/dreps/{drepId}— one DRep with embedded CIP-0119metadata(nullif there is no anchor, metadata has not been fetched, or hash verification failed).404for sentinels and unknown IDs;400for malformed IDs.
PUT /v2/dreps/{drepId}/wallets/{walletId} (join) is unchanged.
voting_power.quantity is serialized as a JSON string. Metadata fields are attacker-controlled content from the DRep anchor URL and must be treated as untrusted.
No endpoints were deleted.
Modified endpoints
GET /v2/byron-wallets, POST /v2/byron-wallets, and GET /v2/byron-wallets/{walletId} (#5327):
passphrase.encryption_methodno longer listsargon2id-v2(Byron/Icarus wallets never store or migrate to root-key v2).- Remaining enum values:
scrypt,pbkdf2-hmac-sha512. - Example is now
pbkdf2-hmac-sha512. - Description is now: the scheme used to protect the wallet's root key in storage; absent on wallets that have no stored passphrase. The parenthetical "e.g. watch-only wallets" was removed.
No request schemas or status codes changed. Shelley and shared wallets that store a root key still expose argon2id-v2.
Known Issues
Signatures
| Name | Role | Contribution areas | Approval |
|---|---|---|---|
| Paolo Veronelli @paolino | Software Engineer | Release preparation, integration, and maintenance coordination | ✔️ |
| Pawel Jakubas @paweljakubas | Software Engineer | Pivotal correctness, security, API ergonomics, and implementation review across passphrase handling, Byron wallet safety, transaction accounting, and the DRep API | ✔️ |
| Jean-Philippe Raynaud @jpraynaud | Contributor | Mithril client image registry migration | — |
| Samuel Leathers @disassembler | Contributor | DRep registry API and CIP-0119 metadata support | — |
| Adam Dean @Crypto2099 | Contributor | Byron signing/address verification and test-spec prefix handling | — |