Skip to content

Releases: hashgraph/hedera-mirror-node

v0.28.1

04 Mar 19:42
2bba18a
Compare
Choose a tag to compare

Bug Fixes

  • Improve acceptance test client close logic #1655

Contributors

We'd like to thank all the contributors who worked on this release!

v0.28.0

01 Mar 23:45
6aa8d51
Compare
Choose a tag to compare

This releases finalizes support for scheduled transactions and HAPI protobuf v0.12. Two new schedule specific REST APIs were added including /api/v1/schedules and /api/v1/schedules/:id. The former lists all schedules with various filtering options available and the latter returns a specific schedule by its schedule ID.

GET /api/v1/schedules?account.id=0.0.1024&schedule.id=gte:4000&order=desc&limit=10

{
    "schedules": [
      {
        "admin_key": {
          "_type": "ProtobufEncoded",
          "key": "7b2233222c2233222c2233227d"
        },
        "consensus_timestamp": "1234567890.000030003",
        "creator_account_id": "0.0.1024",
        "executed_timestamp": null,
        "memo": "Created per governing council decision dated 02/03/21",
        "payer_account_id": "0.0.1024",
        "schedule_id": "0.0.4000",
        "signatures": [
          {
            "consensus_timestamp": "1234567890.000030001",
            "public_key_prefix": "CQkJ",
            "signature": "CQkJ"
          }
        ],
        "transaction_body": "AQECAgMD"
      }
    ],
    "links": {
      "next": null
    }
}

In HAPI v0.12, new memo fields were added to all entity types bringing parity across all services. Mirror node now supports the new fields including for update operations where the memo field can be set to null, empty string or a non-empty string to keep, clear or replace the existing memo, respectively.

Historically, the importer application has always downloaded stream files and saved to the filesystem in one thread then read those files and ingested them into the database in another thread. This has sometimes caused the database and filesystem to get out of sync and require manual intervention to fix. It also makes the importer stateful and as a result could not support running multiple instances for high availability.

With this release, we've removed the need for importer to read and write to the filesystem. Instead, the downloader and parser threads now communicate via an in-memory queue. To accomplish this, we also had to remove the t_application_status table in favor of calculating the last successful file directly from the stream file tables. In addition to fixing the aforementioned issues, the removal of the filesystem has resulted in a 5% latency improvement.

Other changes include adding an index field to record_file table to simulate a blockchain index and updating our Google Marketplace to v0.27. Also, we added support for the v5 stream files to the check-state-proof client app.

Enhancements

  • Bump versions for v0.28.0 #1650
  • Bump versions for v0.28.0-beta2 #1622
  • Bump versions for v0.28.0-beta1 #1611
  • Add block index to record file #1595
  • Add Schedules List API Support #1593
  • Rest get schedule api #1576
  • Update Acceptance Tests to Use SDK v2 #1573
  • Increase downloader threads from 13 to 15 (master) #1569
  • Support new entity memo fields #1567
  • Upgrade Google Marketplace with support for v0.27 #1565
  • Add support for ScheduleCreateTransaction memo field #1556
  • Add v5 stream file support to check-state-proof #1555
  • Remove filesystem dependency #1554
  • Support new entity memo fields #1553
  • Add v5 stream file support to check-state-proof #1549
  • Add block index to record file #1548
  • Support v0.12 scheduled transaction proto fields #1508
  • Scheduled transactions get REST API #1471
  • Scheduled transactions list REST API #1470
  • Upgrade Google Marketplace #1174
  • Recover when database and filesystem out of sync #918
  • Update balance parser code to conform to new parser design #573
  • Fetch last processed record (and event) file hash from t_record_files #109

Bug Fixes

  • Fix failure when building hedera-mirror-rest docker image #1591
  • Rosetta CLI validation failures #1585
  • Fix RedisTopicListenerTest.startTimeBefore #1574
  • Fix ConfigurableTransactionGeneratorTest.receiptPercent #1570
  • hedera-mirror-monitor test case ConfigurableTransactionGeneratorTest.receiptPercent failed #1566
  • Fix MirrorDateRangePropertiesProcessorIntegrationTest #1552
  • RedisTopicListenerTest.startTimeBefore failed test #1543
  • MirrorDateRangePropertiesProcessorIntegrationTest failed test #1519

