evmc/CHANGELOG.md

8.6 KiB

Changelog

6.3.0 - unreleased

  • Fixed: [#261, #263] The vmtester tool now builds with MSVC with /std:c++17.

6.2.2 - 2019-05-16

  • Fixed: [#281] Compilation error of evmc::result::raw() in Visual Studio fixed.
  • Fixed: [#282] The evmc::result's move assignment operator fixed.

6.2.1 - 2019-04-29

  • Fixed: [#256, #257] Disallow implicit conversion from C++ evmc::result to evmc_result causing unintendent premature releasing of resources.

6.2.0 - 2019-04-25

  • Added: [#216] CMake option EVMC_TEST_TOOLS to build evmc-vmtester without bothering with internal unit tests.
  • Added: [#217] [#226] The full C++ EVMC API for both VM and Host implementations.
  • Added: [#201, #202, #233] Initial and rough bindings for Rust. It is possible to implement an EVMC VM in Rust utilising some helpers.
  • Added: [#230] [#232] Handling of DLL loading errors greatly improved by evmc_last_error_msg() function.
  • Changed: [#195] The minimum supported GCC version is 6 (bumped from undocumented version 4.8).
  • Changed: [#197] Go bindings improved by introduction of the TxContext struct.
  • Changed: [#221] [#234] [#238] [#241] [#242] A lot of evmc-vmtester improvements.
  • Changed: [#251] Cable upgraded to version 0.2.17.
  • Deprecated: [#196] The EVMC_CONSTANTINOPLE2 revision name is deprecated, replaced with EVMC_PETERSBURG.

6.1.1 - 2019-02-13

  • Added: [#192] Documentation of elements of evmc_revision.
  • Fixed: [#190] Compilation with GCC 5 because of the "deprecated" attribute applied to an enum element.

6.1.0 - 2019-01-24

  • Added: [#174] The Istanbul EVM revision.
  • Added: [#182] The is_zero() C++ helper for basic data types.
  • Added: [#186] Reserved the post-Constantinople EVM revision number.
  • Added: [#187] C++ wrappers for VM and execution result objects.
  • Deprecated: [#184] The EVMC_LATEST_REVISION is deprecated, replaced with EVMC_MAX_REVISION.

6.0.2 - 2019-01-16

  • Fixed: [#179] Add missing salt argument for CREATE2 in Host in Go bindings.

6.0.1 - 2018-11-10

  • Fixed: [#169] Integration of EVMC as a CMake subproject is easier because Hunter is not loaded unless building tests (EVMC_TESTING=ON) is requested.

6.0.0 - 2018-10-24

  • Added: [#116] EVMC Host implementation example.
  • Added: [#127] Support for Constantinople SSTORE net gas metering.
  • Added: [#133] Support for Constantinople CREATE2 salt in Go bindings.
  • Added: [#144] A VM can now report its capabilities (i.e. EVM and/or ewasm).
  • Added: [#159] EVMC Host implementation guide.
  • Added: [#160] EVMC VM implementation guide.
  • Changed: [#119] EVMC loader symbol searching has been generalized.
  • Changed: [#125] The evmc_context_fn_table renamed to evmc_host_interface.
  • Changed: [#128] The evmc_message fields reordered.
  • Changed: [#136] The evmc_set_option() now returns more information about the failure cause.
  • Changed: [#138], [#140] In C the bool type is used instead of int for true/false flags.
  • Changed: [#152] Introduction of the evmc_bytes32 type.
  • Changed: [#154] Simplification of signatures of Host methods.

5.2.0 - 2018-08-28

  • Feature: [#81] Use also "evmc_create" function name for loading EVMC DLLs.
  • Fix: [#92] The evmc.h header compatibility with C++98 fixed.
  • Fix: [#93], [#103] Compilation and build configuration fixes.
  • Improved: [#97], [#107] Documentation improvements, including documentation for the VM Tester.

5.1.0 - 2018-08-23

  • Feature: [#41] Go language bindings for EVMC.
  • Feature: [#56, #62] New error codes.
  • Feature: [#67, #68, #70] More helper functions.
  • Fix: [#72] Go bindings: Properly handle unknown error codes.
  • Improved: [#58] Documentation has been extended.
  • Improved: [#59] Optional Result Storage helper module has been separated.
  • Improved: [#75] Cable upgraded to 0.2.11.
  • Improved: [#77] The license changed from MIT to Apache 2.0.

5.0.0 - 2018-08-10

  • Feature: [#23, #24] List of status codes extended and reordered.
  • Feature: [#32] VM Tracing API.
  • Feature: [#33, #34] The support library with metrics tables for EVM1 instructions.
  • Feature: [#35] Ability to create EVMC CMake package.
  • Feature: [#40] The loader support library for VM dynamic loading.
  • Feature: [#45] Constantinople: Support for CREATE2 instruction.
  • Feature: [#49] Constantinople: Support for EXTCODEHASH instruction.
  • Feature: [#52] Constantinople: Storage status is reported back from evmc_set_storage().