github hashgraph/hedera-mirror-node v0.29.0

latest releases: v0.117.1, v0.118.0-rc1, v0.116.1...
3 years ago

This release brings an assortment of under the hood improvements across modules and refinements of multiple REST API's.

Historical entity information prior to OA is now available. In this release we've added a repeatable Java migration that will import entity information from a mainnet network snapshot. This runs during upgrade, is configureable (hedera.mirror.importer.importHistoricalAccountInfo) and works in combination with the hedera.mirror.importer.startDate setting.

Please note that startDate needs to be populated and have a date on or before 2019-09-14T00:00:10Z for this migration to execute. If you have data from around that time in your database, it is a good idea anyway to set the startDate to 1970-01-01T00:00:00.000000000Z.

The REST API now expands its filtering options support specifically around transfers and in relation to tokens. Previously the account.id and credit/debit filtering options supported HBAR transfers only, this release expands both filters to include tokens also.

The state proof REST API and check-state-proof package have also been improved. The API now supports filtering for scheduled transactions via /api/v1/transactions/:transactionId/stateproof?scheduled=true as-well as a more compact response format. For record stream v5 files, the stateproof API response returns metadata hashes instead of the full raw bytes. With this, the response is more lightweight.

 {
     "address_books": [
       "address book content"
     ],
     "record_file": {
       "head": "content of the head",
       "start_running_hash_object": "content of the start running hash object",
       "hashes_before": [
         "hash of the 1st record stream object",
         "hash of the 2nd record stream object",
         "hash of the (m-1)th record stream object"
       ],
       "record_stream_object": "content of the mth record stream object",
       "hashes_after": [
         "hash of the (m+1)th record stream object",
         "hash of the (m+2)th record stream object",
         "hash of the nth record stream object"
       ],
       "end_running_hash_object": "content of the end running hash object",
     },
     "signature_files": {
       "0.0.3": "signature file content of node 0.0.3",
       "0.0.4": "signature file content of node 0.0.4",
       "0.0.n": "signature file content of node 0.0.n"
     },
     "version": 5
 }

The REST API now also supports repeatable account.id query parameters when filtering, with a configurable setting for the maximum number of repeated query parameters.

GET /api/v1/accounts?account.id=0.0.7&account.id=0.0.9

{
     "accounts": [
       {
         "balance": {
           "timestamp": "0.000002345",
           "balance": 70,
           "tokens": [
             {
               "token_id": "0.0.100001",
               "balance": 7
             },
             {
               "token_id": "0.0.100002",
               "balance": 77
             }
           ]
         },
         "account": "0.0.7",
         "expiry_timestamp": null,
         "auto_renew_period": null,
         "key": null,
         "deleted": false
       },
       {
         "balance": {
           "timestamp": "0.000002345",
           "balance": 90,
           "tokens": []
         },
         "account": "0.0.9",
         "expiry_timestamp": null,
         "auto_renew_period": null,
         "key": null,
         "deleted": false
       }
     ],
     "links": {
       "next": null
     }
   }

Multiple modules have also seen security and standardization improvements by the addition of more robust automated analysis tools such as gosec as well as the implementation of suggestions from a 3rd party code audit.

This release also saw a step to support the new and improved v2 offerings of the Java SDK. Both the monitor module and acceptance tests were updated to use the new SDK and utilize features such as in-built retry and support for scheduled transactions.

Enhancements

  • Bump versions for v0.29.0-rc1 #1700
  • Fix complex keys of size one not setting ed25519 public key #1668
  • Complex keys of size one do not set ed25519 public key #1667
  • Acceptance test miscellaneous improvements #1666
  • Replace Acceptance Test WebClient usage of deprecated exchange() #1665
  • Stateproof alpha compact response #1659
  • Address minor improvements found by audit #1658
  • Audit minor improvements #1657
  • Import historical account information #1656
  • Integrate gosec into rosetta #1648
  • Add scheduled transactions acceptance tests #1636
  • REST Add ability to query by multiple account ids #1607
  • Integrate gosec into Rosetta #1588
  • Backfill pre-OA account information #1582
  • Support filtering transactions REST API by multiple accounts #1526
  • Scheduled transactions acceptance tests #1473
  • Revisit stateproof checker design post v5 schema record schema changes #1442
  • Remove V1_11_6__Missing_Entities Migration #426

