Releases: hashgraph/hedera-sdk-java
v2.0.9-beta.1
Added
- Support for NFTS
- Creating NFT tokens
- Minting NFTs
- Burning NFTs
- Transfering NFTs
- Wiping NFTs
- Query NFT information
- Support for Custom Fees on tokens:
- Setting custom fees on a token
- Updating custom fees on an existing token
v2.0.7
Added
- Support for entity ID checksums which are validated whenever a request begins execution.
This includes the IDs within the request, the account ID within the transaction ID, and
query responses will contain entity IDs with a checksum for the network the query was executed on. - Node validation before execution
- Null checks for most parameters to catch stray
NullPointerException
's
Fixed
RequestType
missingUNCHECKED_SUBMIT
fortoString()
andvalueOf()
methods.FeeSchedules
incorrectly serializing nulls causingNullPointerException
v2.0.6
Added
-
Add
FeeSchedule
type to allow a structured parse of file0.0.111
-
Support for setting
maxBackoff
,maxAttempts
,retryHandler
, andcompletionHandler
inTopicMessageQuery
-
Default logging behavior to
TopicMessageQuery
if an error handler or completion handler was not set -
(Internal) CI is run significantly more often, and against previewnet and the master branch of hedera-services.
-
Expose
tokenDecimals
fromAccountBalance
Fixed
-
TopicMessageQuery
retry handling; this should retry on more gRPC errors -
TopicMessageQuery
max retry timeout; before this would could wait up to 4m with no feedback -
Client
should be more thread safe
v2.0.5
Added
- Support
memo
for Tokens, Accounts, and Files.
Fixed
- Scheduled transaction support:
ScheduleCreateTransaction
,ScheduleDeleteTransaction
, andScheduleSignTransaction
- HMAC Calculation Does Not Include IV [NCC-E001154-010]
- Non-Constant Time Lookup of Mnemonic Words [NCC-E001154-009]
- Decreased
CHUNK_SIZE
4096->1024 and increased default max chunks 10->20 - Remove use of
computeIfAbsent
andputIfAbsent
from JDK7 builds
Deprecated
new TransactionId(AccountId, Instant)
- UseTransactionId.withValidStart()
instead.
v2.0.5-beta.9
Fixed
TransferTransaction.addTokenTransfer()
was correctly adding tokens- HMAC Calculation Does Not Include IV [NCC-E001154-010]
- Non-Constant Time Lookup of Mnemonic Words [NCC-E001154-009]
- Decreased
CHUNK_SIZE
4096->1024 and increased default max chunks 10->20 - Renamed
ScheduleInfo.getTransaction()
->ScheduleInfo.getScheduledTransaction()
v2.0.5-beta.8
Fixed
- Remove use of
computeIfAbsent
andputIfAbsent
from JDK7 builds
2.0.5-beta.7
Fixed
- Scheduled transactions should use new HAPI protobufs
ReceiptPrecheckException
should be thrown when the erroring status was in theTransactionReceipt
- Removed
nonce
fromTransactionId
Transaction[Receipt|Record]Query
should not error for statusIDENTICAL_SCHEDULE_ALREADY_CREATED
because the other fields on the receipt are present with that status.ScheduleMultiSigExample
should use updated scheduled transaction API
Removed
ScheduleCreateTransaction.addScheduledSignature()
ScheduleCreateTransaction.getScheduledSignatures()
ScheduleSignTransaction.addScheduledSignature()
ScheduleSignTransaction.getScheduledSignatures()
v2.0.5-beta.4
Added
- Support
memo
for Tokens, Accounts, and Files. TransactionId.fromString()
should support nonce and scheduled.
https://github.com/hashgraph/hedera-sdk-java/blob/master/CHANGELOG.md#v205-beta4
v2.0.0
v0.9.0-beta-2
Changed
All changes are not immediately breaking as the previous method still should exist and be working. The previous methods are flagged as deprecated and will be removed upon v1.0
.
-
Transactions and queries do not take
Client
in the constructor; instead,Client
is passed toexecute
. -
Removed
Transaction.executeForReceipt
andTransaction.executeForRecord
These methods have been identified as harmful as they hide too much. If one fails, you do not know if the transaction failed to execute; or, the receipt/record could not be retrieved. In a mission-critical application, that is, of course, an important distinction.
Now there is only
Transaction.execute
which returns aTransactionId
. If you don't care about waiting for consensus or retrieving a receipt/record in your application, you're done. Otherwise you can now use anyTransactionId
and ask for the receipt/record (with a stepped retry interval until consensus) withTransactionId.getReceipt
andTransactionId.getRecord
.v0.8.x and below
AccountId newAccountId = new AccountCreateTransaction(hederaClient) .setKey(newKey.getPublicKey()) .setInitialBalance(1000) .executeForReceipt() // TransactionReceipt .getAccountId();
v0.9.x
AccountId newAccountId = new AccountCreateTransaction() .setKey(newKey.getPublicKey()) .setInitialBalance(1000) .execute(hederaClient) // TranactionId .getReceipt(hederaClient) // TransactionReceipt .getAccountId();
-
TransactionReceipt
,AccountInfo
,TransactionRecord
, etc. now expose public final fields instead of getters (where possible and it makes sense). -
Rename
getCallResult
andgetCreateResult
togetContractExecuteResult
andgetContractCreateResult
for consistency
Added
-
TransactionId.getReceipt
-
TransactionId.getRecord
-
FileId.ADDRESS_BOOK
,FileId.FEE_SCHEDULE
,FileId.EXCHANGE_RATES
-
Experimental support for the Hedera Consensus Service (HCS). HCS is not yet generally available but if you have access
the SDK can work with the current iteration of it. Due to its experimental nature, a system property must be set before use.System.setPropery("com.hedera.hashgraph.sdk.experimental", "true")
Fixes
-
FileCreateTransaction
sets a default expiration time; fixesAUTORENEW_DURATION_NOT_IN_RANGE
. -
BUSY
is now internally retried in all cases. -
The maximum query payment is now defaulted to 1 Hbar. By default, just before a query is executed we ask Hedera how much the query will cost and if it costs under the defined maximum, an exact payment is sent.
Removed
Transaction
andQuery
types related to claims