Skip to content

Releases: cardano-foundation/cardano-rosetta-java

1.3.0

25 Jul 14:41
Compare
Choose a tag to compare

Highlights:

  • SPO Voting (governance)
  • Prefix support for dRep delegation operation (governance)
  • Mithril upgrade to 2524.0
  • Advanced Hardware Profile for high spec machines (e.g. 96 GB RAM)
  • Rosetta Prometheus / Grafana Monitoring Dashboard (early access)
  • Continue On Parse flag (rosetta indexer will continue processing also in case of block it cannot process)

Fixes:

  • pool registration bug fixes
  • some error propagations to the user
  • Node config files for node version 10.4.1
  • Indexer will start only if cardano node is fully synced

New Variables:

CONTINUE_PARSING_ON_ERROR=true
SYNC=true

What's Changed

Full Changelog: 1.2.11...1.3.0

1.2.11

04 Jul 18:16
181a357
Compare
Choose a tag to compare
  • Upgrade the Cardano Node to 10.4.1
  • Fork the GNU config repository and use it for the node build
  • Add advanced profile for Docker Compose
  • Small bug fixes

What's Changed

Full Changelog: 1.2.10...1.2.11

1.2.10

27 Jun 13:28
Compare
Choose a tag to compare

Small maintenance release fixing bugs and upgrading downstream software packages.

What's Changed

  • fix: block fetch timeout variable exposed for customers to change by @matiwinnetou in #487
  • fix: renamed blockFetchTimeout variable to BLOCK_TRANSACTION_API_TIMEOUT_SECS. by @matiwinnetou in #488
  • chore: yaci-store upgrade to 0.1.3 to fix downstream issue that showed up only on preview environment. by @matiwinnetou in #489
  • docs: misc docusaurus improvements by @linconvidal in #478
  • chore: yaci-core and cardano-client-lib upgrade by @matiwinnetou in #496
  • fix: /construction/parse endpoint - incorrect nesting assumptions for amount that is part of token bundle, now it should be correct. by @matiwinnetou in #499
  • docs: add performance metrics for Docker Compose setup in v1.2.0 by @linconvidal in #495
  • fix: drep vote delegation was not properly serialised and parsed out. by @matiwinnetou in #504
  • feat: add test for reward withdrawal of 0 ADA in stake operations by @linconvidal in #507
  • fix: withdrawal issue fix and integration tests for it. by @matiwinnetou in #508

Full Changelog: 1.2.9...1.2.10

1.2.9

10 Jun 08:07
90dbc3f
Compare
Choose a tag to compare

Highlights: 🔦

  • For docker-compose type of deployment building from sources all components including mithril, postgres and cardano-node
  • Upgraded to Ubuntu 24.04 across all docker containers
  • Java 24 LTS for Rosetta API and Rosetta Indexer
  • /network/status endpoint has now sync_status field as per Rosetta standard
  • /network/status endpoint has now a field oldest_block but it is active only when REMOVE_SPENT_UTXOS configuration setting is enabled
  • Renamed pruning to "remove spent utxos" (special kind of pruning but different than is usually meant in the industry / rosetta spec)
  • Some internal libraries upgrade

Depreciation ⚠️

  • Single docker image deployment is deprecated, while we will continue to support it for now, we encourage all rosetta-java clients to move towards docker-compose build option which is now becoming canonical from 1.2.9 release onwards

