Cardano Rosetta Java v2.4.1
Cardano Rosetta Java v2.4.1 is a security and maintenance release that updates the bundled JDK and adds compatibility with cf-token-metadata-registry 2.0.0.
Caution
This is a mandatory release. The api and yaci-indexer images move from Eclipse Temurin 25.0.2 to 25.0.5 LTS. Its trust store no longer contains the root certificates that signed the eMudhra intermediate CAs whose private keys were compromised in October 2026. The JDK in v2.4.0 and earlier images still trusts them. All operators should upgrade.
Key Improvements
- JDK updated to Eclipse Temurin 25.0.5 LTS, bringing the upstream security and bug fixes since 25.0.2, including the eMudhra CA fix. Image builds now verify the JDK download against its published checksum.
- Token registry (CIP-26 / CIP-68) enrichment works with both cf-token-metadata-registry 2.0.0 and earlier registry versions: logos are returned correctly from both, and tokens the new registry serves without a name or description no longer cause request failures.
- The indexer no longer stalls on a transaction with extremely deeply nested metadata, as seen on Preview (#847).
- New CIP-113 programmable tokens guides covering smart wallet addresses and querying balances, coins and transactions.
Upgrade / Compatibility
- From v2.x: Compatible, no resync required. Preserve the existing indexer database and Cardano Node data, and redeploy with the v2.4.1 images.
- From v1.x: Requires a full yaci-indexer resync only (Cardano Node data can be kept). See the resync procedure.
- Token registry users: v2.4.0 and earlier are not compatible with cf-token-metadata-registry 2.0.0. Upgrade Rosetta before, or together with, your registry. The public preprod registry (
preprod.tokens.cardano.org) already runs 2.0.0, so preprod deployments with the token registry enabled need this release.
API / Configuration
-
/block,/block/transaction,/search/transactions,/account/balance,/account/coins: token registry metadata with cf-token-metadata-registry 2.0.0.- Registry 2.0.0 also serves tokens that do not fully follow their CIP. For such tokens,
currency.metadatacan come withoutnameordescription. Both fields were always optional in the schema; onlypolicyIdis required. Previously, a request touching such a token failed with HTTP 500. logois still returned as base64 for CIP-26 tokens (format: base64), whether the registry serves it as hex (before 2.0.0) or base64 (2.0.0). Previously, every CIP-26 logo from a 2.0.0 registry was dropped. CIP-68 logos (format: url) are unchanged.
- Registry 2.0.0 also serves tokens that do not fully follow their CIP. For such tokens,
-
/block,/block/transaction,/search/transactions: transaction size for deeply nested metadata.- A transaction nested too deeply to measure is now indexed without a size, so its
metadata.sizeisnull, instead of stalling sync. All other transactions are unaffected.
- A transaction nested too deeply to measure is now indexed without a size, so its
-
/network/options: reported middleware version updated.version.middleware_versionis now2.4.1. Request and response schemas, operation types and error codes are unchanged.
Environment updates:
RELEASE_VERSION:2.4.0→2.4.1.- Helm
global.releaseVersion:"2.4.0"→"2.4.1"
What's Changed
- fix(indexer): don't stall on deeply nested tx metadata when calculating tx size by @Sotatek-HenryDo in #848
- chore(docker): maintenance upgrade to Eclipse Temurin 25.0.5+8 LTS (includes eMudhra CA fix) by @matiwinnetou in #850
- fix(api): support cf-token-metadata-registry 2.0.0 (base64 logos, optional name/description) while keeping < 2.0.0 working by @matiwinnetou in #851
- chore: prepare version 2.4.1 by @matiwinnetou in #852
Full Changelog: 2.4.0...2.4.1