Skip to content

Releases: hashgraph/hedera-sdk-java

v2.0.9-beta.1

12 Jul 22:13
Compare
Choose a tag to compare
v2.0.9-beta.1 Pre-release
Pre-release

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

30 Jun 13:18
Compare
Choose a tag to compare

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 missing UNCHECKED_SUBMIT for toString() and valueOf() methods.
  • FeeSchedules incorrectly serializing nulls causing NullPointerException

v2.0.6

11 Jun 11:10
Compare
Choose a tag to compare

Added

  • Add FeeSchedule type to allow a structured parse of file 0.0.111

  • Support for setting maxBackoff, maxAttempts, retryHandler, and completionHandler in TopicMessageQuery

  • 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 from AccountBalance

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

30 Apr 13:59
Compare
Choose a tag to compare

Added

  • Support memo for Tokens, Accounts, and Files.

Fixed

  • Scheduled transaction support: ScheduleCreateTransaction, ScheduleDeleteTransaction, and ScheduleSignTransaction
  • 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 and putIfAbsent from JDK7 builds

Deprecated

  • new TransactionId(AccountId, Instant) - Use TransactionId.withValidStart() instead.

v2.0.5-beta.9

23 Apr 18:19
Compare
Choose a tag to compare
v2.0.5-beta.9 Pre-release
Pre-release

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

20 Apr 19:23
Compare
Choose a tag to compare
v2.0.5-beta.8 Pre-release
Pre-release

Fixed

  • Remove use of computeIfAbsent and putIfAbsent from JDK7 builds

2.0.5-beta.7

10 Apr 22:40
Compare
Choose a tag to compare
2.0.5-beta.7 Pre-release
Pre-release

Fixed

  • Scheduled transactions should use new HAPI protobufs
  • ReceiptPrecheckException should be thrown when the erroring status was in the TransactionReceipt
  • Removed nonce from TransactionId
  • Transaction[Receipt|Record]Query should not error for status IDENTICAL_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

05 Mar 09:43
53895b0
Compare
Choose a tag to compare
v2.0.5-beta.4 Pre-release
Pre-release

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

20 Nov 23:27
Compare
Choose a tag to compare
Release v2.0.0

v0.9.0-beta-2

12 Dec 19:20
Compare
Choose a tag to compare
v0.9.0-beta-2 Pre-release
Pre-release

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 to execute.

  • Removed Transaction.executeForReceipt and Transaction.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 a TransactionId. 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 any TransactionId and ask for the receipt/record (with a stepped retry interval until consensus) with TransactionId.getReceipt and TransactionId.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 and getCreateResult to getContractExecuteResult and getContractCreateResult 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; fixes AUTORENEW_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 and Query types related to claims