Merge pull request #381 from ethereum/changelog_reformat

CHANGELOG reformat
This commit is contained in:
Paweł Bylica 2019-08-07 15:01:21 +02:00 committed by GitHub
commit 024154dbdb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,235 +1,311 @@
# Changelog # Changelog
Documentation of all notable changes to the **EVMC** project.
The format is based on [Keep a Changelog],
and this project adheres to [Semantic Versioning].
## [6.3.0] - unreleased ## [6.3.0] - unreleased
- Added: [[#267](https://github.com/ethereum/evmc/pull/267)] ### Added
Experimental support for _Precompiles_ -
- Experimental support for _Precompiles_ -
EVMC modules containing implementations of Ethereum precompiled contracts. EVMC modules containing implementations of Ethereum precompiled contracts.
To learn more read To learn more read
the [EVMC Precompiles](https://github.com/ethereum/evmc/issues/259) feature description. the [EVMC Precompiles](https://github.com/ethereum/evmc/issues/259) feature description.
- Added: [[#301](https://github.com/ethereum/evmc/pull/301)] [[#267](https://github.com/ethereum/evmc/pull/267)]
The `vm::get_capabilities()` method has been added in C++ API. - The `vm::get_capabilities()` method has been added in C++ API.
- Added: [[#303](https://github.com/ethereum/evmc/pull/303)] [[#301](https://github.com/ethereum/evmc/pull/301)]
A CMake helper for running evmc-vmtester. - A CMake helper for running evmc-vmtester.
- Added: [[#313](https://github.com/ethereum/evmc/pull/313)] [[#303](https://github.com/ethereum/evmc/pull/303)]
The loader module introduces standardized EVMC module configuration string - The loader module introduces standardized EVMC module configuration string
which contains path to the module and additional options. which contains path to the module and additional options.
E.g. `./modules/vm.so,engine=compiler,trace,verbosity=2`. E.g. `./modules/vm.so,engine=compiler,trace,verbosity=2`.
A VM can be loaded, created and configured atomically with A VM can be loaded, created and configured atomically with
new `evmc_load_and_configure()` function. new `evmc_load_and_configure()` function.
- Added: [[#327](https://github.com/ethereum/evmc/pull/327)] [[#313](https://github.com/ethereum/evmc/pull/313)]
Full support for 32-bit architectures has been added. - Full support for 32-bit architectures has been added.
- Added: [[#333](https://github.com/ethereum/evmc/pull/333)] [[#327](https://github.com/ethereum/evmc/pull/327)]
The C/C++ API for creating execution results in VMs has been extended - The C/C++ API for creating execution results in VMs has been extended
to handle common usage cases. to handle common usage cases.
- Added: [[#341](https://github.com/ethereum/evmc/pull/341)] [[#333](https://github.com/ethereum/evmc/pull/333)]
Support for moving `evmc::vm` objects in C++ API. - Support for moving `evmc::vm` objects in C++ API.
- Added: [[#357](https://github.com/ethereum/evmc/pull/357)] [[#341](https://github.com/ethereum/evmc/pull/341)]
The basic types `address` and `bytes32` have received their C++ wrappers - The basic types `address` and `bytes32` have received their C++ wrappers
to assure they are always initialized. to assure they are always initialized.
They also have convenient overloaded operators for comparison They also have convenient overloaded operators for comparison
and usage as keys in standard containers. and usage as keys in standard containers.
- Added: [[#359](https://github.com/ethereum/evmc/pull/359)] [[#357](https://github.com/ethereum/evmc/pull/357)]
The C++ EVMC basic types `address` and `bytes32` have user defined literals. - The C++ EVMC basic types `address` and `bytes32` have user defined literals.
[[#359](https://github.com/ethereum/evmc/pull/359)]
```cpp ```cpp
auto a = 0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359_address; auto a = 0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359_address;
auto b = 0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3_bytes32; auto b = 0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3_bytes32;
``` ```
- Added: [[#360](https://github.com/ethereum/evmc/pull/360)] - CMake option `EVMC_INSTALL` (`ON` by default) to disable installing EVMC targets.
CMake option `EVMC_INSTALL` (`ON` by default) to disable installing EVMC targets.
This may be useful when EVMC is included in other project as git submodule or subtree. This may be useful when EVMC is included in other project as git submodule or subtree.
- Added: [[#366](https://github.com/ethereum/evmc/pull/366)] [[#360](https://github.com/ethereum/evmc/pull/360)]
The `evmc-vmtester` tool received support for EVMC module configuration. - The `evmc-vmtester` tool received support for EVMC module configuration.
E.g. `evmc-vmtester ./my_vm,mode=interpreter`. E.g. `evmc-vmtester ./my_vm,mode=interpreter`.
- Changed: [[#366](https://github.com/ethereum/evmc/pull/366)]
### Changed
- A lot of documentation fixes, improvements and cleanups.
[[#271](https://github.com/ethereum/evmc/pull/271), [[#271](https://github.com/ethereum/evmc/pull/271),
[#272](https://github.com/ethereum/evmc/pull/272), [#272](https://github.com/ethereum/evmc/pull/272),
[#276](https://github.com/ethereum/evmc/pull/276), [#276](https://github.com/ethereum/evmc/pull/276),
[#280](https://github.com/ethereum/evmc/pull/280), [#280](https://github.com/ethereum/evmc/pull/280),
[#345](https://github.com/ethereum/evmc/pull/345)] [#345](https://github.com/ethereum/evmc/pull/345)]
A lot of documentation fixes, improvements and cleanups. - In C++ API `evmc::result::raw()` renamed to `evmc::result::release_raw()`.
- Changed: [[#293](https://github.com/ethereum/evmc/pull/293)] [[#293](https://github.com/ethereum/evmc/pull/293)]
In C++ API `evmc::result::raw()` renamed to `evmc::result::release_raw()`. - In `evmc_load_and_create()` the `error_code` is optional (can be `NULL`).
- Changed: [[#311](https://github.com/ethereum/evmc/pull/311)] [[#311](https://github.com/ethereum/evmc/pull/311)]
In `evmc_load_and_create()` the `error_code` is optional (can be `NULL`).
- Deprecated: [[#358](https://github.com/ethereum/evmc/pull/358)] ### Deprecated
The usage of `evmc/helpers.hpp` has been deprecated. Use `evmc/evmc.hpp`
- The usage of `evmc/helpers.hpp` has been deprecated. Use `evmc/evmc.hpp`
which provides the same features. which provides the same features.
- Deprecated: [[#376](https://github.com/ethereum/evmc/pull/376)] [[#358](https://github.com/ethereum/evmc/pull/358)]
The tracing API has been deprecated as there have been some design flaws discovered. - The tracing API has been deprecated as there have been some design flaws discovered.
New API is expected to be introduced in future. New API is expected to be introduced in future.
- Fixed: [[#376](https://github.com/ethereum/evmc/pull/376)]
### Fixed
- The `vmtester` tool now builds with MSVC with `/std:c++17`.
[[#261](https://github.com/ethereum/evmc/issues/261), [[#261](https://github.com/ethereum/evmc/issues/261),
[#263](https://github.com/ethereum/evmc/pull/263)] [#263](https://github.com/ethereum/evmc/pull/263)]
The `vmtester` tool now builds with MSVC with `/std:c++17`. - The `evmc_release_result()` helper has been fixed.
- Fixed:
[[#266](https://github.com/ethereum/evmc/issues/266), [[#266](https://github.com/ethereum/evmc/issues/266),
[#279](https://github.com/ethereum/evmc/pull/279)] [#279](https://github.com/ethereum/evmc/pull/279)]
The `evmc_release_result()` helper has been fixed. - The missing include guard in `evmc.hpp` has been fixed.
- Fixed:
[[#300](https://github.com/ethereum/evmc/pull/300)] [[#300](https://github.com/ethereum/evmc/pull/300)]
The missing include guard in `evmc.hpp` has been fixed. - A loaded VM with incompatible ABI version is now properly destroyed.
- Fixed:
[[#305](https://github.com/ethereum/evmc/issues/305), [[#305](https://github.com/ethereum/evmc/issues/305),
[#306](https://github.com/ethereum/evmc/pull/306)] [#306](https://github.com/ethereum/evmc/pull/306)]
A loaded VM with incompatible ABI version is not properly destroyed.
## [6.2.2] - 2019-05-16 ## [6.2.2] - 2019-05-16
- Fixed: [[#281](https://github.com/ethereum/evmc/pull/281)] ### Fixed
Compilation error of `evmc::result::raw()` in Visual Studio fixed.
- Fixed: [[#282](https://github.com/ethereum/evmc/pull/282)] - Compilation error of `evmc::result::raw()` in Visual Studio fixed.
The `evmc::result`'s move assignment operator fixed. [[#281](https://github.com/ethereum/evmc/pull/281)]
- The `evmc::result`'s move assignment operator fixed.
[[#282](https://github.com/ethereum/evmc/pull/282)]
## [6.2.1] - 2019-04-29 ## [6.2.1] - 2019-04-29
- Fixed: ### Fixed
- Disallow implicit conversion from C++ `evmc::result` to `evmc_result`
causing unintendent premature releasing of resources.
[[#256](https://github.com/ethereum/evmc/issues/256), [[#256](https://github.com/ethereum/evmc/issues/256),
[#257](https://github.com/ethereum/evmc/issues/257)] [#257](https://github.com/ethereum/evmc/issues/257)]
Disallow implicit conversion from C++ `evmc::result` to `evmc_result`
causing unintendent premature releasing of resources.
## [6.2.0] - 2019-04-25 ## [6.2.0] - 2019-04-25
- Added: [[#216](https://github.com/ethereum/evmc/pull/216)] ### Added
CMake option `EVMC_TEST_TOOLS` to build evmc-vmtester without bothering with internal unit tests.
- Added: - CMake option `EVMC_TEST_TOOLS` to build evmc-vmtester without bothering with internal unit tests.
[[#217](https://github.com/ethereum/evmc/pull/217)] [[#216](https://github.com/ethereum/evmc/pull/216)]
[[#226](https://github.com/ethereum/evmc/pull/226)] - The full C++ EVMC API for both VM and Host implementations.
The full C++ EVMC API for both VM and Host implementations. [[#217](https://github.com/ethereum/evmc/pull/217),
- Added: [[#201](https://github.com/ethereum/evmc/pull/201), [#202](https://github.com/ethereum/evmc/pull/202), [#233](https://github.com/ethereum/evmc/pull/233)] [#226](https://github.com/ethereum/evmc/pull/226)]
Initial and rough bindings for Rust. It is possible to implement an - Initial and rough **bindings for Rust**. It is possible to implement an
EVMC VM in Rust utilising some helpers. EVMC VM in Rust utilising some helpers.
- Added: [[#201](https://github.com/ethereum/evmc/pull/201),
[[#230](https://github.com/ethereum/evmc/pull/230)] [#202](https://github.com/ethereum/evmc/pull/202),
[[#232](https://github.com/ethereum/evmc/pull/232)] [#233](https://github.com/ethereum/evmc/pull/233)]
Handling of DLL loading errors greatly improved by `evmc_last_error_msg()` function. - Handling of DLL loading errors greatly improved by
- Changed: [[#195](https://github.com/ethereum/evmc/pull/195)] new `evmc_last_error_msg()` function.
The minimum supported GCC version is 6 (bumped from undocumented version 4.8). [[#230](https://github.com/ethereum/evmc/pull/230),
- Changed: [[#197](https://github.com/ethereum/evmc/pull/197)] [#232](https://github.com/ethereum/evmc/pull/232)]
Go bindings improved by introduction of the `TxContext` struct.
- Changed: ### Changed
[[#221](https://github.com/ethereum/evmc/pull/221)]
[[#234](https://github.com/ethereum/evmc/pull/234)] - The minimum supported GCC version is 6 (bumped from undocumented version 4.8).
[[#238](https://github.com/ethereum/evmc/pull/238)] [[#195](https://github.com/ethereum/evmc/pull/195)]
[[#241](https://github.com/ethereum/evmc/pull/241)] - Go bindings improved by introduction of the `TxContext` struct.
[[#242](https://github.com/ethereum/evmc/pull/242)] [[#197](https://github.com/ethereum/evmc/pull/197)]
A lot of evmc-vmtester improvements. - A lot improvements to the `evmc-vmtester` tool.
- Changed: [[#251](https://github.com/ethereum/evmc/pull/251)] [[#221](https://github.com/ethereum/evmc/pull/221),
[Cable] upgraded to version 0.2.17. [#234](https://github.com/ethereum/evmc/pull/234),
- Deprecated: [[#196](https://github.com/ethereum/evmc/pull/196)] [#238](https://github.com/ethereum/evmc/pull/238),
The `EVMC_CONSTANTINOPLE2` revision name is deprecated, replaced with `EVMC_PETERSBURG`. [#241](https://github.com/ethereum/evmc/pull/241),
[#242](https://github.com/ethereum/evmc/pull/242)]
- [Cable] upgraded to version 0.2.17.
[[#251](https://github.com/ethereum/evmc/pull/251)]
### Deprecated
- The `EVMC_CONSTANTINOPLE2` revision name is deprecated, replaced with `EVMC_PETERSBURG`.
[[#196](https://github.com/ethereum/evmc/pull/196)]
## [6.1.1] - 2019-02-13 ## [6.1.1] - 2019-02-13
- Added: [[#192](https://github.com/ethereum/evmc/pull/192)] ### Added
Documentation of elements of evmc_revision.
- Fixed: [[#190](https://github.com/ethereum/evmc/pull/190)] - Documentation of elements of `evmc_revision`.
Compilation with GCC 5 because of the "deprecated" attribute applied [[#192](https://github.com/ethereum/evmc/pull/192)]
### Fixed
- Fixed compilation with GCC 5 because of the "deprecated" attribute applied
to an enum element. to an enum element.
[[#190](https://github.com/ethereum/evmc/pull/190)]
## [6.1.0] - 2019-01-24 ## [6.1.0] - 2019-01-24
- Added: [[#174](https://github.com/ethereum/evmc/pull/174)] ### Added
The **Istanbul** EVM revision.
- Added: [[#182](https://github.com/ethereum/evmc/pull/182)] - The **Istanbul** EVM revision has been added.
The `is_zero()` C++ helper for basic data types. [[#174](https://github.com/ethereum/evmc/pull/174)]
- Added: [[#186](https://github.com/ethereum/evmc/pull/186)] - The `is_zero()` C++ helper for basic data types has been added.
Reserved the post-Constantinople EVM revision number. [[#182](https://github.com/ethereum/evmc/pull/182)]
- Added: [[#187](https://github.com/ethereum/evmc/pull/187)] - Reserved the post-Constantinople EVM revision number.
C++ wrappers for VM and execution result objects. [[#186](https://github.com/ethereum/evmc/pull/186)]
- Deprecated: [[#184](https://github.com/ethereum/evmc/pull/184)] - The C++ wrappers for VM and execution result objects have been added.
The `EVMC_LATEST_REVISION` is deprecated, replaced with `EVMC_MAX_REVISION`. [[#187](https://github.com/ethereum/evmc/pull/187)]
### Deprecated
- The `EVMC_LATEST_REVISION` name has been deprecated, replaced with `EVMC_MAX_REVISION`.
[[#184](https://github.com/ethereum/evmc/pull/184)]
## [6.0.2] - 2019-01-16 ## [6.0.2] - 2019-01-16
- Fixed: [[#179](https://github.com/ethereum/evmc/pull/179)] ### Fixed
Add missing salt argument for CREATE2 in Host in Go bindings.
- Add missing salt argument for CREATE2 in Host in Go bindings.
[[#179](https://github.com/ethereum/evmc/pull/179)]
## [6.0.1] - 2018-11-10 ## [6.0.1] - 2018-11-10
- Fixed: [[#169](https://github.com/ethereum/evmc/pull/169)] ### Fixed
Integration of EVMC as a CMake subproject is easier because
- Integration of EVMC as a CMake subproject is easier because
Hunter is not loaded unless building tests (`EVMC_TESTING=ON`) is requested. Hunter is not loaded unless building tests (`EVMC_TESTING=ON`) is requested.
[[#169](https://github.com/ethereum/evmc/pull/169)]
## [6.0.0] - 2018-10-24 ## [6.0.0] - 2018-10-24
- Added: [[#116](https://github.com/ethereum/evmc/pull/116)] ### Added
[EVMC Host implementation example](https://github.com/ethereum/evmc/blob/master/examples/example_host.cpp).
- Added: [[#127](https://github.com/ethereum/evmc/pull/127)] - [EVMC Host implementation example](https://github.com/ethereum/evmc/blob/master/examples/example_host.cpp).
Support for Constantinople SSTORE net gas metering. [[#116](https://github.com/ethereum/evmc/pull/116)]
- Added: [[#133](https://github.com/ethereum/evmc/pull/133)] - Support for Constantinople SSTORE net gas metering.
Support for Constantinople CREATE2 salt in Go bindings. [[#127](https://github.com/ethereum/evmc/pull/127)]
- Added: [[#144](https://github.com/ethereum/evmc/pull/144)] - Support for Constantinople CREATE2 salt in Go bindings.
A VM can now report its **capabilities** (i.e. EVM and/or ewasm). [[#133](https://github.com/ethereum/evmc/pull/133)]
- Added: [[#159](https://github.com/ethereum/evmc/pull/159)] - A VM can now report its **capabilities** (i.e. EVM and/or ewasm).
[EVMC Host implementation guide](https://ethereum.github.io/evmc/hostguide.html). [[#144](https://github.com/ethereum/evmc/pull/144)]
- Added: [[#160](https://github.com/ethereum/evmc/pull/160)] - Introduction of the `evmc_bytes32` type.
[EVMC VM implementation guide](https://ethereum.github.io/evmc/vmguide.html). [[#152](https://github.com/ethereum/evmc/pull/152)]
- Changed: [[#119](https://github.com/ethereum/evmc/pull/119)] - [EVMC Host implementation guide](https://ethereum.github.io/evmc/hostguide.html).
EVMC loader symbol searching has been generalized. [[#159](https://github.com/ethereum/evmc/pull/159)]
- Changed: [[#125](https://github.com/ethereum/evmc/pull/125)] - [EVMC VM implementation guide](https://ethereum.github.io/evmc/vmguide.html).
The `evmc_context_fn_table` renamed to `evmc_host_interface`. [[#160](https://github.com/ethereum/evmc/pull/160)]
- Changed: [[#128](https://github.com/ethereum/evmc/pull/128)]
The `evmc_message` fields reordered. ### Changed
- Changed: [[#136](https://github.com/ethereum/evmc/pull/136)]
The `evmc_set_option()` now returns more information about the failure cause. - EVMC loader symbol searching has been generalized.
- Changed: [[#138](https://github.com/ethereum/evmc/pull/138)], [[#140](https://github.com/ethereum/evmc/pull/140)] [[#119](https://github.com/ethereum/evmc/pull/119)]
In C the `bool` type is used instead of `int` for true/false flags. - The `evmc_context_fn_table` renamed to `evmc_host_interface`.
- Changed: [[#152](https://github.com/ethereum/evmc/pull/152)] [[#125](https://github.com/ethereum/evmc/pull/125)]
Introduction of the `evmc_bytes32` type. - The `evmc_message` fields reordered.
- Changed: [[#154](https://github.com/ethereum/evmc/pull/154)] [[#128](https://github.com/ethereum/evmc/pull/128)]
Simplification of signatures of Host methods. - The `evmc_set_option()` now returns more information about the failure cause.
[[#136](https://github.com/ethereum/evmc/pull/136)]
- In C the `bool` type is used instead of `int` for true/false flags.
[[#138](https://github.com/ethereum/evmc/pull/138),
[#140](https://github.com/ethereum/evmc/pull/140)]
- Simplification of signatures of Host methods.
[[#154](https://github.com/ethereum/evmc/pull/154)]
## [5.2.0] - 2018-08-28 ## [5.2.0] - 2018-08-28
- Feature: [[#81](https://github.com/ethereum/evmc/pull/81)] ### Added
Use also "evmc_create" function name for loading EVMC DLLs.
- Fix: [[#92](https://github.com/ethereum/evmc/pull/92)] - Use also "evmc_create" function name for loading EVMC DLLs.
The evmc.h header compatibility with C++98 fixed. [[#81](https://github.com/ethereum/evmc/pull/81)]
- Fix: [[#93](https://github.com/ethereum/evmc/pull/93)], [[#103](https://github.com/ethereum/evmc/pull/103)]
Compilation and build configuration fixes. ### Changed
- Improved: [[#97](https://github.com/ethereum/evmc/pull/97)], [[#107](https://github.com/ethereum/evmc/pull/107)]
Documentation improvements, including documentation for the VM Tester. - Documentation improvements, including documentation for the VM Tester.
[[#97](https://github.com/ethereum/evmc/pull/97),
[#107](https://github.com/ethereum/evmc/pull/107)]
### Fixed
- The `evmc.h` header compatibility with C++98 fixed.
[[#92](https://github.com/ethereum/evmc/pull/92)]
- Compilation and build configuration fixes.
[[#93](https://github.com/ethereum/evmc/pull/93),
[#103](https://github.com/ethereum/evmc/pull/103)]
## [5.1.0] - 2018-08-23 ## [5.1.0] - 2018-08-23
- Feature: [[#41](https://github.com/ethereum/evmc/pull/41)] ### Added
Go language bindings for EVMC.
- Feature: [[#56](https://github.com/ethereum/evmc/pull/56), [#62](https://github.com/ethereum/evmc/pull/62)] - **Go language bindings** for EVMC.
New error codes. [[#41](https://github.com/ethereum/evmc/pull/41)]
- Feature: [[#67](https://github.com/ethereum/evmc/pull/67), [#68](https://github.com/ethereum/evmc/pull/68), [#70](https://github.com/ethereum/evmc/pull/70)] - New error codes.
More helper functions. [[#56](https://github.com/ethereum/evmc/pull/56),
- Fix: [[#72](https://github.com/ethereum/evmc/pull/72)] [#62](https://github.com/ethereum/evmc/pull/62)]
Go bindings: Properly handle unknown error codes. - More helper functions.
- Improved: [[#58](https://github.com/ethereum/evmc/pull/58)] [[#67](https://github.com/ethereum/evmc/pull/67),
Documentation has been extended. [#68](https://github.com/ethereum/evmc/pull/68),
- Improved: [[#59](https://github.com/ethereum/evmc/pull/59)] [#70](https://github.com/ethereum/evmc/pull/70)]
Optional Result Storage helper module has been separated.
- Improved: [[#75](https://github.com/ethereum/evmc/pull/75)] ### Changed
Cable upgraded to 0.2.11.
- Improved: [[#77](https://github.com/ethereum/evmc/pull/77)] - Documentation has been extended.
The license changed from MIT to Apache 2.0. [[#58](https://github.com/ethereum/evmc/pull/58)]
- Optional Result Storage helper module has been separated.
[[#59](https://github.com/ethereum/evmc/pull/59)]
- [Cable] upgraded to 0.2.11.
[[#75](https://github.com/ethereum/evmc/pull/75)]
- The license changed from MIT to **Apache 2.0**.
[[#77](https://github.com/ethereum/evmc/pull/77)]
### Fixed
- Go bindings: Properly handle unknown error codes.
[[#72](https://github.com/ethereum/evmc/pull/72)]
## [5.0.0] - 2018-08-10 ## [5.0.0] - 2018-08-10
- Feature: [[#23](https://github.com/ethereum/evmc/pull/23), [#24](https://github.com/ethereum/evmc/pull/24)] ### Added
List of status codes extended and reordered.
- Feature: [[#32](https://github.com/ethereum/evmc/pull/32)] - List of status codes extended and reordered.
VM Tracing API. [[#23](https://github.com/ethereum/evmc/pull/23),
- Feature: [[#33](https://github.com/ethereum/evmc/pull/33), [#34](https://github.com/ethereum/evmc/pull/34)] [#24](https://github.com/ethereum/evmc/pull/24)]
The support library with metrics tables for EVM1 instructions. - VM Tracing API.
- Feature: [[#35](https://github.com/ethereum/evmc/pull/35)] [[#32](https://github.com/ethereum/evmc/pull/32)]
Ability to create EVMC CMake package. - The support library with **metrics tables for EVM1 instructions**.
- Feature: [[#40](https://github.com/ethereum/evmc/pull/40)] [[#33](https://github.com/ethereum/evmc/pull/33),
The loader support library for VM dynamic loading. [#34](https://github.com/ethereum/evmc/pull/34)]
- Feature: [[#45](https://github.com/ethereum/evmc/pull/45)] - Ability to create EVMC CMake package.
Constantinople: Support for `CREATE2` instruction. [[#35](https://github.com/ethereum/evmc/pull/35)]
- Feature: [[#49](https://github.com/ethereum/evmc/pull/49)] - The loader support library for VM dynamic loading.
Constantinople: Support for `EXTCODEHASH` instruction. [[#40](https://github.com/ethereum/evmc/pull/40)]
- Feature: [[#52](https://github.com/ethereum/evmc/pull/52)] - Constantinople: Support for `CREATE2` instruction.
Constantinople: Storage status is reported back from `evmc_set_storage()`. [[#45](https://github.com/ethereum/evmc/pull/45)]
- Constantinople: Support for `EXTCODEHASH` instruction.
[[#49](https://github.com/ethereum/evmc/pull/49)]
- Constantinople: Storage status is reported back from `evmc_set_storage()`.
[[#52](https://github.com/ethereum/evmc/pull/52)]
[6.3.0]: https://github.com/ethereum/evmc/compare/v6.2.1...master [6.3.0]: https://github.com/ethereum/evmc/compare/v6.2.1...master
@ -245,4 +321,6 @@
[5.1.0]: https://github.com/ethereum/evmc/releases/tag/v5.1.0 [5.1.0]: https://github.com/ethereum/evmc/releases/tag/v5.1.0
[5.0.0]: https://github.com/ethereum/evmc/releases/tag/v5.0.0 [5.0.0]: https://github.com/ethereum/evmc/releases/tag/v5.0.0
[Cable]: https://github.com/ethereum/cable [Cable]: https://github.com/ethereum/cable
[Keep a Changelog]: https://keepachangelog.com/en/1.0.0/
[Semantic Versioning]: https://semver.org