Bug Fixes

  • Add ability for REST transaction queries with credit/debit parameter to retrieve token only transfers (0.29) #1722
  • Replace null character on insert (0.29) #1717
  • Rename maxRetries to maxAttempts to better fit sdk logic #1687
  • Allow transaction.node_account_id to be null (#1683) #1684
  • Support empty nodeAccountId in TransactionBody #1682
  • Add support to transactions REST API for finding transactions with only token transfers #1662
  • Address audit shellcheck issues #1661
  • shellcheck issues #1660
  • Parse failed scheduled transactions #1649
  • Schedule executed_timestamp not updated on failed transaction #1638
  • Fix V2 test failures related with timescaledb compression #1637
  • Fix rest API test timeout #1635
  • Fix tests broken by Spring Boot 2.4 #1632
  • Fix get tokens query by account ID filter with shard and realm #1619
  • Filter dissociated accounts when querying tokens with account ID #1618
  • Token REST API by account ID returns dissociated accounts #1594
  • Transactions REST API account filter does not include sender and receiver token transfers #1587
  • Tokens REST API account filter with shard and realm #1586
  • V2 REST API test failures #1584
  • REST API tests timeout in CircleCI #1510
  • Fix publish image for rosetta #1702

Dependency Upgrades

  • Bump protobuf-java from 3.15.3 to 3.15.5 #1676
  • Bump software.amazon.awssdk:bom from 2.16.8 to 2.16.13 #1674
  • Bump s3proxy from 1.7.1 to 1.8.0 #1673
  • Bump husky from 5.1.2 to 5.1.3 in /hedera-mirror-rest #1671
  • Bump eslint-plugin-jest from 24.1.5 to 24.1.8 in /hedera-mirror-rest #1670
  • Bump aws-sdk from 2.853.0 to 2.858.0 in /hedera-mirror-rest #1669
  • Bump github.com/iancoleman/strcase from 0.1.2 to 0.1.3 in /hedera-mirror-rosetta #1645
  • Bump protobuf-java from 3.15.2 to 3.15.3 #1644
  • Bump software.amazon.awssdk:bom from 2.16.6 to 2.16.8 #1643
  • Bump micrometer-jvm-extras from 0.2.1 to 0.2.2 #1642
  • Bump aws-sdk from 2.852.0 to 2.853.0 in /hedera-mirror-rest #1641
  • Bump husky from 5.1.1 to 5.1.2 in /hedera-mirror-rest #1640
  • Bump protobuf-java from 3.15.1 to 3.15.2 #1634
  • Bump aws-sdk from 2.849.0 to 2.852.0 in /hedera-mirror-rest #1633
  • Bump gopkg.in/yaml.v2 from 2.3.0 to 2.4.0 in /hedera-mirror-rosetta #1631
  • Bump github.com/caarlos0/env/v6 from 6.3.0 to 6.5.0 in /hedera-mirror-rosetta #1629
  • Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /hedera-mirror-rosetta #1628
  • Bump aws-sdk from 2.849.0 to 2.851.0 in /hedera-mirror-rest #1626
  • Bump software.amazon.awssdk:bom from 2.16.4 to 2.16.6 #1625
  • Bump jib-maven-plugin from 2.7.1 to 2.8.0 #1624
  • Bump reporting-plugin from 4.0.96 to 4.0.97 #1623
  • Bump frontend-maven-plugin from 1.11.0 to 1.11.2 #1617
  • Bump mvn-golang-wrapper from 2.3.6 to 2.3.7 #1615
  • Bump grpc-bom from 1.35.0 to 1.36.0 #1614
  • Bump @awaitjs/express from 0.7.1 to 0.7.2 in /hedera-mirror-rest #1613
  • Bump aws-sdk from 2.843.0 to 2.849.0 in /hedera-mirror-rest #1612
  • Bump software.amazon.awssdk:bom from 2.15.77 to 2.16.4 #1610
  • Bump Spring Boot to 2.4.3 #1609
  • Bump husky from 5.0.9 to 5.1.1 in /hedera-mirror-rest #1608
  • Bump protobuf-java from 3.14.0 to 3.15.1 #1604
  • Bump reporting-plugin from 4.0.95 to 4.0.96 #1603
  • Bump eslint-plugin-jest from 24.1.3 to 24.1.5 in /hedera-mirror-rest #1602
  • Bump lodash from 4.17.20 to 4.17.21 in /hedera-mirror-rest #1600
  • Bump express-oas-generator from 1.0.30 to 1.0.32 in /hedera-mirror-rest #1598
  • Bump lodash from 4.17.20 to 4.17.21 in /hedera-mirror-rest/monitoring/monitor_apis #1597
  • Bump cucumber.version from 6.9.1 to 6.10.0 #1581

Contributors

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

Don't miss a new hedera-mirror-node release

NewReleases is sending notifications on new releases.