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 theDB_SCHEMAschema, which defaults tomainnet). If it returns137, or your node has not reached that block yet, just upgrade. If it returns less than137, stopyaci-indexerandapi(keep the database running), upgrade, runrepair-mainnet-block-14053493.sqlwithsearch_pathset 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 nullerrors 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_versionis now1.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.3for Mainnet and Preprod Docker Compose.INDEXER_DOCKER_IMAGE_TAG:1.5.2→1.5.3for 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: /configWhat's Changed
- fix: bump yaci to 0.3.12, prepare version 1.5.3 by @Sotatek-HenryDo in #825
Full Changelog: 1.5.2...1.5.3