github cardano-foundation/cardano-rosetta-java 1.5.3

3 hours ago

Cardano Rosetta Java v1.5.3

Cardano Rosetta Java v1.5.3 is a maintenance release for the legacy 1.x line that upgrades Yaci to 0.3.12 to fix lost transactions in a mainnet block.

Caution

This is a mandatory upgrade for mainnet. Yaci 0.3.11 and earlier read mainnet block 14,053,493 as having 0 transactions when it has 137. Rosetta keeps syncing past it, so a mainnet database that synced past slot 200,136,161 (2026-10-11 07:07 UTC) is missing those 137 transactions. Upgrading alone does not fix data that is already stored. Follow the mainnet repair guide.

Key Improvements

  • Yaci upgraded to 0.3.12, which correctly decodes mainnet block 14,053,493. This brings the 1.x line the same fix as Yaci Store 2.0.7, which flagged it as a critical mainnet upgrade.
  • New one-time repair script for mainnet databases that already stored the block without its transactions. It moves the sync cursor back one block so the indexer fetches the block again with the fixed parser. See scripts/repair/README.md.

Upgrade / Compatibility

  • From v1.4.x or v1.5.x, mainnet: No full resync needed. To check whether you are affected, run SELECT count(*) FROM mainnet.transaction WHERE block = 14053493; (tables live in the DB_SCHEMA schema, which defaults to mainnet). If it returns 137, or your node has not reached that block yet, just upgrade. If it returns less than 137, stop yaci-indexer and api (keep the database running), upgrade, run repair-mainnet-block-14053493.sql with search_path set to your schema, then start the stack again. Databases restored from a snapshot taken after 2026-10-11 07:07 UTC need the same repair. The repair guide has the full steps.
  • After the repair, the indexer rolls back the data stored after slot 200,136,161 before it continues syncing. This took about 8 minutes on our mainnet test instance. During the rollback the indexer may log "this.blockFetcher" is null errors every 20 seconds; they stop once syncing continues.
  • From v1.4.x or v1.5.x, preprod / preview: Not affected. Compatible, no resync or repair needed.
  • Yaci Store stays at 0.1.7, so the database schema does not change. Cardano Node (11.1.3) and Mithril are also unchanged.
  • Already on v2.x: Stay on the 2.x line and upgrade to v2.3.3. This release is not a downgrade path.

API / Configuration

  • /network/options: reported middleware version updated.
    • version.middleware_version is now 1.5.3. Request and response schemas, operation types and error codes are unchanged.
  • /block, /block/transaction, /search/transactions, /account/balance, /account/coins: mainnet block 14,053,493 data.
    • On repaired or freshly synced mainnet databases, these endpoints return the block's 137 transactions and the balances and UTXOs that follow from them.

Environment updates:

  • API_DOCKER_IMAGE_TAG: 1.5.2 → 1.5.3 for Mainnet and Preprod Docker Compose.
  • INDEXER_DOCKER_IMAGE_TAG: 1.5.2 → 1.5.3 for Mainnet and Preprod Docker Compose.
⚠️ Docker Compose: startup fix for pre-built Cardano Node images

If you pull the pre-built Cardano Node image from Docker Hub for v1.5.2, set its configuration directory with the override below. Without it, the node cannot find its configuration file and fails to start:

services:
  cardano-node:
    environment:
      CARDANO_CONFIG_CONTAINER_PATH: /config

What's Changed

Full Changelog: 1.5.2...1.5.3

Don't miss a new cardano-rosetta-java release

NewReleases is sending notifications on new releases.