Releases: hashgraph/hedera-sdk-java
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
v0.8.0
Fixes compatibility with Android.
Breaking Changes
- The
Key
interface has been renamed toPublicKey
- You are now required to depend on the gRPC transport dependency for your specific environment
Maven
<!-- SELECT ONE: -->
<!-- netty transport (for server or desktop applications) -->
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
<version>1.24.0</version>
</dependency>
<!-- netty transport, unshaded (if you have a matching Netty dependency already) -->
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
<version>1.24.0</version>
</dependency>
<!-- okhttp transport (for lighter-weight applications or Android) -->
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-okhttp</artifactId>
<version>1.24.0</version>
</dependency>
Gradle
// SELECT ONE:
// netty transport (for high throughput applications)
implementation 'io.grpc:grpc-netty-shaded:1.24.0'
// netty transport, unshaded (if you have a matching Netty dependency already)
implementation 'io.grpc:grpc-netty:1.24.0'
// okhttp transport (for lighter-weight applications or Android)
implementation 'io.grpc:grpc-okhttp:1.24.0'
version 0.2.1
Merge pull request #73 from hashgraph/v0.2.1 V0.2.1
version 0.2.0
Merge pull request #63 from hashgraph/v0.2.0-tidyUp Making sure all v0.2.0 changes are in master
version 0.1.0
Merge pull request #32 from nschmid/maven-multimodule-project SDK as a maven multimodule project