github.com/hashgraph/hedera-sdk-go/v2@v2.48.0/CHANGELOG.md (about)

     1  ## v2.48.0
     2  
     3  ### Fixed
     4  - Reset `stakedAccountID` when setting `stakedNodeID` and vice versa
     5  - Fix `FEE_SCHEDULE_FILE_PART_UPLOADED` marked as error
     6  
     7  ## v2.47.0
     8  
     9  ### Added
    10  - Functionality to pass a string in `SetMessage` function for `TopicMessageSubmitTransaction`
    11  
    12  ### Fixed
    13  - Resubmit transaction in case of throttle status at receipt
    14  
    15  ## v2.46.0
    16  
    17  ### Added
    18  - `TokenClaimAirdropTransaction` and `TokenCancelAirdropTransaction` (part of HIP-904)
    19  
    20  ### Fixed
    21  - Handling of `0x` prefix when constructing ECDSA keys
    22  
    23  ## v2.45.0
    24  
    25  ### Added
    26  - `TokenAirdropTransaction` (part of HIP-904)
    27  
    28  ### Fixed
    29  - Handling of `THROTTLED_AT_CONSENSUS` status code
    30  
    31  ## v2.44.0
    32  
    33  ### Added
    34  
    35  - `NodeCreateTransaction`,`NodeUpdateTransaction`,`NodeDeleteTransaction` (part of HIP-869)
    36  
    37  ## v2.43.0
    38  
    39  ### Added
    40  
    41  -  `Key` functions such as `KeyFromBytes` `KeyToBytes`
    42  -  `KeyList` functions such as `SetThreshold`
    43  
    44  ## v2.42.0
    45  
    46  ### Added
    47  
    48  -  `TokenReject` functionality (part of HIP-904)
    49  
    50  ### Fixed
    51  
    52  -  `TransactionReceiptQuery` and `AccountBalanceQuery` execution flows
    53  
    54  ## v2.41.0
    55  
    56  ### Added
    57  
    58  -  Modified `AccountUpdateTransaction` to allow `maxAutomaticTokenAssociations` to support `-1` as a valid value
    59  
    60  ## v2.40.0
    61  
    62  ### Added
    63  
    64  -  Implemented custom derivation paths in Menmonic ECDSA private key derivation 
    65  
    66  ### Fixed
    67  
    68  -  Revisited and fix failing examples
    69  -  Gracefully handle `PlatformNotActive` status code
    70  
    71  ## v2.39.0
    72  
    73  ### Added
    74  
    75  -  Implemented HIP-540: Change or remove existing keys from a token
    76  
    77  ## v2.38.1
    78  
    79  ### Changed
    80  
    81  -  `AccountBalanceQuery`, `AccountInfoQuery`, and `ContractInfoQuery` get all the data from consensus nodes again
    82  
    83  ## v2.38.0
    84  
    85  ### Added
    86  
    87  -   `AccountBalanceQuery`, `AccountInfoQuery`, and `ContractInfoQuery` get part of the data from the Mirror Node REST API (HIP-367)
    88  -   Fungible Token Metadata Field (HIP-646)
    89  -   NFT Collection Token Metadata Field (HIP-765)
    90  
    91  ### Fixed
    92  
    93  -   Raise an error if the transaction is not frozen while signing
    94  -   Undeprecate `AccountBalance.TokenDecimals`, `AccountInfo.TokenRelationships`
    95  -   Account alias for hollow account Mirror Node Queries 
    96  
    97  ### Deprecated
    98  
    99  -   `TokenRelationship.Symbol`, use `TokenInfo.Symbol` instead
   100  
   101  ## v2.37.0
   102  
   103  ### Added
   104  
   105  -   METADATA key and possibility to update NFT metadata (HIP-657)
   106  -   Fungible Token Metadata Field (HIP-646)
   107  -   NFT Collection Token Metadata Field (HIP-765)
   108  -   updated protobufs
   109  
   110  ## v2.36.0
   111  
   112  ### Added
   113  
   114  -   Implemented HIP-844 (Add signerNonce field)
   115  
   116  ## v2.35.0
   117  
   118  ### Fixed
   119  
   120  -   Implemented HIP-745 (Serialize transaction without freezing)
   121  
   122  ## v2.34.1
   123  
   124  ### Fixed
   125  
   126  -   Fixed bug for fetching nodes from Client.
   127  
   128  ## v2.34.0
   129  
   130  -   Refactored structures `executable`, `transaction` & `query` to define common methods in one place and reduce the code repetition
   131  
   132  ## v2.32.0
   133  
   134  ### Added
   135  
   136  -   `PopulateAccount` to `AccountID`
   137  
   138  ## v2.31.0
   139  
   140  ### Added
   141  
   142  -   `MarshalJSON` to `TransactionResponse`, `TransactionReceipt`, `TransactionRecord`
   143  -   `IsApproved` boolean to `Transfer`
   144  
   145  ## v2.30.0
   146  
   147  ### Fixed
   148  
   149  -   Node/Managed node concurrency issues
   150  -   Serialization issues with `FileAppendTransaction`, `TokenCreateTransaction`, `TopicCreateTransaction`, `TopicMessageSubmitTransaction`
   151  
   152  ## v2.29.0
   153  
   154  ### Fixed
   155  
   156  -   SDK Panics if node account id not in the network list
   157  -   non-exhaustive switch statement errors for `AccountAllowanceApproveTransaction` and `AccountAllowanceDeleteTransaction`
   158  
   159  ## v2.28.0
   160  
   161  ### Added
   162  
   163  -   `PopulateAccount` to `AccountID`
   164  -   `PopulateContract` to `ContractID`
   165  
   166  ### Fixed
   167  
   168  -   Data race in `TopicMessageQuery`
   169  
   170  ## v2.27.0
   171  
   172  ### Fixed
   173  
   174  -   `ContractCreateFlow` to work with larger contract's bytecode
   175  
   176  ## v2.26.1
   177  
   178  ### Added
   179  
   180  -   `ContractNonces` to `ContractFunctionResult` to support HIP-729
   181  
   182  ## v2.26.0
   183  
   184  ### Added
   185  
   186  -   `AddInt*BigInt` functions to `ContractFunctionParameters` for sending `big.int`
   187  -   `GetResult` function to `ContractFunctionResult` for parsing result to an interface
   188  -   `GetBigInt` function to `ContractFunctionResult` for parsing result to a `big.int`
   189  
   190  ### Fixed
   191  
   192  -   DER and PEM formats for private and public keys
   193  -   Network concurrency issues
   194  -   Some `ContractFunctionParameters` were sent/received as wrong data/data type
   195  
   196  ## v2.25.0
   197  
   198  ### Added
   199  
   200  -   Added logging functionality to Client, Transaction and Query
   201  
   202  ## v2.24.4
   203  
   204  ### Added
   205  
   206  -   Option to create a client from config file without mirror network
   207  -   Finished LegderID implementation
   208  
   209  ## v2.24.3
   210  
   211  ### Added
   212  
   213  -   Comments on the rest of the functions
   214  
   215  ## v2.24.2
   216  
   217  ### Added
   218  
   219  -   Comments on `client` and all `query` and `transaction` types
   220  
   221  ## v2.24.1
   222  
   223  ### Fixed
   224  
   225  -   `TransactionID.String()` will now return the TransactionID string without trimming the leading zeroes
   226  
   227  ## v2.24.0
   228  
   229  ### Added
   230  
   231  -   Alias support in `AccountCreateTransaction`
   232  -   `CreateAccountWithAliasExample`
   233  -   `CreateAccountWithAliasAndReceiverSignatureRequiredExample`
   234  
   235  ## v2.23.0
   236  
   237  ### Added
   238  
   239  -   `CustomFractionalFee.SetAssessmentMethod()`
   240  -   `AccountAllowanceApproveTransaction.ApproveTokenNftAllowanceWithDelegatingSpender()`
   241  -   `PrivateKeyFromStringECDSA()`
   242  -   New mirror node endpoints, only 443 port is now supported `mainnet-public.mirrornode.hedera.com:443`,`testnet.mirrornode.hedera.com:443`, `previewnet.mirrornode.hedera.com:443`
   243  
   244  ### Fixed
   245  
   246  -   Minimum query cost can now be less than 25 tinybars
   247  -   `TransactionFromBytes()` now correctly sets transactionValidDuration
   248  
   249  ### Deprecated
   250  
   251  -   `PrivateKeyFromStringECSDA()`
   252  
   253  ## v2.22.0
   254  
   255  ### Added
   256  
   257  -   Support for HIP-583
   258  -   Example for HIP-583 `account_create_token_transfer` which autocreates an account by sending HBAR to an Etherum Account Address
   259  -   `Mnemonic.ToStandardEd25519PrivateKey` which uses the correct derivation path
   260  -   `Mnemonic.ToStandardECDSAsecp256k1PrivateKey` which uses the correct derivation path
   261  
   262  ### Deprecated
   263  
   264  -   `Mnemonic.ToPrivateKey()` was using incorrect derivation path
   265  -   `PrivateKeyFromMnemonic()` was using incorrect derivation path
   266  
   267  ## v2.21.0
   268  
   269  ### Fixed
   270  
   271  -   Panic in multiple node account id locking
   272  -   Regenerating transaction id, when not expired
   273  -   Signs more than once per node/transaction
   274  -   Not retrying other nodes when there are multiple nodes are locked
   275  -   Panic when locking multiple nodes
   276  -   Panic when too many nodes are not healthy
   277  -   INVALID_NODE_ACCOUNT error
   278  -   Setting MaxAutomaticTokenAssociations on ContractUpdate even if not set
   279  
   280  ## v2.20.0
   281  
   282  ### Added
   283  
   284  -   `IsZero()` and `Equals()` in `AccountID`
   285  -   `GetSignedTransactionBodyBytes()` in `Transaction`
   286  
   287  ## v2.19.0
   288  
   289  ### Added
   290  
   291  -   `SetDefaultMaxQueryPayment` and `SetDefaultMaxTransactionFee` in `Client`
   292  
   293  ### Fixed
   294  
   295  -   Schedule network recursive call
   296  -   Wrongly deprecated `SpenderID` field in `TokenNFTInfo`
   297  
   298  ## v2.18.0
   299  
   300  ### Added
   301  
   302  -   `CustomFee.AllCollectorsAreExempt`
   303  
   304  ### Fixed
   305  
   306  -   Addressbook Query no logner panics
   307  
   308  ## v2.17.7
   309  
   310  ### Added
   311  
   312  -   Example for HIP-542
   313  -   Example for HIP-573
   314  
   315  ### Fixed
   316  
   317  -   10 seconds blocking on creating a `Client`
   318  
   319  ## v2.17.6
   320  
   321  ### Fixed
   322  
   323  -   `NewAccountBallanceQuery` to correctly return account balance
   324  
   325  ## v2.17.5
   326  
   327  ### Added
   328  
   329  -   Update documentation for `ContractFunction[Parameters|Result]` to show how to use large integer variants
   330  -   Implement `TransactionResponse.ValidateStatus`
   331  
   332  ## v2.17.4
   333  
   334  ### Fixed
   335  
   336  -   `*Transactions` now don't sign twice
   337  
   338  ## v2.17.3
   339  
   340  ### Added
   341  
   342  -   `AccountCreateTransaction.[Set|Get]Alias[Key|EvmAddress]()`
   343  -   `ContractCreateFlow.[Set|Get]MaxChunks()`
   344  -   Support for automatically updating networks
   345  -   `Client.[Set|Get]NetworkUpdatePeriod()`
   346  -   `Client` constructor supports `_ScheduleNetworkUpdate` to disable auto updates
   347  -   `task update` for manual address book updating
   348  
   349  ## v2.17.2
   350  
   351  ### Fixed
   352  
   353  -   Removed deprecated flags for wrongfully deprecated `Client.[Set|Get]LedgerID`
   354  -   Added `SetGrpcDeadline` to `EthereumTransaction` and `TokenUpdateTransaction`
   355  -   Deprecated `LiveHash.Duration` use `LiveHash.LiveHashDuration`
   356  -   Added missing `LiveHashQuery.[Set|Get]MaxRetry`
   357  -   Added missing `TopicInfoQuery.SetPaymentTransactionID`
   358  
   359  ## v2.17.1
   360  
   361  ### Deprecated
   362  
   363  -   `AccountBalance.[tokens|tokenDecimals]` use a mirror node query instead
   364  -   `AccountInfo.tokenRelationships` use a mirror node query instead
   365  -   `ContractInfo.tokenRelationships` use a mirror node query instead
   366  -   `TokenNftInfo.SpenderID` replaced by `TokenNftInfo.AllowanceSpenderAccountID`
   367  
   368  ### Fixed
   369  
   370  -   `Token[Update|Create]Transaction.KycKey`
   371  -   `TokenCreateTransaction.FreezeDefaul` wasn't being set properly.
   372  -   Requests should retry on `PLATFORM_NOT_ACTIVE`
   373  
   374  ## v2.17.0
   375  
   376  ### Added
   377  
   378  -   `PrngThansaction`
   379  -   `TransactionRecord.PrngBytes`
   380  -   `TransactionRecord.PrngNumber`
   381  -   `task` runner support
   382  
   383  ## Deprecated
   384  
   385  -   `ContractFunctionResult.ContractStateChanges` with no replacement.
   386  
   387  ## v2.17.0-beta.1
   388  
   389  ### Added
   390  
   391  -   `PrngThansaction`
   392  -   `TransactionRecord.PrngBytes`
   393  -   `TransactionRecord.PrngNumber`
   394  
   395  ## Deprecated
   396  
   397  -   `ContractFunctionResult.ContractStateChanges` with no replacement.
   398  
   399  ## v2.16.1
   400  
   401  ### Added
   402  
   403  -   `StakingInfo.PendingHbarReward`
   404  
   405  ## v2.16.0
   406  
   407  ### Added
   408  
   409  -   `StakingInfo`
   410  -   `AccountCreateTransaction.[Set|Get]StakedAccountID`
   411  -   `AccountCreateTransaction.[Set|Get]StakedNodeID`
   412  -   `AccountCreateTransaction.[Set|Get]DeclineStakingReward`
   413  -   `AccountInfo.StakingInfo`
   414  -   `AccountUpdateTransaction.[Set|Get]StakedAccountID`
   415  -   `AccountUpdateTransaction.[Set|Get]StakedNodeID`
   416  -   `AccountUpdateTransaction.[Set|Get]DeclineStakingReward`
   417  -   `AccountUpdateTransaction.ClearStaked[AccountID|NodeID]`
   418  -   `ContractCreateTransaction.[Set|Get]StakedNodeAccountID`
   419  -   `ContractCreateTransaction.[Set|Get]StakedNodeID`
   420  -   `ContractCreateTransaction.[Set|Get]DeclineStakingReward`
   421  -   `ContractInfo.StakingInfo`
   422  -   `ContractUpdateTransaction.[Set|Get]StakedNodeAccountID`
   423  -   `ContractUpdateTransaction.[Set|Get]StakedNodeID`
   424  -   `ContractUpdateTransaction.[Set|Get]DeclineStakingReward`
   425  -   `ContractUpdateTransaction.ClearStaked[AccountID|NodeID]`
   426  -   `TransactionRecord.PaidStakingRewards`
   427  -   `ScheduleCreateTransaction.[Set|Get]ExpirationTime`
   428  -   `ScheduleCreateTransaction.[Set|Get]WaitForExpiry`
   429  -   Protobuf requests and responses will be logged, for `TRACE`, in hex.
   430  
   431  ### Fixed
   432  
   433  -   `TopicMessageSubmitTransaction` empty `ChunkInfo` would always cause an error
   434  
   435  ## v2.16.0-beta.1
   436  
   437  ### Added
   438  
   439  -   `StakingInfo`
   440  -   `AccountCreateTransaction.[Set|Get]StakedNodeAccountID`
   441  -   `AccountCreateTransaction.[Set|Get]StakedNodeID`
   442  -   `AccountCreateTransaction.[Set|Get]DeclineStakingReward`
   443  -   `AccountInfo.StakingInfo`
   444  -   `AccountUpdateTransaction.[Set|Get]StakedNodeAccountID`
   445  -   `AccountUpdateTransaction.[Set|Get]StakedNodeID`
   446  -   `AccountUpdateTransaction.[Set|Get]DeclineStakingReward`
   447  -   `ContractCreateTransaction.[Set|Get]StakedNodeAccountID`
   448  -   `ContractCreateTransaction.[Set|Get]StakedNodeID`
   449  -   `ContractCreateTransaction.[Set|Get]DeclineStakingReward`
   450  -   `ContractInfo.StakingInfo`
   451  -   `ContractUpdateTransaction.[Set|Get]StakedNodeAccountID`
   452  -   `ContractUpdateTransaction.[Set|Get]StakedNodeID`
   453  -   `ContractUpdateTransaction.[Set|Get]DeclineStakingReward`
   454  -   `TransactionRecord.PaidStakingRewards`
   455  -   `ScheduleCreateTransaction.[Set|Get]ExpirationTime`
   456  -   `ScheduleCreateTransaction.[Set|Get]WaitForExpiry`
   457  
   458  ## v2.15.0
   459  
   460  ### Added
   461  
   462  -   `EthereumFlow`
   463  -   `EthereumTransactionData`
   464  
   465  ### Fixed
   466  
   467  -   `Transaction.[From|To]Bytes` would ignore some variables
   468  -   Fixed naming for `Ethereum.SetCallDataFileID()` and `Ethereum.SetMaxGasAllowanceHbar()` to be consistent with other sdks.
   469  
   470  # v2.14.0
   471  
   472  ### Added
   473  
   474  -   `ContractCreateTransaction.[Get|Set]MaxAutomaticTokenAssociations()`
   475  -   `ContractCreateTransaction.[Get|Set]AutoRenewAccountId()`
   476  -   `ContractCreateTransaction.[Get|Set]Bytecode()`
   477  -   `ContractUpdateTransaction.[Get|Set]MaxAutomaticTokenAssociations()`
   478  -   `ContractUpdateTransaction.[Get|Set|clear]AutoRenewAccountId()`
   479  -   `ContractCreateFlow.[Get|Set]MaxAutomaticTokenAssociations()`
   480  -   `ContractCreateFlow.[Get|Set]AutoRenewAccountId()`
   481  -   `ContractInfo.AutoRenewAccountID`
   482  -   `ContractDeleteTransaction.[Get|Set]PermanentRemoval`
   483  -   `ContractCallQuery.[Get|Set]SenderID`
   484  -   `ScheduleCreateTransaction.[Get|Set]ExpirationTime`
   485  -   `ScheduleCreateTransaction.[Get|Set]WaitForExpiry`
   486  -   `ScheduleInfo.WaitForExpiry`
   487  -   `EthereumTransaction`
   488  -   `TransactionRecord.EthereumHash`
   489  -   `AccountInfo.EthereumNonce`
   490  -   `AccountID.AliasEvmAddress`
   491  -   `AccountID.AccountIDFromEvmAddress()`
   492  -   `TransactionResponse.Get[Record|Receipt]Query`
   493  
   494  ## v2.14.0-beta.3
   495  
   496  ### Fixed
   497  
   498  -   `FileUpdateTransaction` and `TopicMessageSubmitTransaction` duplicate transaction errors.
   499  -   `*Transaction.ToBytes()` now properly chunked transactions.
   500  
   501  ## v2.14.0-beta.2
   502  
   503  ### Fixed
   504  
   505  -   `*Query` payment signatures weren't getting updated after updating body with new random node.
   506  
   507  # v2.14.0-beta.1
   508  
   509  ### Added
   510  
   511  -   `ContractCreateTransaction.[Get|Set]MaxAutomaticTokenAssociations()`
   512  -   `ContractCreateTransaction.[Get|Set]AutoRenewAccountId()`
   513  -   `ContractCreateTransaction.[Get|Set]Bytecode()`
   514  -   `ContractUpdateTransaction.[Get|Set]MaxAutomaticTokenAssociations()`
   515  -   `ContractUpdateTransaction.[Get|Set|clear]AutoRenewAccountId()`
   516  -   `ContractCreateFlow.[Get|Set]MaxAutomaticTokenAssociations()`
   517  -   `ContractCreateFlow.[Get|Set]AutoRenewAccountId()`
   518  -   `ContractInfo.AutoRenewAccountID`
   519  -   `ContractDeleteTransaction.[Get|Set]PermanentRemoval`
   520  -   `ContractCallQuery.[Get|Set]SenderID`
   521  -   `ScheduleCreateTransaction.[Get|Set]ExpirationTime`
   522  -   `ScheduleCreateTransaction.[Get|Set]WaitForExpiry`
   523  -   `ScheduleInfo.WaitForExpiry`
   524  -   `EthereumTransaction`
   525  -   `TransactionRecord.EthereumHash`
   526  -   `AccountInfo.EthereumNonce`
   527  -   `AccountID.AliasEvmAddress`
   528  -   `AccountID.AccountIDFromEvmAddress()`
   529  
   530  ## v2.13.4
   531  
   532  ### Fixed
   533  
   534  -   `FileUpdateTransaction` and `TopicMessageSubmitTransaction` duplicate transaction errors.
   535  -   `*Transaction.ToBytes()` now properly chunked transactions.
   536  
   537  ## v2.13.3
   538  
   539  ### Fixed
   540  
   541  -   `*Query` payment signatures weren't getting updated after updating body with new random node.
   542  
   543  ## v2.13.2
   544  
   545  ### Added
   546  
   547  -   `*Query.GetMaxQueryPayment()`
   548  -   `*Query.GetQueryPayment()`
   549  
   550  ### Fixed
   551  
   552  -   `*Query.GetPaymentTransactionID()` panic when not set.`
   553  -   Removed unneeded parameter in `AccountDeleteTransaction.GetTransferAccountID()`.
   554  -   `FileUpdateTransaction.GeFileMemo()` is now `FileUpdateTransaction.GetFileMemo()`
   555  -   `TopicMessageSubmitTransaction` failing to send all messages, instead was getting duplicated transaction error.
   556  -   `TopicMessageSubmitTransaction` would panic if no message was set.
   557  
   558  ## v2.13.1
   559  
   560  ### Added
   561  
   562  -   `TokenNftAllowance.DelegatingSpender`
   563  -   `AccountAllowanceApproveTransaction.AddAllTokenNftApprovalWithDelegatingSpender()`
   564  -   `AccountAllowanceApproveTransaction.ApproveTokenNftAllowanceAllSerialsWithDelegatingSpender()`
   565  
   566  ## Deprecated
   567  
   568  -   `AccountAllowanceAdjustTransaction` with no replacement.
   569  -   `AccountAllowanceDeleteTransaction.DeleteAllTokenAllowances()` with no replacement.
   570  -   `AccountAllowanceDeleteTransaction.DeleteAllHbarAllowances()` with no replacement.
   571  -   `AccountInfo.[Hbar|Toke|Nft]Allowances`, with no replacement.
   572  -   `TransactionRecord.[Hbar|Toke|Nft]Allowances`, with no replacement.
   573  
   574  ## v2.13.0
   575  
   576  ### Added
   577  
   578  -   `AccountAllowanceDeleteTransaction`
   579  -   `ContractFunctionResult.[gas|hbarAmount|contractFunctionParametersBytes]`
   580  -   `AccountAllowanceExample`
   581  -   `ScheduleTransferExample`
   582  
   583  ### Deprecated
   584  
   585  -   `AccountAllowanceAdjustTransaction.revokeTokenNftAllowance()` with no replacement.
   586  -   `AccountAllowanceApproveTransaction.AddHbarApproval()`, use `ApproveHbarAllowance()` instead.
   587  -   `AccountAllowanceApproveTransaction.ApproveTokenApproval()`, use `GrantTokenNftAllowance()` instead.
   588  -   `AccountAllowanceApproveTransaction.ApproveTokenNftApproval()`, use `ApproveTokenNftAllowance()` instead.
   589  
   590  ### Fixed
   591  
   592  -   `*Transaction.GetTransactionID()` panic when not set.
   593  -   `Transaction.Freeze()` now properly sets NodeAccountIDs
   594  -   `*Query` payment transaction now properly contains the right NodeAccountIDs.
   595  
   596  ## v2.13.0-beta.1
   597  
   598  ### Added
   599  
   600  -   `AccountAllowanceDeleteTransaction`
   601  -   `ContractFunctionResult.[gas|hbarAmount|contractFunctionParametersBytes]`
   602  -   `AccountAllowanceExample`
   603  -   `ScheduleTransferExample`
   604  
   605  ### Deprecated
   606  
   607  -   `AccountAllowanceAdjustTransaction.revokeTokenNftAllowance()` with no replacement.
   608  -   `AccountAllowanceApproveTransaction.AddHbarApproval()`, use `ApproveHbarAllowance()` instead.
   609  -   `AccountAllowanceApproveTransaction.ApproveTokenApproval()`, use `GrantTokenNftAllowance()` instead.
   610  -   `AccountAllowanceApproveTransaction.ApproveTokenNftApproval()`, use `ApproveTokenNftAllowance()` instead.
   611  
   612  ## v2.12.0
   613  
   614  ### Added
   615  
   616  -   `AccountInfoFlowVerify[Signature|Transaction]()`
   617  -   `Client.[Set|Get]NodeMinReadmitPeriod()`
   618  -   Support for using any node from the entire network upon execution
   619      if node account IDs have no been locked for the request.
   620  -   Support for all integer widths for `ContractFunction[Result|Selector|Params]`
   621  
   622  ### Fixed
   623  
   624  -   Ledger ID checksums
   625  -   `TransactionFromBytes()` should validate all the transaction bodies are the same
   626  
   627  ### Changed
   628  
   629  -   Network behavior to follow a more standard approach (remove the sorting we
   630      used to do).
   631  
   632  ## v2.12.0-beta.1
   633  
   634  ### Added
   635  
   636  -   `AccountInfoFlowVerify[Signature|Transaction]()`
   637  -   `Client.[Set|Get]NodeMinReadmitPeriod()`
   638  -   Support for using any node from the entire network upon execution
   639      if node account IDs have no been locked for the request.
   640  -   Support for all integer widths for `ContractFunction[Result|Selector|Params]`
   641  
   642  ### Fixed
   643  
   644  -   Ledger ID checksums
   645  -   `TransactionFromBytes()` should validate all the transaction bodies are the same
   646  
   647  ### Changed
   648  
   649  -   Network behavior to follow a more standard approach (remove the sorting we
   650      used to do).
   651  
   652  ## v2.11.0
   653  
   654  ### Added
   655  
   656  -   `ContractCreateFlow`
   657  -   `Query.[Set|Get]PaymentTransactionID`
   658  -   Verbose logging using zerolog
   659  -   `*[Transaction|Query].[Set|Get]GrpcDeadline()`
   660  -   `TransactionRecord.[hbar|Token|TokenNft]AllowanceAdjustments`
   661  -   `TransferTransaction.AddApproved[Hbar|Token|Nft]Transfer()`
   662  -   `AccountAllowanceApproveTransaction.Approve[Hbar|Token|TokenNft]Allowance()`
   663  -   `AccountAllowanceAdjustTransaction.[Grant|Revoke][Hbar|Token|TokenNft]Allowance()`
   664  -   `AccountAllowanceAdjustTransaction.[Grant|Revoke]TokenNftAllowanceAllSerials()`
   665  
   666  ### Fixed
   667  
   668  -   `HbarAllowance.OwnerAccountID`, wasn't being set.
   669  -   Min/max backoff for nodes should start at 8s to 60s
   670  -   The current backoff for nodes should be used when sorting inside of network
   671      meaning nodes with a smaller current backoff will be prioritized
   672  -   `TopicMessageQuery` start time should have a default
   673  
   674  ### Deprecated
   675  
   676  -   `AccountUpdateTransaction.[Set|Get]AliasKey`
   677  
   678  ### Removed
   679  
   680  -   `Account[Approve|Adjust]AllowanceTransaction.Add[Hbar|Token|TokenNft]AllowanceWithOwner()`
   681  
   682  ## v2.11.0-beta.1
   683  
   684  ### Added
   685  
   686  -   `ContractCreateFlow`
   687  -   `Account[Approve|Adjust]AllowanceTransaction.add[Hbar|Token|TokenNft]AllowanceWithOwner()`
   688  -   `Query.[Set|Get]PaymentTransactionID`
   689  -   Verbose logging using zerolog
   690  -   `*[Transaction|Query].[Set|Get]GrpcDeadline()`
   691  
   692  ### Fixed
   693  
   694  -   `HbarAllowance.OwnerAccountID`, wasn't being set.
   695  -   Min/max backoff for nodes should start at 8s to 60s
   696  -   The current backoff for nodes should be used when sorting inside of network
   697      meaning nodes with a smaller current backoff will be prioritized
   698  
   699  ### Deprecated
   700  
   701  -   `AccountUpdateTransaction.[Set|Get]AliasKey`
   702  
   703  ## v2.10.0
   704  
   705  ### Added
   706  
   707  -   `owner` field to `*Allowance`.
   708  -   Added free `AddressBookQuery`.
   709  
   710  ### Fixed
   711  
   712  -   Changed mirror node port to correct one, 443.
   713  -   Occasional ECDSA invalid length error.
   714  -   ContractIDFromString() now sets EvmAddress correctly to nil, when evm address is not detected
   715  
   716  ## v2.10.0-beta.1
   717  
   718  ### Added
   719  
   720  -   `owner` field to `*Allowance`.
   721  -   Added free `AddressBookQuery`.
   722  
   723  ### Fixed
   724  
   725  -   Changed mirror node port to correct one, 443.
   726  
   727  ## v2.9.0
   728  
   729  ### Added
   730  
   731  -   CREATE2 Solidity addresses can now be represented by a `ContractId` with `EvmAddress` set.
   732  -   `ContractId.FromEvmAddress()`
   733  -   `ContractFunctionResult.StateChanges`
   734  -   `ContractFunctionResult.EvmAddress`
   735  -   `ContractStateChange`
   736  -   `StorageChange`
   737  -   New response codes.
   738  -   `ChunkedTransaction.[Set|Get]ChunkSize()`, and changed default chunk size for `FileAppendTransaction` to 2048.
   739  -   `AccountAllowance[Adjust|Approve]Transaction`
   740  -   `AccountInfo.[hbar|token|tokenNft]Allowances`
   741  -   `[Hbar|Token|TokenNft]Allowance`
   742  -   `[Hbar|Token|TokenNft]Allowance`
   743  -   `TransferTransaction.set[Hbar|Token|TokenNft]TransferApproval()`
   744  
   745  ### Fixed
   746  
   747  -   Requests not cycling though nodes.
   748  -   Free queries not attempting to retry on different nodes.
   749  
   750  ### Deprecated
   751  
   752  -   `ContractId.FromSolidityAddress()`, use `ContractId.FromEvmAddress()` instead.
   753  -   `ContractFunctionResult.CreatedContractIDs`.
   754  
   755  ## v2.9.0-beta.2
   756  
   757  ### Added
   758  
   759  -   CREATE2 Solidity addresses can now be represented by a `ContractId` with `EvmAddress` set.
   760  -   `ContractId.FromEvmAddress()`
   761  -   `ContractFunctionResult.StateChanges`
   762  -   `ContractFunctionResult.EvmAddress`
   763  -   `ContractStateChange`
   764  -   `StorageChange`
   765  -   New response codes.
   766  -   `ChunkedTransaction.[Set|Get]ChunkSize()`, and changed default chunk size for `FileAppendTransaction` to 2048.
   767  -   `AccountAllowance[Adjust|Approve]Transaction`
   768  -   `AccountInfo.[hbar|token|tokenNft]Allowances`
   769  -   `[Hbar|Token|TokenNft]Allowance`
   770  -   `[Hbar|Token|TokenNft]Allowance`
   771  -   `TransferTransaction.set[Hbar|Token|TokenNft]TransferApproval()`
   772  
   773  ### Fixed
   774  
   775  -   Requests not cycling though nodes.
   776  -   Free queries not attempting to retry on different nodes.
   777  
   778  ### Deprecated
   779  
   780  -   `ContractId.FromSolidityAddress()`, use `ContractId.FromEvmAddress()` instead.
   781  -   `ContractFunctionResult.CreatedContractIDs`.
   782  
   783  ## v2.9.0-beta.1
   784  
   785  ### Added
   786  
   787  -   CREATE2 Solidity addresses can now be represented by a `ContractId` with `EvmAddress` set.
   788  -   `ContractId.FromEvmAddress()`
   789  -   `ContractFunctionResult.StateChanges`
   790  -   `ContractFunctionResult.EvmAddress`
   791  -   `ContractStateChange`
   792  -   `StorageChange`
   793  -   New response codes.
   794  -   `ChunkedTransaction.[Set|Get]ChunkSize()`, and changed default chunk size for `FileAppendTransaction` to 2048.
   795  -   `AccountAllowance[Adjust|Approve]Transaction`
   796  -   `AccountInfo.[hbar|token|tokenNft]Allowances`
   797  -   `[Hbar|Token|TokenNft]Allowance`
   798  -   `[Hbar|Token|TokenNft]Allowance`
   799  -   `TransferTransaction.set[Hbar|Token|TokenNft]TransferApproval()`
   800  
   801  ### Fixed
   802  
   803  -   Requests not cycling though nodes.
   804  -   Free queries not attempting to retry on different nodes.
   805  
   806  ### Deprecated
   807  
   808  -   `ContractId.FromSolidityAddress()`, use `ContractId.FromEvmAddress()` instead.
   809  -   `ContractFunctionResult.CreatedContractIDs`.
   810  
   811  ## v2.8.0
   812  
   813  ### Added
   814  
   815  -   Support for regenerating transaction IDs on demand if a request
   816      responses with `TRANSACITON_EXPIRED`
   817  
   818  ## v2.8.0-beta.1
   819  
   820  ### Added
   821  
   822  -   Support for regenerating transaction IDs on demand if a request
   823      responses with `TRANSACITON_EXPIRED`
   824  
   825  ## v2.7.0
   826  
   827  ### Added
   828  
   829  -   `AccountId.AliasKey`, including `AccountId.[From]String()` support.
   830  -   `[PublicKey|PrivateKey].ToAccountId()`.
   831  -   `AliasKey` fields in `TransactionRecord` and `AccountInfo`.
   832  -   `Nonce` field in `TransactionId`, including `TransactionId.[set|get]Nonce()`
   833  -   `Children` fields in `TransactionRecord` and `TransactionReceipt`
   834  -   `Duplicates` field in `TransactionReceipt`
   835  -   `[TransactionReceiptQuery|TransactionRecordQuery].[Set|Get]IncludeChildren()`
   836  -   `TransactionReceiptQuery.[Set|Get]IncludeDuplicates()`
   837  -   New response codes.
   838  -   Support for ECDSA SecP256K1 keys.
   839  -   `PrivateKeyGenerate[ED25519|ECDSA]()`
   840  -   `[Private|Public]KeyFrom[Bytes|String][DER|ED25519|ECDSA]()`
   841  -   `[Private|Public]Key.[Bytes|String][Raw|DER]()`
   842  -   `DelegateContractId`
   843  -   `*Id.[from|to]SolidityAddress()`
   844  
   845  ### Deprecated
   846  
   847  -   `PrivateKeyGenerate()`, use `PrivateKeyGenerate[ED25519|ECDSA]()` instead.
   848  
   849  ## v2.7.0-beta.1
   850  
   851  ### Added
   852  
   853  -   `AccountId.AliasKey`, including `AccountId.[From]String()` support.
   854  -   `[PublicKey|PrivateKey].ToAccountId()`.
   855  -   `AliasKey` fields in `TransactionRecord` and `AccountInfo`.
   856  -   `Nonce` field in `TransactionId`, including `TransactionId.[set|get]Nonce()`
   857  -   `Children` fields in `TransactionRecord` and `TransactionReceipt`
   858  -   `Duplicates` field in `TransactionReceipt`
   859  -   `[TransactionReceiptQuery|TransactionRecordQuery].[Set|Get]IncludeChildren()`
   860  -   `TransactionReceiptQuery.[Set|Get]IncludeDuplicates()`
   861  -   New response codes.
   862  -   Support for ECDSA SecP256K1 keys.
   863  -   `PrivateKeyGenerate[ED25519|ECDSA]()`
   864  -   `[Private|Public]KeyFrom[Bytes|String][DER|ED25519|ECDSA]()`
   865  -   `[Private|Public]Key.[Bytes|String][Raw|DER]()`
   866  
   867  ### Deprecated
   868  
   869  -   `PrivateKeyGenerate()`, use `PrivateKeyGenerate[ED25519|ECDSA]()` instead.
   870  
   871  ## v2.6.0
   872  
   873  ### Added
   874  
   875  -   New smart contract response codes
   876  
   877  ### Deprecated
   878  
   879  -   `ContractCallQuery.[Set|Get]MaxResultSize()`
   880  -   `ContractUpdateTransaction.[Set|Get]ByteCodeFileID()`
   881  
   882  ## v2.6.0-beta.1
   883  
   884  ### Added
   885  
   886  -   New smart contract response codes
   887  
   888  ### Deprecated
   889  
   890  -   `ContractCallQuery.[Set|Get]MaxResultSize()`
   891  -   `ContractUpdateTransaction.[Set|Get]ByteCodeFileID()`
   892  
   893  ## v2.5.1
   894  
   895  ### Fixed
   896  
   897  -   `TransferTransaction.GetTokenTransfers()`
   898  -   `TransferTransaction.AddTokenTransfer()`
   899  -   Persistent error not being handled correctly
   900  -   `TransactionReceiptQuery` should return even on a bad status codes.
   901      Only \*.GetReceipt()`should error on non`SUCCESS` status codes
   902  
   903  ## v2.5.1-beta.1
   904  
   905  ### Changed
   906  
   907  -   Refactored and updated node account ID handling to err whenever a node account ID of 0.0.0 is being set
   908  
   909  ## v2.5.0-beta.1
   910  
   911  ### Deprecated
   912  
   913  -   `ContractCallQuery.[Set|Get]MaxResultSize()`
   914  -   `ContractUpdateTransaction.[Set|Get]ByteCodeFileID()`
   915  
   916  ## v2.5.0
   917  
   918  ### Fixed
   919  
   920  -   `TransactionReceiptQuery` should fill out `TransactionReceipt` even when a bad `Status` is returned
   921  
   922  ## v2.4.1
   923  
   924  ### Fixed
   925  
   926  -   `TransferTransaction` should serialize the transfers list deterministically
   927  
   928  ## v2.4.0
   929  
   930  ### Added
   931  
   932  -   Support for toggling TLS for both mirror network and services network
   933  
   934  ## v2.3.0
   935  
   936  ### Added
   937  
   938  -   `FreezeType`
   939  -   `FreezeTransaction.[get|set]FreezeType()`
   940  
   941  ## v2.3.0-beta 1
   942  
   943  ### Added
   944  
   945  -   Support for HIP-24 (token pausing)
   946      -   `TokenInfo.PauseKey`
   947      -   `TokenInfo.PauseStatus`
   948      -   `TokenCreateTransaction.PauseKey`
   949      -   `TokenUpdateTransaction.PauseKey`
   950      -   `TokenPauseTransaction`
   951      -   `TokenUnpauseTransaction`
   952  
   953  ## v2.2.0
   954  
   955  ### Added
   956  
   957  -   Support for automatic token associations
   958      -   `TransactionRecord.AutomaticTokenAssociations`
   959      -   `AccountInfo.MaxAutomaticTokenAssociations`
   960      -   `AccountCreateTransaction.MaxAutomaticTokenAssociations`
   961      -   `AccountUpdateTransaction.MaxAutomaticTokenAssociations`
   962      -   `TokenRelationship.AutomaticAssociation`
   963      -   `TokenAssociation`
   964  -   `Transaction*` helper methods - should make it easier to use the result of `TransactionFromBytes()`
   965  
   966  ### Fixed
   967  
   968  -   TLS now properly confirms certificate hashes
   969  -   `TokenUpdateTransaction.GetExpirationTime()` returns the correct time
   970  -   Several `*.Get*()` methods required a parameter similiar to `*.Set*()`
   971      This has been changed completely instead of deprecated because we treated this as hard bug
   972  -   Several `nil` dereference issues related to to/from protobuf conversions
   973  
   974  ## v2.2.0-beta.1
   975  
   976  ### Added
   977  
   978  -   Support for automatic token associations
   979      -   `TransactionRecord.AutomaticTokenAssociations`
   980      -   `AccountInfo.MaxAutomaticTokenAssociations`
   981      -   `AccountCreateTransaction.MaxAutomaticTokenAssociations`
   982      -   `AccountUpdateTransaction.MaxAutomaticTokenAssociations`
   983      -   `TokenRelationship.AutomaticAssociation`
   984      -   `TokenAssociation`
   985  
   986  ## v2.1.16
   987  
   988  ### Added
   989  
   990  -   Support for TLS
   991  -   Setters which follow the builder pattern to `Custom*Fee`
   992  -   `Client.[min|max]Backoff()` support
   993  
   994  ### Deprecated
   995  
   996  -   `TokenNftInfoQuery.ByNftID()` - use `TokenNftInfoQuery.SetNftID()` instead
   997  -   `TokenNftInfoQuery.[By|Set|Get]AccountId()` with no replacement
   998  -   `TokenNftInfoQuery.[By|Set|Get]TokenId()` with no replacement
   999  -   `TokenNftInfoQuery.[Set|Get]Start()` with no replacement
  1000  -   `TokenNftInfoQuery.[Set|Get]End()` with no replacement
  1001  
  1002  ## v2.1.15
  1003  
  1004  ### Fixed
  1005  
  1006  -   `AssessedCustomFee.PayerAccountIDs` was misspelled
  1007  
  1008  ## v2.1.14
  1009  
  1010  ### Added
  1011  
  1012  -   Support for `CustomRoyaltyFee`
  1013  -   Support for `AssessedCustomFee.payerAccountIds`
  1014  
  1015  ### Fixed
  1016  
  1017  -   `nil` dereference issues within `*.validateNetworkIDs()`
  1018  
  1019  ## v2.1.13
  1020  
  1021  ### Added
  1022  
  1023  -   Implement `Client.pingAll()`
  1024  -   Implement `Client.SetAutoChecksumValidation()` which validates all entity ID checksums on requests before executing
  1025  
  1026  ### Fixed
  1027  
  1028  -   nil dereference errors when decoding invalid PEM files
  1029  
  1030  ## v2.1.12
  1031  
  1032  ### Added
  1033  
  1034  -   Updated `Status` with new response codes
  1035  -   Support for `Hbar.[from|to]String()` to be reversible
  1036  
  1037  ## v2.1.11
  1038  
  1039  ### Removed
  1040  
  1041  -   `*.AddCustomFee()` use `*.SetCustomFees()` instead
  1042  
  1043  ### Changes
  1044  
  1045  -   Update `Status` with new codes
  1046  
  1047  ### Fixes
  1048  
  1049  -   `PrivateKey.LegacyDerive()` should correctly handle indicies
  1050  
  1051  ## v2.1.11-beta.1
  1052  
  1053  ### Added
  1054  
  1055  -   Support for NFTS
  1056      -   Creating NFT tokens
  1057      -   Minting NFTs
  1058      -   Burning NFTs
  1059      -   Transfering NFTs
  1060      -   Wiping NFTs
  1061      -   Query NFT information
  1062  -   Support for Custom Fees on tokens:
  1063      -   Setting custom fees on a token
  1064      -   Updating custom fees on an existing token
  1065  
  1066  ## v2.1.10
  1067  
  1068  ### Added
  1069  
  1070  -   All requests should retry on gRPC error `INTERNAL` if the message contains `RST_STREAM`
  1071  -   `AccountBalance.Tokens` as a replacement for `AccountBalance.Token`
  1072  -   `AccountBalance.TokenDecimals`
  1073  -   All transactions will now `sign-on-demand` which should result in improved performance
  1074  
  1075  ### Fixed
  1076  
  1077  -   `TopicMessageQuery` not calling `Unsubscribe` when a stream is cancelled
  1078  -   `TopicMessageQuery` should add 1 nanosecond to the `StartTime` of the last received message
  1079  -   `TopicMessageQuery` allocate space for entire chunked message ahead of time
  1080      for retries
  1081  -   `TokenDeleteTransaction.SetTokenID()` incorrectly setting `tokenID` resulting in `GetTokenID()` always returning an empty `TokenID`
  1082  -   `TransferTransaction.GetTokenTransfers()` incorrectly setting an empty value
  1083  
  1084  ### Deprecated
  1085  
  1086  -   `AccountBalance.Token` use `AccountBalance.Tokens` instead
  1087  
  1088  ## v2.1.9
  1089  
  1090  ### Fixed
  1091  
  1092  -   `Client.SetMirroNetwork()` producing a nil pointer exception on next use of a mirror network
  1093  -   Mirror node TLS no longer producing nil pointer exception
  1094  
  1095  ## v2.1.8
  1096  
  1097  ### Added
  1098  
  1099  -   Support TLS for mirror node connections.
  1100  -   Support for entity ID checksums which are validated whenever a request begins execution.
  1101      This includes the IDs within the request, the account ID within the transaction ID, and
  1102      query responses will contain entity IDs with a checksum for the network the query was executed on.
  1103  
  1104  ### Fixed
  1105  
  1106  -   `TransactionTransaction.AddHbarTransfer()` incorrectly determine total transfer per account ID
  1107  
  1108  ## v2.1.7
  1109  
  1110  ### Fixed
  1111  
  1112  -   `TopicMessageQuery.MaxBackoff` was not being used at all
  1113  -   `TopicMessageQuery.Limit` was being incorrectly update with full `TopicMessages` rather than per chunk
  1114  -   `TopicMessageQuery.StartTime` was not being updated each time a message was received
  1115  -   `TopicMessageQuery.CompletionHandler` was be called at incorrect times
  1116  -   Removed the use of locks and `sync.Map` within `TopicMessageQuery` as it is unncessary
  1117  -   Added default logging to `ErrorHandler` and `CompletionHandler`
  1118  
  1119  ## v2.1.6
  1120  
  1121  -   Support for `MaxBackoff`, `MaxAttempts`, `RetryHandler`, and `CompletionHandler` in `TopicMessageQuery`
  1122  -   Default logging behavior to `TopicMessageQuery` if an error handler or completion handler was not set
  1123  
  1124  ### Fixed
  1125  
  1126  -   Renamed `ScheduleInfo.Signers` -> `ScheduleInfo.Signatories`
  1127  -   `TopicMessageQuery` retry handling; this should retry on more gRPC errors
  1128  -   `TopicMessageQuery` max retry timeout; before this would could wait up to 4m with no feedback
  1129  -   `durationFromProtobuf()` incorrectly calculation duration
  1130  -   `*Token.GetAutoRenewPeriod()` and `*Token.GetExpirationTime()` nil dereference
  1131  -   `Hbar.As()` using multiplication instead of division, and should return a `float64`
  1132  
  1133  ### Added
  1134  
  1135  -   Exposed `Hbar.Negated()`
  1136  
  1137  ## v2.1.5
  1138  
  1139  ###
  1140  
  1141  -   Scheduled transaction support: `ScheduleCreateTransaction`, `ScheduleDeleteTransaction`, and `ScheduleSignTransaction`
  1142  -   Non-Constant Time Comparison of HMACs [NCC-E001154-006]
  1143  -   Decreased `CHUNK_SIZE` 4096->1024 and increased default max chunks 10->20
  1144  
  1145  ## v2.1.5-beta.5
  1146  
  1147  ### Fixed
  1148  
  1149  -   Non-Constant Time Comparison of HMACs [NCC-E001154-006]
  1150  -   Decreased `CHUNK_SIZE` 4096->1024 and increased default max chunks 10->20
  1151  -   Renamed `ScheduleInfo.GetTransaction()` -> `ScheduleInfo.getScheduledTransaction()`
  1152  
  1153  ## v2.1.5-beta.4
  1154  
  1155  ### Fixed
  1156  
  1157  -   `Transaction.Schedule()` should error when scheduling un-scheduable tranasctions
  1158  
  1159  ### Removed
  1160  
  1161  -   `nonce` from `TransactionID`
  1162  -   `ScheduleTransactionBody` - should not be part of the public API
  1163  
  1164  ## v2.1.5-beta.3
  1165  
  1166  ### Fixed
  1167  
  1168  -   `Transaction[Receipt|Record]Query` should not error for status `IDENTICAL_SCHEDULE_ALREADY_CREATED`
  1169      because the other fields on the receipt are present with that status.
  1170  -   `ErrHederaReceiptStatus` should print `exception receipt status ...` instead of
  1171      `exception precheck status ...`
  1172  
  1173  ## v2.1.5-beta.2
  1174  
  1175  ### Fixed
  1176  
  1177  -   Executiong should retry on status `PLATFORM_TRANSACTION_NOT_CREATED`
  1178  -   Error handling throughout the SDK
  1179      -   A precheck error shoudl be returned when the exceptional status is in the header
  1180      -   A receipt error should be returned when the exceptional status is in the receipt
  1181  -   `TransactionRecordQuery` should retry on node precheck code `OK` only if we're not
  1182      getting cost of query.
  1183  -   `Transaction[Receipt|Record]Query` should retry on both `RECEIPT_NOT_FOUND` and
  1184      `RECORD_NOT_FOUND` status codes when node precheck code is `OK`
  1185  
  1186  ## v2.1.5-beta.1
  1187  
  1188  ### Fixed
  1189  
  1190  -   Updated scheduled transaction to use new HAPI porotubfs
  1191  
  1192  ### Removed
  1193  
  1194  -   `ScheduleCreateTransaction.AddScheduledSignature()`
  1195  -   `ScheduleCreateTransaction.GetScheduledSignatures()`
  1196  -   `ScheduleSignTransaction.addScheduledSignature()`
  1197  -   `ScheduleSignTransaction.GetScheduledSignatures()`
  1198  
  1199  ## v2.x
  1200  
  1201  ### Added
  1202  
  1203  -   Support for scheduled transactions.
  1204      -   `ScheduleCreateTransaction` - Create a new scheduled transaction
  1205      -   `ScheduleSignTransaction` - Sign an existing scheduled transaction on the network
  1206      -   `ScheduleDeleteTransaction` - Delete a scheduled transaction
  1207      -   `ScheduleInfoQuery` - Query the info including `bodyBytes` of a scheduled transaction
  1208      -   `ScheduleId`
  1209  -   Support for scheduled and nonce in `TransactionId`
  1210      -   `TransactionIdWithNonce()` - Supports creating transaction ID with random bytes.
  1211      -   `TransactionId.[Set|Get]Scheduled()` - Supports scheduled transaction IDs.
  1212  -   `TransactionIdWithValidStart()`
  1213  
  1214  ### Fixed
  1215  
  1216  -   Updated protobufs [#120](https://github.com/hashgraph/hedera-sdk-go/issues/120)
  1217  
  1218  ### Deprecate
  1219  
  1220  -   `NewTransactionId()` - Use `TransactionIdWithValidStart()` instead.
  1221  
  1222  ## v2.0.0
  1223  
  1224  ### Changes
  1225  
  1226  -   All requests support getter methods as well as setters.
  1227  -   All requests support multiple node account IDs being set.
  1228  -   `TransactionFromBytes()` supports multiple node account IDs and existing
  1229      signatures.
  1230  -   All requests support a max retry count using `SetMaxRetry()`