Dependency Upgrades

  • Bump @awaitjs/express from 0.7.1 to 0.7.2 in /hedera-mirror-rest (#1613) #1621
  • Bump grpc-spring-boot to 2.11.0 #1592
  • Bump junit-jupiter from 1.15.1 to 1.15.2 #1580
  • Bump spring-cloud-dependencies from Hoxton.SR9 to Hoxton.SR10 #1579
  • Bump aws-sdk from 2.841.0 to 2.843.0 in /hedera-mirror-rest #1578
  • Bump husky from 4.3.8 to 5.0.9 in /hedera-mirror-rest #1577
  • Bump hedera-protobuf.version to 0.12.0-rc.1 #1572
  • Bump aws-sdk from 2.834.0 to 2.841.0 in /hedera-mirror-rest #1571
  • Bump os-maven-plugin from 1.6.2 to 1.7.0 #1564
  • Bump software.amazon.awssdk:bom from 2.15.73 to 2.15.77 #1563
  • Bump vertx-pg-client from 4.0.0 to 4.0.2 #1562
  • Bump mathjs from 9.1.0 to 9.2.0 in /hedera-mirror-rest #1561
  • Bump aws-sdk from 2.834.0 to 2.839.0 in /hedera-mirror-rest #1560
  • Bump @awaitjs/express from 0.7.0 to 0.7.1 in /hedera-mirror-rest #1559
  • Bump testcontainers from 7.2.0 to 7.4.0 in /hedera-mirror-rest #1558
  • Bump mathjs from 9.1.0 to 9.2.0 in /hedera-mirror-rest/monitoring/monitor_apis #1557

Contributors

We'd like to thank all the contributors who worked on this release!

v0.28.0-beta2

24 Feb 23:17
2a0ba36
Compare
Choose a tag to compare
v0.28.0-beta2 Pre-release
Pre-release
Bump versions for v0.28.0-beta2 (#1622)

Signed-off-by: Steven Sheehy <[email protected]>

v0.28.0-beta1

23 Feb 16:00
f24d5a1
Compare
Choose a tag to compare
v0.28.0-beta1 Pre-release
Pre-release
Bump versions for v0.28.0-beta1 (#1611)

Signed-off-by: Steven Sheehy <[email protected]>

v0.27.0

10 Feb 21:08
acfcfa7
Compare
Choose a tag to compare

This release adds a new REST API component that implements the Rosetta API. The Rosetta API is an open standard for integrating with blockchain-oriented systems. Implementing the Rosetta AP provides a number of advantages. It reduces the time and effort it takes for wallets, exchanges, etc. to integrate with the Hedera network if they have integrated with Rosetta in the past. Even if the systems integrator has not used Rosetta previously, using the Rosetta API in lieu of our separate REST API might be useful to reduce the friction with using a non-blockchain DLT like Hedera.

Scheduled transactions is an new feature being added to the main nodes in a future release. Scheduled transactions allows transactions to be submitted without all the necessary signatures and will execute once all the required parties sign. The mirror node has been updated to understand and store these new types of transactions. Additionally, we've updated our existing REST APIs to expose this information. The next release will add additional schedule specific REST APIs.

We made a concerted effort this release to improve our tests. Most of our flaky tests were fixed so that our continuous integration runs smoother. We also improved the stability of our acceptance tests. The REST API monitor also had some logging and useability fixes to aid in production observability.

Enhancements

  • Increase downloader threads and Bump version for v0.27.0 #1568
  • Acceptance Test improvements #1551
  • Bump versions for v0.27.0-rc1 #1550
  • Rosetta operations #1546
  • Update rosetta data schema with post v1.30 support #1530
  • Rosetta license #1529
  • Add rosetta module to maven cycle #1527
  • Change file readers to not depend upon java.io.File #1524
  • Integrate rosetta module into maven cycle #1523
  • Update Rosetta documentation #1517
  • Utilize official master branches in rosetta pulls #1516
  • Update rosetta data schema with post V1.30 schema support #1515
  • Update license and copyright to support rosetta #1514
  • Add Rosetta support to multi-module #1512
  • Support scheduled transactions for existing rest apis #1506
  • Use property for versions in child poms #1504
  • Add schedule transactions parsing logic to importer #1503
  • Monitor logging #1501
  • Add scheduled column to transaction table #1500
  • Refactor record file v5 #1499
  • Add schema and domain support for scheduled transactions #1477
  • Refactor record file v5 #1472
  • Scheduled transactions support for existing REST APIs #1468
  • Scheduled transactions importer #1465
  • Scheduled transactions schema and domain #1464
  • Monitor API logging improvements #1463
  • Rosetta API implementation #810
  • Integrate REST API build into Maven #761

Bug Fixes

  • Fix database initialization in docker-compose #1547
  • Fix PostgreSQL chart #1528
  • Skip rest test in test module docker build #1525
  • Fix REST test failures #1522
  • Fix issue with incomplete stubbing on RedisEntityListenerTest.onSlowPublish #1520
  • Fix failed test case SharedPollingTopicListenerTest.slowSubscriberOverflowException #1511
  • Fix whitespace in license header #1509
  • Fix flaky test PollingTopicMessageRetrieverTest.unthrottledShouldKeepPolling #1507
  • SharedPollingTopicListenerTest.slowSubscriberOverflowException failed test #1505
  • Optimize slow transaction query #1486
  • HTS acceptance tests can fail with TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED #1485
  • RedisEntityListenerTest.onSlowPublish failed test #1484
  • Update acceptance tests to use a new treasury account #1480
  • Flaky test PollingTopicMessageRetrieverTest.unthrottledShouldKeepPolling #1438
  • Transactions query times out in integration environment #1388

Documentation

  • Update TimescaleDB migration docs and scripts #1475

Dependency Upgrades

  • Bump embedded.testcontainers.version from 2.0.0 to 2.0.3 #1545
  • Bump reporting-plugin from 4.0.94 to 4.0.95 #1544
  • Bump jmeter-maven-plugin from 3.2.0 to 3.3.0 #1539
  • Bump software.amazon.awssdk:bom from 2.15.69 to 2.15.73 #1538
  • Bump download-maven-plugin from 1.6.0 to 1.6.1 #1537
  • Bump aws-sdk from 2.831.0 to 2.834.0 in /hedera-mirror-rest #1536
  • Bump supertest from 6.1.1 to 6.1.3 in /hedera-mirror-rest #1535
  • Bump testcontainers from 7.0.1 to 7.2.0 in /hedera-mirror-rest #1534
  • Bump mathjs from 9.0.0 to 9.1.0 in /hedera-mirror-rest #1533
  • Remove unused dependencies in monitor_apis #1532
  • Bump mathjs from 9.0.0 to 9.1.0 in /hedera-mirror-rest/monitoring/monitor_apis #1531
  • Bump software.amazon.awssdk:bom from 2.15.68 to 2.15.69 #1498
  • Bump testcontainers from 6.4.2 to 7.0.1 in /hedera-mirror-rest #1497
  • Bump embedded.testcontainers.version from 1.86 to 2.0.0 #1496
  • Bump aws-sdk from 2.830.0 to 2.831.0 in /hedera-mirror-rest #1494
  • Bump @godaddy/terminus from 4.5.0 to 4.6.0 in /hedera-mirror-rest #1493
  • Bump sinon from 9.2.3 to 9.2.4 in /hedera-mirror-rest #1492
  • Bump grpc-bom from 1.33.1 to 1.35.0 #1491
  • Bump supertest from 6.0.1 to 6.1.1 in /hedera-mirror-rest #1490
  • Bump @awaitjs/express from 0.6.3 to 0.7.0 in /hedera-mirror-rest #1489
  • Bump jmeter.version from 5.4 to 5.4.1 #1488
  • Bump testcontainers from 6.4.1 to 6.4.2 in /hedera-mirror-rest #1487
  • Bump aws-sdk from 2.824.0 to 2.830.0 in /hedera-mirror-rest #1483
  • Bump software.amazon.awssdk:bom from 2.15.61 to 2.15.68 #1482
  • Bump reporting-plugin from 4.0.89 to 4.0.94 #1458
  • Bump node-flywaydb from 3.0.3 to 3.0.5 in /hedera-mirror-rest #1457
  • Bump qs from 6.9...
Read more

v0.27.0-rc2

04 Feb 04:17
64d6fa6
Compare
Choose a tag to compare
v0.27.0-rc2 Pre-release
Pre-release
Acceptance Test improvements (#1551)

* Acceptance test improvements

- Update retry backoff to 3 secs
- Move treasury account to AccountClient for easy sharing and to ensure single run
- Set http get header with no cache store to reduce sticky 400's
- Bump to rc2

Signed-off-by: Nana-EC <[email protected]>

v0.27.0-rc1

04 Feb 04:15
fa845de
Compare
Choose a tag to compare
v0.27.0-rc1 Pre-release
Pre-release
Bump versions for v0.27.0-rc1 (#1550)

- Bump versions for v0.27.0.rc1
- Fix `running_hash_version` in `openapi.yml` getting updated
- Fix Rosetta version in `application.yml` not getting updated
- Fix Rosetta version in configuration docs

Signed-off-by: Steven Sheehy <[email protected]>

v0.26.0

22 Jan 16:43
b93a82b
Compare
Choose a tag to compare

This release is mainly focused on adding support for new features coming to the main nodes. We added support for the newTotalSupply field to the transaction record in HAPI 0.10.0. We also documented our design for the upcoming scheduled transactions services that's coming in a future release of HAPI. Our next minor version will have preliminary support for that.

But by far the biggest change is support for the new record file V5 and signature file V5 format. These files are uploaded to cloud storage and pulled by the mirror nodes to populate its database. Since it's the core communication format between the main nodes and mirror nodes, it took a bit of refactoring and new code to support the new format while retaining compatibility with previous stream files.

Warning! If you don't upgrade your Mirror Node to v0.26.0 or later before HAPI v0.11.0 is released in a few weeks, your mirror node will be unable to process new transactions.

We continued our progress on switching to TimescaleDB. We integrated a TimescaleDB helm chart into our Kubernetes deployment and added migration scripts to convert from PostgreSQL to TimescaleDB. We're still in the testing phase so it's still recommended to stick with the v1 schema (the default) for now.

Enhancements

  • Bump versions for v0.26.0 #1481
  • Bump versions for v0.26.0-rc1 #1478
  • Increase rest pg pool timeouts #1462
  • Bump versions for 0.26.0-beta1 #1461
  • V2 data schema gitactions #1448
  • Bump versions for v0.26.0-alpha1 #1447
  • Support record file v5 #1445
  • Add a request ID to REST requests #1443
  • Add new nodes to monitor #1437
  • Utilize newTotalSupply field from HAPI #1426
  • Update copyright to 2021 #1425
  • Add a monitor warmup period property #1418
  • Support Signature File v5 #1413
  • Support newTotalSupply #1397
  • Monitor warm up period #1396
  • TimescaleDB: Update DB User Permissions #1387
  • Refactor signature file reader #1384
  • Bump chart dependencies #1383
  • Refactor Record File Reader #1382
  • Refactor Signature File Reader #1370
  • Refactor Record File Reader #1369
  • Scheduled Transactions Design #1368
  • Stream Signature File V5 Support #1366
  • Record Stream V5 Support #1365
  • TimescaleDB: Add psql to timescaledb migration scripts #1364
  • TimescaleDB: Helm #1359
  • TimescaleDB: Add GitHubAction for V2 Schema #1345
  • TimescaleDB: Update mirror chart with TimescaleDB v2 support #1313
  • TimescaleDB: Add DB migration scripts from v1 to v2 schema environment #1309

Bug Fixes

  • Change elastic index format to yyyy-MM-dd #1476
  • Remove failing acceptance test #1446
  • Fix wrong API base URL on Swagger site #1444
  • Fix TimescaleDB init job failure #1436
  • TimescaleDB init job sometimes fails at connecting to access node service #1435
  • Fix token_account primary index #1424
  • Fix support for custom owner and importer users in v1 data schema #1421
  • Fix missing token transfers for token create/mint/burn/wipe #1415
  • Missing token transfers for non-cryptotransfer transactions #1412

Documentation

  • Scheduled Transactions Design #1414

Dependency Upgrades

  • Bump jib-maven-plugin from 2.7.0 to 2.7.1 #1434
  • Bump software.amazon.awssdk:bom from 2.15.54 to 2.15.61 #1433
  • Bump nodemon from 2.0.6 to 2.0.7 in /hedera-mirror-rest/monitoring/monitor_apis #1432
  • Bump nodemon from 2.0.6 to 2.0.7 in /hedera-mirror-rest #1431
  • Bump sinon from 9.2.2 to 9.2.3 in /hedera-mirror-rest #1430
  • Bump husky from 4.3.6 to 4.3.7 in /hedera-mirror-rest #1429
  • Bump eslint-plugin-prettier from 3.3.0 to 3.3.1 in /hedera-mirror-rest #1428
  • Bump aws-sdk from 2.820.0 to 2.824.0 in /hedera-mirror-rest #1427
  • Bump aws-sdk from 2.818.0 to 2.820.0 in /hedera-mirror-rest #1410
  • Bump mathjs from 8.1.0 to 8.1.1 in /hedera-mirror-rest #1409
  • Bump js-yaml from 3.14.1 to 4.0.0 in /hedera-mirror-rest #1408
  • Bump mathjs from 8.1.0 to 8.1.1 in /hedera-mirror-rest/monitoring/monitor_apis #1407
  • Bump software.amazon.awssdk:bom from 2.15.23 to 2.15.54 #1403
  • Bump jib-maven-plugin from 2.6.0 to 2.7.0 #1401
  • Bump reporting-plugin from 4.0.86 to 4.0.89 #1400
  • Bump aws-sdk from 2.814.0 to 2.818.0 in /hedera-mirror-rest #1399
  • Bump jackson-dataformat-msgpack from 0.8.21 to 0.8.22 #1398
  • Bump junit-jupiter from 1.15.0 to 1.15.1 #1394
  • Bump guava from 30.0-jre to 30.1-jre #1393
  • Bump swagger-ui-express from 4.1.5 to 4.1.6 in /hedera-mirror-rest #1392
  • Bump testcontainers from 6.4.0 to 6.4.1 in /hedera-mirror-rest #1391
  • Bump axios from 0.21.0 to 0.21.1 in /hedera-mirror-rest #1390
  • Bump node-notifier from 8.0.0 to 8.0.1 in /hedera-mirror-rest/monitoring/monitor_apis #1386
  • Bump node-notifier from 8.0.0 to 8.0.1 in /hedera-mirror-rest #1385
  • Bump embedded.testcontainers.version from 1.85 to 1.86 #1381
  • Bump cucumber.version from 6.9.0 to 6.9.1 #1380
  • Bump micrometer-jvm-extras from 0.2.0 to 0.2.1 #1378
  • Bump @godaddy/terminus from 4.4.1 to 4.5.0 in /hedera-mirror-rest #1377
  • Bump aws-sdk from 2.809.0 to 2.814.0 in /hedera-mirror-rest #1376
  • Bump js-yaml from 3.14.0 to 3.14.1 in /hedera-mirror-rest #1375
  • Bump jmeter.version from 5.3 to 5.4 #1330
  • Bump reporting-plugin from 4.0.84 to 4.0.86 #1301
  • Bump cucumber.version from 6.8.2 to 6.9.0 #1291

Contributors

We'd like to thank all the contributors who worked on this release!

Read more

v0.26.0-rc1

21 Jan 16:14
90d2b1e
Compare
Choose a tag to compare
v0.26.0-rc1 Pre-release
Pre-release
Bump versions for v0.26.0-rc1 (#1478)

Signed-off-by: Steven Sheehy <[email protected]>

v0.26.0-beta1

20 Jan 17:32
90a9ecd
Compare
Choose a tag to compare
v0.26.0-beta1 Pre-release
Pre-release
Bump versions for 0.26.0-beta1 (#1461)

* Bump versions for 0.26.0-beta1

Signed-off-by: Ian Jungmann <[email protected]>