Releases: hashgraph/hedera-services
Hedera Services v0.11.0
In Hedera Services v0.11.0, we upgraded the record stream format from v2 to v5 and the event stream format from v3 to v5. These changes are described in detail in the "Record and Event Stream File Formats" article.
We also updated startup code to make the number of system accounts in development and pre-production networks match the number of system accounts on mainnet, creating account numbers 900-1000
on startup if they do not exist.
Enhancements
- Refactor RecordStream and EventStream to v5 #854
- Create Crypto accounts from 900 to 1000 if they do not exist. #784
Contributors
We'd like to thank all the contributors who worked on this release!
- @anighanta
- @cesaragv
- @Daniel-K-Ivanov
- @failfmi
- @georgiyazovaliiski
- @JeffreyDallas
- @ljianghedera
- @mark-hedera
- @Neeharika-Sompalli
- @QianSwirlds
- @qnswirlds
- @tinker-michaelj
Hedera Services v0.10.0
In Hedera Services v0.10.0, we improved the usability of the Hedera Token Service (HTS) with a newTotalSupply
field in the receipts of TokenMint
and TokenBurn
transactions. Without this field, a client must follow the entire record stream of a token's supply changes to be certain of its supply at the consensus timestamp in the receipt. (Note that HTS operations are now enabled on Previewnet and Testnet, but remain disabled on Mainnet at this time. Please consult the SDK documentation for HTS semantics.)
Also for HTS, we added a property fees.tokenTransferUsageMultiplier
that scales the resource usage assigned to a CryptoTransfer
that changes token balances. This scaling factor is expected to be set so that the cost of a CryptoTransfer
that changes two token balances is roughly 10x the cost of a CryptoTransfer
that changes only two hbar balances.
Apart from HTS, this release drops a restriction on what payer accounts can be used for CryptoUpdate
transactions that target system accounts. (That is, accounts with number not greater than hedera.numReservedSystemEntities
.) In earlier versions, only three payers were accepted: The target account itself, the system admin account, or the treasury account. Other payers resulted in a status of AUTHORIZATION_FAILED
. This entire restriction is removed, with one exception---the treasury must pay for a CryptoUpdate
targeting the treasury.
Apart from these functional changes, we fixed an unintentional change in the naming of the crypto balances CSV file, and improved the usefulness of clients under test-clients/ for testing reconnect scenarios.
Enhancements
- Add
newTotalSupply
field to the receipt of transactions affecting token supply #645 - Scale resource usage differently for hbar and token balance adjustments #863
- Relax payer authorization reqs for updates to system accounts #774
Bug fixes
- Revert unintentional change to balances CSV name #842
Contributors
We'd like to thank all the contributors who worked on this release!
Hedera Services v0.10.0
In Hedera Services v0.10.0, we improved the usability of the Hedera Token Service (HTS) with a newTotalSupply
field in the receipts of TokenMint
and TokenBurn
transactions. Without this field, a client must follow the entire record stream of a token's supply changes to be certain of its supply at the consensus timestamp in the receipt. (Note that HTS operations are now enabled on Previewnet and Testnet, but remain disabled on Mainnet at this time. Please consult the SDK documentation for HTS semantics.)
Also for HTS, we added a property fees.tokenTransferUsageMultiplier
that scales the resource usage assigned to a CryptoTransfer
that changes token balances. This scaling factor is expected to be set so that the cost of a CryptoTransfer
that changes two token balances is roughly 10x the cost of a CryptoTransfer
that changes only two hbar balances.
Apart from HTS, this release drops a restriction on what payer accounts can be used for CryptoUpdate
transactions that target system accounts. (That is, accounts with number not greater than hedera.numReservedSystemEntities
.) In earlier versions, only three payers were accepted: The target account itself, the system admin account, or the treasury account. Other payers resulted in a status of AUTHORIZATION_FAILED
. This entire restriction is removed, with one exception---the treasury must pay for a CryptoUpdate
targeting the treasury.
Apart from these functional changes, we fixed an unintentional change in the naming of the crypto balances CSV file, and improved the usefulness of clients under test-clients/ for testing reconnect scenarios.
Enhancements
- Add
newTotalSupply
field to the receipt of transactions affecting token supply #645 - Scale resource usage differently for hbar and token balance adjustments #863
- Relax payer authorization reqs for updates to system accounts #774
Bug fixes
- Revert unintentional change to balances CSV name #842
Contributors
We'd like to thank all the contributors who worked on this release!
Hedera Services v0.9.0
In Hedera Services v0.9.0, we finished the alpha implementation of the Hedera Token Service (HTS). Note that all HTS operations are enabled on Previewnet, but remain disabled on Testnet and Mainnet. Please consult the SDK documentation for HTS semantics.
We made several changes to the HAPI protobuf. First, we removed the deprecated SignatureList
message type. Second, we added a top-level signedTransactionBytes
field to the Transaction
message to ensure deterministic transaction hashes; the top-level bodyBytes
and sigMap
fields are now deprecated and the already-deprecated body
field is removed. Third, we deprecated all fields related to non-payer records, include account send and receive thresholds. This followed from the effective removal of non-payer records in v0.8.1.
For the same reason, the semantics of the CryptoGetRecords
and ContractGetRecords
queries have also changed. The only queryable records are now those granted to the effective payer of a transaction that was handled while the network property ledger.keepRecordsInState=true
. Such records have an expiry of 180 seconds. It is important to note that because a contract account can never be the effective payer for a transaction, any ContractGetRecords
query will always return an empty record list, and we have deprecated the query.
Enhancements
- Complete alpha implementation of HTS, e.g. #646 #703 #751
- Ensure deterministic transaction hashes via the
Transaction#signedTransactionBytes
field #611 - Drop some artificial constraints on the form of a
CryptoTransfer
used for a query payment #581
Deprecations
- Remove all code involved with non-payer records; deprecate all associated protobuf elements #548
Bug fixes
- Consolidate fees for variable-size transaction records to ensure the payer's max
transactionFee
is respected #502 - Fix issues with pre-alpha HTS implementation, e.g. #698
Contributors
We'd like to thank all the contributors who worked on this release!
Hedera Services v0.9.0
In Hedera Services v0.9.0, we finished the alpha implementation of the Hedera Token Service (HTS). Note that all HTS operations are enabled on Previewnet, but remain disabled on Testnet and Mainnet. Please consult the SDK documentation for HTS semantics.
We made several changes to the HAPI protobuf. First, we removed the deprecated SignatureList
message type. Second, we added a top-level signedTransactionBytes
field to the Transaction
message to ensure deterministic transaction hashes; the top-level bodyBytes
and sigMap
fields are now deprecated and the already-deprecated body
field is removed. Third, we deprecated all fields related to non-payer records, include account send and receive thresholds. This followed from the effective removal of non-payer records in v0.8.1.
For the same reason, the semantics of the CryptoGetRecords
and ContractGetRecords
queries have also changed. The only queryable records are now those granted to the effective payer of a transaction that was handled while the network property ledger.keepRecordsInState=true
. Such records have an expiry of 180 seconds. It is important to note that because a contract account can never be the effective payer for a transaction, any ContractGetRecords
query will always return an empty record list, and we have deprecated the query.
Enhancements
- Complete alpha implementation of HTS, e.g. #646 #703 #751
- Ensure deterministic transaction hashes via the
Transaction#signedTransactionBytes
field #611 - Drop some artificial constraints on the form of a
CryptoTransfer
used for a query payment #581
Deprecations
- Remove all code involved with non-payer records; deprecate all associated protobuf elements #548
Bug fixes
- Consolidate fees for variable-size transaction records to ensure the payer's max
transactionFee
is respected #502 - Fix issues with pre-alpha HTS implementation, e.g. #698
Contributors
We'd like to thank all the contributors who worked on this release!
Hedera Services v0.9.0
In Hedera Services v0.9.0, we finished the alpha implementation of the Hedera Token Service (HTS). Note that all HTS operations are enabled on Previewnet, but remain disabled on Testnet and Mainnet. Please consult the SDK documentation for HTS semantics.
We made several changes to the HAPI protobuf. First, we removed the deprecated SignatureList
message type. Second, we added a top-level signedTransactionBytes
field to the Transaction
message to ensure deterministic transaction hashes; the top-level bodyBytes
and sigMap
fields are now deprecated and the already-deprecated body
field is removed. Third, we deprecated all fields related to non-payer records, include account send and receive thresholds. This followed from the effective removal of non-payer records in v0.8.1.
For the same reason, the semantics of the CryptoGetRecords
and ContractGetRecords
queries have also changed. The only queryable records are now those granted to the effective payer of a transaction that was handled while the network property ledger.keepRecordsInState=true
. Such records have an expiry of 180 seconds. It is important to note that because a contract account can never be the effective payer for a transaction, any ContractGetRecords
query will always return an empty record list, and we have deprecated the query.
Enhancements
- Complete alpha implementation of HTS, e.g. #646 #703 #751
- Ensure deterministic transaction hashes via the
Transaction#signedTransactionBytes
field #611 - Drop some artificial constraints on the form of a
CryptoTransfer
used for a query payment #581
Deprecations
- Remove all code involved with non-payer records; deprecate all associated protobuf elements #548
Bug fixes
- Consolidate fees for variable-size transaction records to ensure the payer's max
transactionFee
is respected #502 - Fix issues with pre-alpha HTS implementation, e.g. #698
Contributors
We'd like to thank all the contributors who worked on this release!
Hedera Services v0.8.0
In Hedera Services v0.8.0, we made several minor fixes and improvements. This tag also includes pre-release implementations of several operations for an incipient Hedera Token Service (HTS).
NOTE: HTS operations will remain disabled in non-development environments for some time. These operations are under active development; please consult master
for up-to-date semantics.
Enhancements
- Deprecated fields related to threshold records in HAPI protobuf #506
- Update Receipt proto to pair each Status with NodeID - Receipt is deleted only when the latest (duplicate) transaction expires.
getTxRecord
API will continue to return ALL records with the transaction ID. - First drafts of
tokenCreate
,tokenUpdate
,tokenDelete
,tokenTransfer
,tokenFreeze
,tokenUnfreeze
,tokenGrantKyc
,tokenRevokeYc
,tokenWipe
, andgetTokenInfo
HAPI operations. #505 and #522
Documentation changes
- None
Bug fixes
- None
Contributors
We'd like to thank all the contributors who worked on this release!
Hedera Services v0.8.0
In Hedera Services v0.8.0, Hedera Services v0.8.0 includes minor fixes and improvements listed below:
Enhancements
- Deprecated fields related to threshold records in HAPI protobuf #506
- Update Receipt proto to pair each Status with NodeID - Receipt is deleted only when the latest (duplicate) transaction expires.
getTxRecord
API will continue to return ALL records with the transaction ID.
Documentation changes
- None
Bug fixes
- None
Contributors
We'd like to thank all the contributors who worked on this release!
Hedera Services v0.8.0
In Hedera Services v0.8.0, Hedera Services v0.8.0 includes minor fixes and improvements listed below:
Enhancements
- Deprecated fields related to threshold records in HAPI protobuf #506
- Update Receipt proto to pair each Status with NodeID - Receipt is deleted only when the latest (duplicate) transaction expires.
getTxRecord
API will continue to return ALL records with the transaction ID.
Documentation changes
- None
Bug fixes
- None
Contributors
We'd like to thank all the contributors who worked on this release!
Hedera Services v0.8.0
v0.8.0-alpha2 Second preliminary release candidate for Services