# Release Notes

# [v2.2.1]

# Release Date - 25 August 2020

# Fixed

  • Remove contract analyzer dependencies from projects to avoid having to look for its dll.
  • Fix bls-native-libs-issue : added RuntimeIdentifiers RIDs (win-x64, linux-x64, osx-x64) to solution and made build for a specific RID.

# [v2.2.0]

# Release Date - 20 August 2020

# Added

  • Add Asset Granularity(max,min,unit) to Asset Table and Permissioned Asset Table.
  • Rocksdb : Support of Snappy,Lz4,Lz4hc,Zlib & Zstd compression algorisms with Lz4 as default.
  • Added Binary Controller and related CLI commands.
  • Add RangeListTable for Blockchain Config.
  • Add forbidden list for classes and methods in smart contract.
  • Add ContractAnalyzerUpdate command to update customized whitelist and forbidden list that applied to Roslyn analyzer.
  • Add endpoint to read customized whitelist and forbidden list. Allow Cli to compile with online information.

# Changed

  • Solution upgraded to netcoreapp3.1 as TFM instead of netstandard2.1. (except for Miyabi.CodeAnalyzer which maintain netstandard2.0). Also, this fixes published Miyabi with correct version to Microsoft.AspNetCore.Mvc.Core.
  • Remove some libraries from smart contract assembly whitelist.
  • Fix Default Value of Block Limit Config.

# Fixed

  • Exclude duplicate address from ACL.
  • Use gRPC Wait-For-Ready semantics in Node-Observer connection.
  • Catch general errors in querycontract (ContractController) and return API Error instead.
  • Catch general errors when read readrestricted tables, and ignore unrecognized http certificate.
  • Combine transformers to only create one transformed SC file in debug mode.

# [v2.1.0]

# Release Date - 18 May 2020

# Added

  • Support to publish for MAC.
  • Allow CORS.
  • Support Invoke Contract and Query Contract from a Contract. Instruction limitation and credentials are inherited (cannot invoke in query).

# Changed

  • Add more details in txResults for invalid signer and move/gen asset.
  • Remove subcommand for gettransactionId.
  • Optimize NFT count.
  • Move essential tx build functions from CliUtils to TransactionBuilder.
  • Update state writer : TrygetTableReader will not return table writer but a snapshot of the table including unstaged changes. Forbid write operations in Smart contract query instead of dropping the result.
  • Implement rocksDB archiving WAL feature.
  • Add transaction size limitation(byte size and entry count).

# Fixed

  • [CLI] Giving incorrect option to create/sendtransaction freezes the program.
  • [CLI] Improvements on inner command.
  • Contract Manager support independent ContractExecutionInterrupter for each context to avoid losing instruction limitation.
  • [CLI] Fix Miyabi sendtransaction / gettransactionid raises error using JSON as TxData on command prompt.

# [2.0.9]

# Release Date - 15 April 2020

# Added

  • CLI gettransactioninfo / waittransaction should accept STDIN input.

# Changed

  • Update General Web API.

# Fixed

  • Fix nuget packages.

# [2.0.8]

# Release Date - 13 April 2020

# Added

  • Implement NFT table.
  • Add multiple transactions get API endpoint.

# [2.0.7]

# Release Date - 19 March 2020

# Fixed

  • Fix grpc observer.
  • Fix package issues.
  • Revert native module.
  • Fix Get Consensus State.
  • Fix Cli help messages.

# [2.0.6]

# Release Date - 03 March 2020

# Changed

  • Change CLI module load mechanism.

# [2.0.5]

# Release Date - 25 February 2020

# Changed

  • Read CLI SDK config if it is located in the same location as the executable.

# Fixed

  • Allow Trustee addresses to move assets from void address.

# [2.0.4]

# Release Date - 21 February 2020

# Changed

  • Allow Client to bypass certificate check.
  • Switch Observer network protocol to GRPC.

# [2.0.3]

# Release Date - 12 February 2020

# Added

  • Prepare Observer SDK.
  • Create API for Get Block body.
  • Implement Observer SDK.
  • Send failed txs notification to external observer.
  • Add dead condition check for Roslyn Analyzer.
  • Allow option to run API HTTP or HTTPS.
  • Add cancellable smart contract.
  • Create whitelist check for smart contract assemblies.

# Changed

  • Migrate to netcoreapp 3.1 LTS.
  • Update MessagePack package.
  • Update CommandLineUtils package.
  • Update BouncyCastle package.
  • Switch to netstandard2.1.

# Fixed

  • Fix SDK config name and update client SDK.

# [2.0.2]

# Release Date - 07 February 2020

# Fixed

  • Proof of Lock's signature is not checked.
  • Fix dependency issue on contract module.

# [2.0.1]

# Release Date - 10 December 2019

# Changed

  • Limit the number of list elements in API.
  • Change default port.

# Fixed

  • Fix gettransaction results.
  • Fix SDK dependency.

# [2.0.0]

# Release Date - 20 November 2019

  • Initial Release