diff --git a/CHANGELOG.md b/CHANGELOG.md index 53af77a6b..0c583bd38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 2.44.0 + +### Fixed +- Do not shut down externally provided executor +- Fix `IllegalStateException` when specific node id is not present in address book + ## 2.43.0 ### Changed diff --git a/docs/android-app/android-app-quickstart.md b/docs/android-app/android-app-quickstart.md index 81e0514a5..f267cebc6 100644 --- a/docs/android-app/android-app-quickstart.md +++ b/docs/android-app/android-app-quickstart.md @@ -6,7 +6,7 @@ To get started with an Android project, you'll need to add the following **two** 1. **Hederaâ„¢ Java SDK:** ```groovy -implementation 'com.hedera.hashgraph:sdk:2.43.0' +implementation 'com.hedera.hashgraph:sdk:2.44.0' ``` 2. **gRPC implementation:** diff --git a/docs/java-app/java-app-quickstart.md b/docs/java-app/java-app-quickstart.md index 197a7df58..e1a06eb6c 100644 --- a/docs/java-app/java-app-quickstart.md +++ b/docs/java-app/java-app-quickstart.md @@ -8,7 +8,7 @@ To get started with a Java project, you'll need to add the following **three** d _Gradle:_ ```groovy -implementation 'com.hedera.hashgraph:sdk:2.43.0' +implementation 'com.hedera.hashgraph:sdk:2.44.0' ``` _Maven:_ @@ -16,7 +16,7 @@ _Maven:_ com.hedera.hashgraph sdk - 2.43.0 + 2.44.0 ``` diff --git a/example-android/app/build.gradle.kts b/example-android/app/build.gradle.kts index cb919a208..a3f456c74 100644 --- a/example-android/app/build.gradle.kts +++ b/example-android/app/build.gradle.kts @@ -68,7 +68,7 @@ dependencies { implementation(platform("com.hedera.hashgraph:sdk-dependency-versions")) // --------------------------------------------- - implementation("com.hedera.hashgraph:sdk:2.43.0") + implementation("com.hedera.hashgraph:sdk:2.44.0") implementation("com.google.android.material:material:1.11.0") diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts index 069970ca3..303c7504b 100644 --- a/examples/build.gradle.kts +++ b/examples/build.gradle.kts @@ -28,6 +28,6 @@ mainModuleInfo { } dependencies.constraints { - implementation("com.hedera.hashgraph:sdk:2.43.0") - implementation("com.hedera.hashgraph:sdk-full:2.43.0") + implementation("com.hedera.hashgraph:sdk:2.44.0") + implementation("com.hedera.hashgraph:sdk-full:2.44.0") } diff --git a/sdk/src/main/proto/address_book_service.proto b/sdk/src/main/proto/address_book_service.proto index cb1a5ac61..d3cde5733 100644 --- a/sdk/src/main/proto/address_book_service.proto +++ b/sdk/src/main/proto/address_book_service.proto @@ -83,33 +83,19 @@ import "transaction.proto"; * be active in the network following this upgrade. * * ### For a node update transaction. - * - The node operator or Hedera council representative SHALL create an - * `updateNode` transaction. - * - If the node operator creates the transaction - * - The node operator MUST sign this transaction with the active `key` - * for the account assigned as the current "node account". - * - If the transaction changes the value of the "node account" the - * node operator MUST _also_ sign this transaction with the active `key` - * for the account to be assigned as the new "node account". - * - The node operator SHALL submit the transaction to the - * network. Hedera council approval SHALL NOT be sought for this - * transaction - * - If the Hedera council representative creates the transaction - * - The Hedera council representative SHALL arrange for council members - * to review and sign the transaction. - * - Once sufficient council members have signed the transaction, the - * Hedera council representative SHALL submit the transaction to the - * network. + * - The node operator SHALL create an `updateNode` transaction. + * - The node operator MUST sign this transaction with the active `key` + * assigned as the `admin_key`. + * - The node operator SHALL submit the transaction to the + * network. Hedera council approval SHALL NOT be sought for this + * transaction * - Upon receipt of a valid and signed node update transaction the network * software SHALL - * - If the transaction is signed by the Hedera governing council - * - Validate the threshold signature for the Hedera governing council - * - If the transaction is signed by the active `key` for the node account - * - Validate the signature of the active `key` for the account assigned - * as the "node account". * - If the transaction modifies the value of the "node account", - * - Validate the signature of the _new_ `key` for the account to be - * assigned as the new "node account". + * - Validate the signature of the active `key` for the account + * assigned as the _current_ "node account". + * - Validate the signature of the active `key` for the account to be + * assigned as the _new_ "node account". * - Modify the node information held in network state with the changes * requested in the update transaction. The node changes SHALL NOT be * applied to network configuration, and SHALL NOT affect network @@ -151,8 +137,7 @@ service AddressBookService { * This transaction, once complete, SHALL modify the identified consensus * node state as requested. *

- * This transaction MAY be authorized by either the node operator OR the - * Hedera governing council. + * This transaction is authorized by the node operator */ rpc updateNode (proto.Transaction) returns (proto.TransactionResponse); } diff --git a/sdk/src/main/proto/block_stream_info.proto b/sdk/src/main/proto/block_stream_info.proto index 100efd0e8..b0f5f41d1 100644 --- a/sdk/src/main/proto/block_stream_info.proto +++ b/sdk/src/main/proto/block_stream_info.proto @@ -31,6 +31,7 @@ package com.hedera.hapi.node.state.blockstream; */ import "timestamp.proto"; +import "basic_types.proto"; option java_package = "com.hedera.hashgraph.sdk.proto"; // <<>> This comment is special code for setting PBJ Compiler java package @@ -49,7 +50,7 @@ option java_multiple_files = true; * _each_ block, but MUST be updated at the beginning of the _next_ block.
* This value SHALL contain the block hash up to, and including, the * immediately prior completed block.
- * The state change to update this singleton MUST be the last "output" + * The state change to update this singleton MUST be the last * block item in this block. */ message BlockStreamInfo { @@ -73,7 +74,7 @@ message BlockStreamInfo { * A concatenation of hash values.
* This combines several trailing output block item hashes and * is used as a seed value for a pseudo-random number generator.
- * This is also requiried to implement the EVM `PREVRANDAO` opcode. + * This is also required to implement the EVM `PREVRANDAO` opcode.
* This MUST contain at least 256 bits of entropy. */ bytes trailing_output_hashes = 3; @@ -131,4 +132,27 @@ message BlockStreamInfo { * the current block. */ proto.Timestamp block_end_time = 9; + + /** + * Whether the post-upgrade work has been done. + *

+ * This MUST be false if and only if the network just restarted + * after an upgrade and has not yet done the post-upgrade work. + */ + bool post_upgrade_work_done = 10; + + /** + * A version describing the version of application software. + *

+ * This SHALL be the software version that created this block. + */ + proto.SemanticVersion creation_software_version = 11; + + /** + * The time stamp at which the last interval process was done. + *

+ * This field SHALL hold the consensus time for the last time + * at which an interval of time-dependent events were processed. + */ + proto.Timestamp last_interval_process_time = 12; } diff --git a/version.txt b/version.txt index 5b9cd9afd..3e197472e 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -2.43.0 +2.44.0