What's Changed:

  • docs: updates the environment variables by @tienna in #463
  • feat: enhance stability test with error threshold and additional metrics by @linconvidal in #449
  • docs: added link to hardware profiles page on scalability test page. by @matiwinnetou in #466
  • feat: split release / prerelease dockerhub images by @VladislavKudrin in #476
  • JDK 24 upgrade for Rosetta API (api module) and Rosetta Indexer (yaci-indexer module) by @matiwinnetou
  • /network/status now contains oldest_block when REMOVE_SPENT_UTXOS=true by @matiwinnetou
  • /network/status now contains sync_status by @matiwinnetou
  • Building from sources for all components including postgres, mithril and cardano-node itself (security feature users asked to make sure no pre-bullt images are taken from dockerhub / docker registry by @VladislavKudrin
  • Spring Boot upgrade to 3.4.x and standarisation that both API and Yaci-Indexer run the same version of Spring Boot by @matiwinnetou
  • Ubuntu 24.04 LTS upgrade across all docker images by @matiwinnetou

BREAKING: ⚠️

  • PRUNING_ENABLED configuration variable has been replaced by REMOVE_SPENT_UTXOS
  • PRUNING_SAFE_BLOCKS configuration variable has been replaced by REMOVE_SPENT_UTXOS_SAFE_BLOCKS_COUNT

New Contributors

Full Changelog: 1.2.8...1.2.9

1.2.8

22 May 11:21
df4bb96
Compare
Choose a tag to compare

What's Changed

Note: ⚠️

this is a hot-fix release that fixes issue identified with 1.2.7 that was related to bug in Mithril that could manifest only recently and only when replaying from genesis with using Mithril enabled flag.

Full Changelog: 1.2.7...1.2.8

1.2.7

29 Apr 10:56
2e0d533
Compare
Choose a tag to compare

Highlights 🔦

  • Various bug fixes
  • Downstream software upgrades, ie. Cardano Node 10.2.1, Mithril 2513.0, Yaci-Store 0.1.2, Yaci-Core 0.3.5, Cardano Client Lib 0.6.4

What's Changed

  • chore: Yaci-Store 0.1.2, Yaci-Core 0.3.5, Cardano Client Lib 0.6.4 by @matiwinnetou in #378
  • fix: transaction size which tracks transaction size and script size for each transaction has not been properly configured / enabled. by @matiwinnetou in #404
  • fix: genesis block now correctly reported on /network/status by @matiwinnetou in #403
  • chore: yaci-cli upgrade by @matiwinnetou in #401
  • chore: mithril upgrade to version: 2513.0 by @matiwinnetou in #400
  • fix: added filtering out for duplicate transactions by @matiwinnetou in #395
  • fix: last page fix on /search/transations by @matiwinnetou in #397
  • chore: cardano-node 10.2.1 integrated. by @matiwinnetou in #390
  • fix: encode all operations in Rosetta's encoded CBOR extra tx data by @matiwinnetou in #398
  • fix: fixes issues related to test generator that has not been updated for a while (data has not been regenerated). by @matiwinnetou in #412

Full Changelog: 1.2.6...1.2.7

1.2.6

15 Apr 19:00
abd5765
Compare
Choose a tag to compare

Highlights 🔦

  • Hardware Profiles: introduced entry_level and mid_level hardware profiles / configurations to ease scaling software and best tune software towards certain physical / virtual hardware specs
  • Bug Fixes: addressed a couple of stability and correctness issues across the system.
  • Cardano Node Upgrade: bumped to version 10.1.4 for compatibility and performance improvements.
  • Scalability Testing Framework: Initial version to create, evaluate, and tune additional hardware profiles
  • Rosetta documentation: initial version of new rosetta documentation https://cardano-foundation.github.io/cardano-rosetta-java/ with ability to invoke Rosetta endpoints
  • Small Performance / Scalability Tweaks: connection pooling for Http connections (HTTP2) on api to yaci-indexer communication, using structured concurrency for better resilience against resource starvation issues
  • Testing: added more unit tests / regression and flow tests

Breaking changes ⚠️

  • you are now required to specify hardware profile upon starting cardano rosetta platform / stack.
    e.g. example for "mid_level" profile:
docker-compose --env-file .env.docker-compose --env-file .env.docker-compose-profile-mid-level -f docker-compose.yaml up -d

List of hardware profile names can be access at: https://github.com/cardano-foundation/cardano-rosetta-java/wiki/9.-Hardware-Profiles, we will be adding more profiles in futher versions, it is an elementary list to get started.

What's Changed

  • feat: implement stability testing with ApacheBench by @linconvidal in #360
  • refactor: fail faster and less code complexity due to structured concurrency. by @matiwinnetou in #363
  • feat: 10.1.4 by default also for a single docker image. by @matiwinnetou in #356
  • feat: ability to externalise some of db pool and postgres db tunning parameters by @matiwinnetou in #353
  • fix: payload endpoint must use original rosetta fee calculation. by @matiwinnetou in #361
  • feat: initialize documentation structure and deployment workflow by @linconvidal in #366
  • Add e2e test for fixed fee scenario by @linconvidal in #365
  • feat: connection pooling for http connections. by @matiwinnetou in #371
  • feat: enhance stability testing framework with CLI options, delays, and expanded test cases by @linconvidal in #376
  • fix: rosetta tests are now called mesh. by @matiwinnetou in #382
  • fix: make sure to serialize governance operations as part of embedded operations inside of CBOR. by @matiwinnetou in #381
  • fix: upsert for postgres single docker image params by @matiwinnetou in #384
  • moved below parameters from environment files to hardware profile files in #367)
    (Values ​​for the parameters are taken from the mid-level profile)
  • API_DB_POOL_MIN_COUNT=150
  • API_DB_POOL_MAX_COUNT=150
  • added below parameters to hardware profile files in #367:
    (Values ​​for the parameters are taken from the mid-level profile)
  • DB_POSTGRES_MAX_CONNECTIONS=300

  • DB_POSTGRES_SHARED_BUFFERS=4GB

  • DB_POSTGRES_EFFECTIVE_CACHE_SIZE=8GB # ~50% of available memory for cache.

  • DB_POSTGRES_WORK_MEM=64MB

  • DB_POSTGRES_MAINTENANCE_WORK_MEM=512MB

  • DB_POSTGRES_WAL_BUFFERS=512MB

  • DB_POSTGRES_CHECKPOINT_COMPLETION_TARGET=0.7

  • DB_POSTGRES_RANDOM_PAGE_COST=1.3

  • DB_POSTGRES_EFFECTIVE_IO_CONCURRENCY=2

  • DB_POSTGRES_PARALLEL_TUPLE_COST=0.05

  • DB_POSTGRES_PARALLEL_SETUP_COST=500

  • DB_POSTGRES_MAX_PARALLEL_WORKERS_PER_GATHER=4

  • DB_POSTGRES_MAX_PARALLEL_WORKERS=8

  • DB_POSTGRES_SEQ_PAGE_COST=1.0

  • DB_POSTGRES_JIT=off

  • DB_POSTGRES_BGWRITER_LRU_MAXPAGES=100

  • DB_POSTGRES_BGWRITER_DELAY=200ms

Known issues ⚠️

  • our scalability shows a slightly worse scalability numbers for mid_level hardware profile for "a single docker image" deployment option contrary to a "docker compose" way of running a project, the exact numbers will be published soon on our documentation pages: https://cardano-foundation.github.io/cardano-rosetta-java/

Full Changelog: 1.2.5...1.2.6

1.2.5

21 Mar 12:06
af8e313
Compare
Choose a tag to compare

What's Changed

  • feat: add end-to-end testing framework for Cardano Rosetta API by @linconvidal in #351
  • refactor: common executor services defined once and re-used.
  • chore: dependencies update.
  • fix: we apply application specific index via flyweel for both single docker image and docker compose.
  • refactor: do not use cpu bound thread pool, context switching between threads is not cheap.
  • feat: add explicit db properties.
  • fix: always use API prefix for Rosetta API DB pool
  • added below parameters to environment files in #348:
  • API_DB_POOL_MIN_COUNT=10
  • API_DB_POOL_MAX_COUNT=10
  • API_DB_POOL_MAX_LIFETIME_MS=2000000
  • API_DB_POOL_CONNECTION_TIMEOUT_MS=100000
  • API_DB_KEEP_ALIVE_MS=60000
  • API_DB_LEAK_CONNECTIONS_WARNING_MS=60000
  • API_DB_MONITOR_PERFORMANCE=false
  • API_DB_SHOW_SQL=false

Full Changelog: 1.2.4...1.2.5

1.2.4

12 Mar 15:01
3333d37
Compare
Choose a tag to compare

What's Changed

  • fix: avoid NPE when transaction is not found by @matiwinnetou in #313
  • feat: simple performance / scalability fixes. by @matiwinnetou in #316
  • feat: Add Rosetta stability test configuration and sample data for mainnet and preprod by @linconvidal in #317
  • fix: missing txhash filtering on /block/transaction by @matiwinnetou in #323
  • feat: exposing configuration variables for yaci-store prunning inside of rosetta yaci indexer by @matiwinnetou in #321
  • feat: small scalability improvements for a typical exchange setup. by @matiwinnetou in #330
  • feat: dRep vote delegation support (transaction construction) by @matiwinnetou in #307
  • added below parameters to environment files in #321:
  • PRUNING_SAFE_BLOCKS=2160
  • PRUNING_INTERVAL=600

⚠️ Known Issue

  • #327: Transactions may become imbalanced when implicit fees differ from /construction/metadata. More details

ℹ️ Important Notice about CIP-129 Hash Prefix

CIP-129 hashes include a 1-byte prefix, resulting in a total length of 29 bytes. However, the rosetta-java API currently expects only a raw 28-byte hash for DRep keys and script hashes. When submitting transactions involving DRep keys or script hashes, ensure you’re using the correct 28-byte raw hash (remove the CIP-129 tag prefix byte) to avoid ledger validation errors.


Full Changelog: 1.2.3...1.2.4

1.2.3

05 Mar 14:00
dafd82c
Compare
Choose a tag to compare

What's Changed

  • feat: propagation supports is not recommended without open db transaction and can lead to connection leak issues. by @matiwinnetou in #309
  • chore: prepare 1.2.3 by @matiwinnetou in #310

⚠️ Known Issue

  • #327: Transactions may become imbalanced when implicit fees differ from /construction/metadata. More details

Full Changelog: 1.2.2...1.2.3