After scheduled transactions was made available in previewnet, we listened to user feedback and further iterated on the design to make it easier to use. This release adds support for this revised scheduled transactions design planned to be released in HAPI v0.13. There was no impact to our REST API format, only the importer needed to be updated to parse and ingest the new proto format. Our monitor API and acceptance tests will be adjusted in the next release once the SDKs add support for the new design.
This release also adds support for the newly announced account balance file format that was released in HAPI v0.12. The new protobuf based format will eventually replace the CSV format in July 2021. Until then, both formats will exist simultaneously in the bucket so users can transition at their leisure. Besides being more efficient to parse, the new files are also compressed using Gzip for reduced storage and download costs. We also took the time to improve the balance file parsing performance regardless of format. Average parse times should decrease by about 27%.
For our REST API, we now expose an entity_id
field on our transactions related APIs. This field represents that main entity associated with that transaction type. For example, if it was a HCS transaction it would be the topic ID created, updated, or deleted.
GET /api/v1/transactions/0.0.1009-1234567890-999999998
{
"transactions": [{
"consensus_timestamp": "1234567890.999999999",
"entity_id": "0.0.108763",
"valid_start_timestamp": "1234567890.999999998",
"charged_tx_fee": 0,
"memo_base64": null,
"result": "SUCCESS",
"scheduled": false,
"transaction_hash": "aGFzaA==",
"name": "CRYPTOUPDATEACCOUNT",
"node": "0.0.3",
"transaction_id": "0.0.1009-1234567890-999999998",
"valid_duration_seconds": "11",
"max_fee": "33",
"transfers": []
}]
}
We continue to make progress towards our goal of switching to TimescaleDB. We fixed the user and database initialization issues and tested a migration from PostgreSQL. We switched out the TimescaleDB Helm chart to a more stable one and explored our hosting options for production. Finally we switched to SCRAM-SHA-256 to improve the security of our database user authentication.
Breaking changes:
There were a number of breaking changes this release to be aware of. If you're using our Helm chart, we have switched the importer from a StatefulSet
to a Deployment
since it no longer has the need for a persistent volume. We also switched the Traefik dependency from a Deployment
to a DaemonSet
. Both of these will require manual intervention to delete the old workload before upgrading. You'll also need to delete the old leader election configmap since it will still references the importer StatefulSet
(e.g. kubectl delete configmap leaders
). Support for Helm 2 was dropped since it is no longer supported by the community after November 13, 2020. If you're directly reading from our database, a rename of the t_entities
table and its columns may impact you as well.
Enhancements
- Bump versions for v0.31.0 #1843
- Bump versions for v0.31.0-rc1 #1818
- Update entity table references in entity migration tool #1815
- Fixes to the timescale migration script #1798
- Change importer to Deployment & bump dependencies #1797
- Use scram-sha-256 password authentication for TimescaleDB #1795
- Expose entity_id in transactions REST API #1791
- Move Sonar to separate job & fix chart test #1768
- Update importer for revised scheduled transaction design #1766
- Add postInit to timescaledb chart #1764
- Helm v3 #1752
- Use secure authentication for TimescaleDB #1739
- Update REST API for revised scheduled transaction design #1738
- Update importer for revised scheduled transaction design #1737
- Proto based balance file parser #1713
- Parse proto-based balance file #1679
- Expose entity_id on /api/v1/transactions endpoint #1639
- Upgrade to Helm 3 #1502
- Properly initialize timescaledb before other resources access it #1439
- TimescaleDB: Test data migration from pre-prod environment to k8s cluster #1423
- TimescaleDB: Explore Hosting Options #1422
Bug Fixes
- Fix REST API image #1817
- Port multi-scenario running longer fix #1807
- Fix test image build #1794
- Fix master deploy failing #1793
- Fix REST artifact missing v prefix #1787
- Fix jar name & bump to v0.31.0-alpha3 #1786
- Fix release artifact & bump to v0.31.0-alpha2 #1784
- Migrate and update t_entities to entity table #1779
- Monitor may run a scenario for multiple of the configured duration / number of transactions #1777
- Improve balance file performance #1767
- Clean up t_entities columns with empty values #1740
- Balance file parsing performance #1736
- Provide migration tool to fix incorrect keys in t_entities #1721
- Incorrect entity keys #509
Dependency Upgrades
- Bump docker-maven-plugin from 0.34.1 to 0.35.0 #1810
- Bump download-maven-plugin from 1.6.1 to 1.6.2 #1805
- Bump software.amazon.awssdk:bom from 2.16.31 to 2.16.34 #1804
- Bump protobuf-java from 3.15.6 to 3.15.7 #1803
- Bump aws-sdk from 2.876.0 to 2.879.0 in /hedera-mirror-rest #1801
- Bump eslint-plugin-jest from 24.3.2 to 24.3.4 in /hedera-mirror-rest #1800
- Bump dependency-check-maven from 6.1.2 to 6.1.5 #1792
- Bump aws-sdk from 2.871.0 to 2.876.0 in /hedera-mirror-rest #1790
- Bump y18n from 4.0.0 to 4.0.1 in /hedera-mirror-rest/monitoring/monitor_apis #1789
- Bump y18n from 4.0.0 to 4.0.1 in /hedera-mirror-rest #1788
- Bump reporting-plugin from 4.0.98 to 4.0.101 #1782
- Bump software.amazon.awssdk:bom from 2.16.26 to 2.16.31 #1781
- Bump
@hashgraph
/proto from 1.0.22 to 1.0.23 in /hedera-mirror-rest/check-state-proof #1776 - Bump frontend-maven-plugin from 1.11.2 to 1.11.3 #1773
- Bump testcontainers from 7.6.2 to 7.7.0 in /hedera-mirror-rest #1771
- Bump
@hashgraph
/proto from 1.0.22 to 1.0.23 in /hedera-mirror-rest #1769 - Bump spring-boot-starter-parent from 2.4.3 to 2.4.4 #1765
- Bump grpc-bom from 1.36.0 to 1.36.1 #1763
- Bump mvn-golang-wrapper from 2.3.7 to 2.3.8 #1762
- Bump dependency-check-maven from 6.1.2 to 6.1.3 #1761
- Bump embedded.testcontainers.version from 2.0.4 to 2.0.5 #1760
- Bump guava from 30.1-jre to 30.1.1-jre #1759
- Bump software.amazon.awssdk:bom from 2.16.18 to 2.16.26 #1758
- Bump sinon from 9.2.4 to 10.0.0 in /hedera-mirror-rest #1757
- Bump aws-sdk from 2.863.0 to 2.871.0 in /hedera-mirror-rest #1756
- Bump qs from 6.9.6 to 6.10.1 in /hedera-mirror-rest #1755
- Bump husky from 5.1.3 to 5.2.0 in /hedera-mirror-rest #1754
- Bump
@hashgraph
/proto from 1.0.21 to 1.0.22 in /hedera-mirror-rest #1753 - Bump asn1js from 2.0.26 to 2.1.1 in /hedera-mirror-rest #1750
- Bump
@godaddy
/terminus from 4.6.0 to 4.7.1 in /hedera-mirror-rest #1748 - Bump
@hashgraph
/proto from 1.0.21 to 1.0.22 in /hedera-mirror-rest/check-state-proof #1735 - Bump cucumber.version from 6.10.1 to 6.10.2 #1733
- Bump embedded.testcontainers.version from 2.0.3 to 2.0.4 #1732
- Bump reporting-plugin from 4.0.98 to 4.0.100 #1731
- Bump spring-cloud-dependencies from 2020.0.1 to 2020.0.2 #1730
- Bump testcontainers from 7.5.0 to 7.6.2 in /hedera-mirror-rest #1727
- Bump eslint-plugin-jest from 24.3.1 to 24.3.2 in /hedera-mirror-rest #1726
Contributors
We'd like to thank all the contributors who worked on this release!