# Release Notes

# [v3.3.1]

# Release Date - 26th September 2024

# Changed

  • [Prometheus] Improvement on inventory and network specific metrics.
  • [Core] Update target framework from .net6.0 to .net8.0.

# Fixed

  • Fixed the issue with correctly re-establishing the TLS connections after a node restart.
  • [API][CLI] Fix the response of Get private data table when table is empty.
  • [API] Fix TPS calculation in performance api.

# [v3.3.0]

# Release Date - 27th February 2024

# Added

  • [SDK] Add tx entries ContractInstantiatorsAdd and ContractInstantiatorsRemove for add and remove contract instantiators.
  • [CLI] Add cli commands addcontractinstantiators, removecontractinstantiators for add and remove contract instantiators.
  • [AdminCLI] Add admin command gettablesrowscount to list tables and corresponding rows count.
  • [CLI] Add new RefreshClientCache command to refresh the cli client cache.
  • [CLI] [SDK] Add validation on ExtensionModuleAdd to check if the extension library exists.
  • [CLI] Add --token-admin option in Create Asset and Create NFT table commands.
  • [CLI] New command to get binary row owners: getbinaryowners.
  • [API] Add APIs for checking table and key existence in Asset, Binary, Entity, NFT and PrivateData modules.
  • [CLI] New command to get data owners of private data entry: getprivatedataowners.
  • [CLI] New commands addprivatedataowner and removeprivatedataowner to add and remove private data row owners respectively.
  • [CLI] Add new UpdateContractDebugFlag command to enable/disable contract debugging flag.

# Changed

  • Use Aes instead of Rijndael for symmetric key based encryption.
  • Update StyleCop.Analyzers package to 1.2.0-beta.435.
  • [Core] Use system time provider for UtcNow.
  • [SDK] Remove utilization of generics from IGeneralApi and IAdminApi.
  • Upgrade c# hash wrapper library to .net6.
  • Upgrade c# crypto wrapper library to .net6.
  • Upgrade c# secp256k1 wrapper library to .net6.
  • Upgrade c# rocksdb wrapper library to .net6.
  • Upgrade c# optional library to .net6.
  • Change error message when transaction executor fails to deserialize a transaction.
  • [CLI][SDK] Add member name validation for the ContractAnalyzerUpdate tx entry.
  • [CLI] Query commands now print JSON format with atHeight included.
  • [SDK] Provide an option in client sdk config to store cache metadata file at custom path.
  • Insufficient signatures for 'ContractDeploy' tx entry now has transaction result code 'InvalidCredentials'.
  • [CLI] Update descriptions for the tx entry commands.

# Fixed

  • Fix stylecop warnings (CA1001, CA1033, CA1060, CA1063, CA1065, CA2002, CA2213, SA1000, SYSLIB0022, SYSLIB0023).
  • SmartContract now forbids #pragma warning.
  • [CLI] Correct error message when deploying contract in debuggable mode in a non-debuggable enviroment.
  • [CLI] Allow InvokeApiCommand to accept Query parameters.
  • Exception handling for the proposal which has already been processed.
  • [API] getinfo api shouldn't expose peer node's ipaddress.
  • [API] Don't show internal error messages for not found APIs.
  • [CLI] Correct error message when reinitializing contract module using contractinitialize command.