evmc/CHANGELOG.md

422 lines
16 KiB
Markdown
Raw Normal View History

2018-08-20 10:55:40 +00:00
# Changelog
2019-08-07 12:04:16 +00:00
Documentation of all notable changes to the **EVMC** project.
The format is based on [Keep a Changelog],
and this project adheres to [Semantic Versioning].
## [7.0.0] „Istanbul Ready” — 2019-11-11
This version of EVMC delivers compatibility with Istanbul EVM revision.
The ABI breaking change has been required in this case so some other
backward-incompatible changes are also included and deprecated APIs have been
removed.
2019-07-31 13:57:31 +00:00
### Added
- Support for **Istanbul** EIP-1344 (CHAINID opcode).
`chain_id` added to `evmc_tx_context` struct.
2019-11-11 13:15:10 +00:00
[#375](https://github.com/ethereum/evmc/pull/375)
- Support for **Istanbul** EIP-1884 (Repricing for trie-size-dependent opcodes).
2019-11-11 13:15:10 +00:00
[#372](https://github.com/ethereum/evmc/pull/372)
- The **Berlin** EVM revision number has been added.
2019-11-11 13:15:10 +00:00
[#407](https://github.com/ethereum/evmc/pull/407)
- In C++ API, an overload for `VM::execute()` has been added that omits
the Host context and interface parameters. This is useful for Precompiles VMs
that do not interact with the Host.
2019-11-11 13:15:10 +00:00
[#302](https://github.com/ethereum/evmc/pull/302)
2019-08-21 20:13:07 +00:00
### Changed
2019-09-24 21:59:08 +00:00
- The `evmc_instance` renamed to `evmc_vm`.
2019-11-11 13:15:10 +00:00
[#430](https://github.com/ethereum/evmc/pull/430)
2019-11-04 17:11:34 +00:00
- The `evmc_context` renamed to `evmc_host_context`.
2019-11-11 13:15:10 +00:00
[#426](https://github.com/ethereum/evmc/pull/426)
2019-11-04 21:03:50 +00:00
- The `evmc_host_interface` is now separated from `evmc_host_context`.
This simplifies language bindings which implement the `evmc_host_interface`.
2019-11-11 13:15:10 +00:00
[#427](https://github.com/ethereum/evmc/pull/427)
2019-04-24 17:03:00 +00:00
- The `evmc::vm` renamed to `evmc::VM` in C++ API.
2019-11-11 13:15:10 +00:00
[#252](https://github.com/ethereum/evmc/pull/252)
2019-08-21 20:13:07 +00:00
- Previously deprecated `helpers.hpp` header file has been removed.
2019-11-11 13:15:10 +00:00
[#410](https://github.com/ethereum/evmc/pull/410)
2019-08-22 07:44:08 +00:00
- Previously deprecated `EVMC_CONSTANTINOPLE2` and `EVMC_LATEST_REVISION` revisions have been removed.
2019-11-11 13:15:10 +00:00
[#411](https://github.com/ethereum/evmc/pull/411)
2019-11-04 17:11:34 +00:00
- Previously deprecated tracing API has been removed.
2019-11-11 13:15:10 +00:00
[#429](https://github.com/ethereum/evmc/pull/429)
- In `evmc::instructions` library the undefined instructions have `0` gas cost
instead of previous `-1` value.
2019-11-11 13:15:10 +00:00
[#425](https://github.com/ethereum/evmc/pull/425)
2019-11-04 17:11:34 +00:00
- The EVM instruction tables have been redesigned to be more useful.
2019-11-11 13:15:10 +00:00
[#435](https://github.com/ethereum/evmc/pull/435)
- The EVMC loader trims all extensions (previously only the last one)
from the EVMC module file name.
2019-11-11 13:15:10 +00:00
[#439](https://github.com/ethereum/evmc/pull/439)
- The EVMC loader no longer ties to guess the VM create function name
by dropping prefix words from the name.
2019-11-11 13:15:10 +00:00
[#440](https://github.com/ethereum/evmc/pull/440)
- The helper function `evmc_is_abi_compatible()` returns now `bool`
instead of `int`.
2019-11-11 13:15:10 +00:00
[#442](https://github.com/ethereum/evmc/pull/442)
- In the Rust bindings make `ExecutionContext` optional within `execute`.
2019-11-11 13:15:10 +00:00
[#350](https://github.com/ethereum/evmc/pull/350)
- A set of small improvements to C++ API.
[#445](https://github.com/ethereum/evmc/pull/445)
[#449](https://github.com/ethereum/evmc/pull/449)
[#451](https://github.com/ethereum/evmc/pull/451)
2019-07-31 13:57:31 +00:00
## [6.3.1] - 2019-08-19
2019-08-15 11:05:58 +00:00
2019-08-16 09:53:28 +00:00
### Added
- Added `LoadAndConfigure` method to the Go API.
2019-11-11 13:15:10 +00:00
[#404](https://github.com/ethereum/evmc/pull/404)
### Deprecated
- Previously deprecated `is_zero()` helper has been removed,
but replaced with new `evmc::is_zero()` in API compatible way.
2019-11-11 13:15:10 +00:00
[#406](https://github.com/ethereum/evmc/pull/406)
2019-08-16 09:53:28 +00:00
2019-08-15 11:05:58 +00:00
### Fixed
- In C++ API the `get_balance()` method now returns expected `evmc::uint256be`
instead of `evmc_uint256be`.
2019-11-11 13:15:10 +00:00
[#403](https://github.com/ethereum/evmc/pull/403)
- [Cable] upgraded to 0.4.4 to fix incompatibility with older versions.
2019-11-11 13:15:10 +00:00
[#405](https://github.com/ethereum/evmc/pull/405)
2019-08-15 11:05:58 +00:00
## [6.3.0] - 2019-08-12
2019-05-06 08:33:11 +00:00
2019-08-07 12:04:16 +00:00
### Added
- Experimental support for _Precompiles_ -
2019-08-07 09:44:46 +00:00
EVMC modules containing implementations of Ethereum precompiled contracts.
To learn more read
the [EVMC Precompiles](https://github.com/ethereum/evmc/issues/259) feature description.
2019-11-11 13:15:10 +00:00
[#267](https://github.com/ethereum/evmc/pull/267)
2019-08-07 12:04:16 +00:00
- The `vm::get_capabilities()` method has been added in C++ API.
2019-11-11 13:15:10 +00:00
[#301](https://github.com/ethereum/evmc/pull/301)
2019-08-07 12:04:16 +00:00
- A CMake helper for running evmc-vmtester.
2019-11-11 13:15:10 +00:00
[#303](https://github.com/ethereum/evmc/pull/303)
2019-08-07 12:04:16 +00:00
- The loader module introduces standardized EVMC module configuration string
which contains path to the module and additional options.
E.g. `./modules/vm.so,engine=compiler,trace,verbosity=2`.
A VM can be loaded, created and configured atomically with
new `evmc_load_and_configure()` function.
2019-11-11 13:15:10 +00:00
[#313](https://github.com/ethereum/evmc/pull/313)
2019-08-07 12:04:16 +00:00
- Full support for 32-bit architectures has been added.
2019-11-11 13:15:10 +00:00
[#327](https://github.com/ethereum/evmc/pull/327)
2019-08-07 12:04:16 +00:00
- The C/C++ API for creating execution results in VMs has been extended
to handle common usage cases.
2019-11-11 13:15:10 +00:00
[#333](https://github.com/ethereum/evmc/pull/333)
2019-08-07 12:04:16 +00:00
- Support for moving `evmc::vm` objects in C++ API.
2019-11-11 13:15:10 +00:00
[#341](https://github.com/ethereum/evmc/pull/341)
2019-08-07 12:04:16 +00:00
- The basic types `address` and `bytes32` have received their C++ wrappers
to assure they are always initialized.
They also have convenient overloaded operators for comparison
and usage as keys in standard containers.
2019-11-11 13:15:10 +00:00
[#357](https://github.com/ethereum/evmc/pull/357)
2019-08-07 12:04:16 +00:00
- The C++ EVMC basic types `address` and `bytes32` have user defined literals.
2019-11-11 13:15:10 +00:00
[#359](https://github.com/ethereum/evmc/pull/359)
```cpp
auto a = 0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359_address;
auto b = 0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3_bytes32;
```
2019-08-07 12:04:16 +00:00
- CMake option `EVMC_INSTALL` (`ON` by default) to disable installing EVMC targets.
2019-08-07 09:44:46 +00:00
This may be useful when EVMC is included in other project as git submodule or subtree.
2019-11-11 13:15:10 +00:00
[#360](https://github.com/ethereum/evmc/pull/360)
2019-08-07 12:04:16 +00:00
- The `evmc-vmtester` tool received support for EVMC module configuration.
E.g. `evmc-vmtester ./my_vm,mode=interpreter`.
2019-11-11 13:15:10 +00:00
[#366](https://github.com/ethereum/evmc/pull/366)
- In `evmc-vm` Rust crate, `ExecutionResult` now has `success`, `failure` and `revert` helpers.
2019-11-11 13:15:10 +00:00
[#297](https://github.com/ethereum/evmc/pull/297)
[#368](https://github.com/ethereum/evmc/pull/368)
- Introduction of `evmc-declare` Rust crate with a procedural macro for easy VM declaration.
2019-11-11 13:15:10 +00:00
[#262](https://github.com/ethereum/evmc/pull/262)
[#316](https://github.com/ethereum/evmc/pull/316)
- Introduction of `ExecutionMessage` wrapper in the `evmc-vm` Rust crate.
2019-11-11 13:15:10 +00:00
[#324](https://github.com/ethereum/evmc/pull/324)
- Added type aliases and traits on basic types in the `evmc-vm` Rust crate.
2019-11-11 13:15:10 +00:00
[#342](https://github.com/ethereum/evmc/pull/342)
[#343](https://github.com/ethereum/evmc/pull/343)
2019-08-07 12:04:16 +00:00
### Changed
- A lot of documentation fixes, improvements and cleanups.
2019-11-11 13:15:10 +00:00
[#271](https://github.com/ethereum/evmc/pull/271)
[#272](https://github.com/ethereum/evmc/pull/272)
[#276](https://github.com/ethereum/evmc/pull/276)
[#280](https://github.com/ethereum/evmc/pull/280)
[#345](https://github.com/ethereum/evmc/pull/345)
2019-08-07 12:04:16 +00:00
- In C++ API `evmc::result::raw()` renamed to `evmc::result::release_raw()`.
2019-11-11 13:15:10 +00:00
[#293](https://github.com/ethereum/evmc/pull/293)
2019-08-07 12:04:16 +00:00
- In `evmc_load_and_create()` the `error_code` is optional (can be `NULL`).
2019-11-11 13:15:10 +00:00
[#311](https://github.com/ethereum/evmc/pull/311)
2019-08-07 12:04:16 +00:00
### Deprecated
- The usage of `evmc/helpers.hpp` has been deprecated. Use `evmc/evmc.hpp`
2019-07-24 10:57:45 +00:00
which provides the same features.
2019-11-11 13:15:10 +00:00
[#358](https://github.com/ethereum/evmc/pull/358)
2019-08-07 12:04:16 +00:00
- The tracing API has been deprecated as there have been some design flaws discovered.
2019-08-05 15:36:05 +00:00
New API is expected to be introduced in future.
2019-11-11 13:15:10 +00:00
[#376](https://github.com/ethereum/evmc/pull/376)
2019-08-07 12:04:16 +00:00
### Fixed
- The `vmtester` tool now builds with MSVC with `/std:c++17`.
2019-11-11 13:15:10 +00:00
[#261](https://github.com/ethereum/evmc/issues/261)
[#263](https://github.com/ethereum/evmc/pull/263)
2019-08-07 12:04:16 +00:00
- The `evmc_release_result()` helper has been fixed.
2019-11-11 13:15:10 +00:00
[#266](https://github.com/ethereum/evmc/issues/266)
[#279](https://github.com/ethereum/evmc/pull/279)
2019-08-07 12:04:16 +00:00
- The missing include guard in `evmc.hpp` has been fixed.
2019-11-11 13:15:10 +00:00
[#300](https://github.com/ethereum/evmc/pull/300)
2019-08-07 12:04:16 +00:00
- A loaded VM with incompatible ABI version is now properly destroyed.
2019-11-11 13:15:10 +00:00
[#305](https://github.com/ethereum/evmc/issues/305)
[#306](https://github.com/ethereum/evmc/pull/306)
2019-08-07 12:04:16 +00:00
2019-05-06 08:33:11 +00:00
## [6.2.2] - 2019-05-16
2019-08-07 12:04:16 +00:00
### Fixed
- Compilation error of `evmc::result::raw()` in Visual Studio fixed.
2019-11-11 13:15:10 +00:00
[#281](https://github.com/ethereum/evmc/pull/281)
2019-08-07 12:04:16 +00:00
- The `evmc::result`'s move assignment operator fixed.
2019-11-11 13:15:10 +00:00
[#282](https://github.com/ethereum/evmc/pull/282)
## [6.2.1] - 2019-04-29
2019-08-07 12:04:16 +00:00
### Fixed
- Disallow implicit conversion from C++ `evmc::result` to `evmc_result`
causing unintendent premature releasing of resources.
2019-11-11 13:15:10 +00:00
[#256](https://github.com/ethereum/evmc/issues/256)
[#257](https://github.com/ethereum/evmc/issues/257)
2019-08-07 12:04:16 +00:00
## [6.2.0] - 2019-04-25
2019-03-11 22:50:46 +00:00
2019-08-07 12:04:16 +00:00
### Added
- CMake option `EVMC_TEST_TOOLS` to build evmc-vmtester without bothering with internal unit tests.
2019-11-11 13:15:10 +00:00
[#216](https://github.com/ethereum/evmc/pull/216)
2019-08-07 12:04:16 +00:00
- The full C++ EVMC API for both VM and Host implementations.
2019-11-11 13:15:10 +00:00
[#217](https://github.com/ethereum/evmc/pull/217)
[#226](https://github.com/ethereum/evmc/pull/226)
2019-08-07 12:04:16 +00:00
- Initial and rough **bindings for Rust**. It is possible to implement an
2019-04-24 13:58:11 +00:00
EVMC VM in Rust utilising some helpers.
2019-11-11 13:15:10 +00:00
[#201](https://github.com/ethereum/evmc/pull/201)
[#202](https://github.com/ethereum/evmc/pull/202)
[#233](https://github.com/ethereum/evmc/pull/233)
2019-08-07 12:04:16 +00:00
- Handling of DLL loading errors greatly improved by
new `evmc_last_error_msg()` function.
2019-11-11 13:15:10 +00:00
[#230](https://github.com/ethereum/evmc/pull/230)
[#232](https://github.com/ethereum/evmc/pull/232)
2019-08-07 12:04:16 +00:00
### Changed
- The minimum supported GCC version is 6 (bumped from undocumented version 4.8).
2019-11-11 13:15:10 +00:00
[#195](https://github.com/ethereum/evmc/pull/195)
2019-08-07 12:04:16 +00:00
- Go bindings improved by introduction of the `TxContext` struct.
2019-11-11 13:15:10 +00:00
[#197](https://github.com/ethereum/evmc/pull/197)
2019-08-07 12:04:16 +00:00
- A lot improvements to the `evmc-vmtester` tool.
2019-11-11 13:15:10 +00:00
[#221](https://github.com/ethereum/evmc/pull/221)
[#234](https://github.com/ethereum/evmc/pull/234)
[#238](https://github.com/ethereum/evmc/pull/238)
[#241](https://github.com/ethereum/evmc/pull/241)
[#242](https://github.com/ethereum/evmc/pull/242)
2019-08-07 12:04:16 +00:00
- [Cable] upgraded to version 0.2.17.
2019-11-11 13:15:10 +00:00
[#251](https://github.com/ethereum/evmc/pull/251)
2019-08-07 12:04:16 +00:00
### Deprecated
- The `EVMC_CONSTANTINOPLE2` revision name is deprecated, replaced with `EVMC_PETERSBURG`.
2019-11-11 13:15:10 +00:00
[#196](https://github.com/ethereum/evmc/pull/196)
2019-04-24 17:11:45 +00:00
2019-03-11 22:50:46 +00:00
## [6.1.1] - 2019-02-13
2019-08-07 12:04:16 +00:00
### Added
- Documentation of elements of `evmc_revision`.
2019-11-11 13:15:10 +00:00
[#192](https://github.com/ethereum/evmc/pull/192)
2019-08-07 12:04:16 +00:00
### Fixed
- Fixed compilation with GCC 5 because of the "deprecated" attribute applied
to an enum element.
2019-11-11 13:15:10 +00:00
[#190](https://github.com/ethereum/evmc/pull/190)
2019-08-07 12:04:16 +00:00
## [6.1.0] - 2019-01-24
2019-08-07 12:04:16 +00:00
### Added
- The **Istanbul** EVM revision has been added.
2019-11-11 13:15:10 +00:00
[#174](https://github.com/ethereum/evmc/pull/174)
2019-08-07 12:04:16 +00:00
- The `is_zero()` C++ helper for basic data types has been added.
2019-11-11 13:15:10 +00:00
[#182](https://github.com/ethereum/evmc/pull/182)
2019-08-07 12:04:16 +00:00
- Reserved the post-Constantinople EVM revision number.
2019-11-11 13:15:10 +00:00
[#186](https://github.com/ethereum/evmc/pull/186)
2019-08-07 12:04:16 +00:00
- The C++ wrappers for VM and execution result objects have been added.
2019-11-11 13:15:10 +00:00
[#187](https://github.com/ethereum/evmc/pull/187)
2019-08-07 12:04:16 +00:00
### Deprecated
- The `EVMC_LATEST_REVISION` name has been deprecated, replaced with `EVMC_MAX_REVISION`.
2019-11-11 13:15:10 +00:00
[#184](https://github.com/ethereum/evmc/pull/184)
2019-08-07 12:04:16 +00:00
## [6.0.2] - 2019-01-16
2019-01-15 14:05:59 +00:00
2019-08-07 12:04:16 +00:00
### Fixed
- Add missing salt argument for CREATE2 in Host in Go bindings.
2019-11-11 13:15:10 +00:00
[#179](https://github.com/ethereum/evmc/pull/179)
2019-08-07 12:04:16 +00:00
2019-01-15 14:05:59 +00:00
## [6.0.1] - 2018-11-10
2019-08-07 12:04:16 +00:00
### Fixed
- Integration of EVMC as a CMake subproject is easier because
Hunter is not loaded unless building tests (`EVMC_TESTING=ON`) is requested.
2019-11-11 13:15:10 +00:00
[#169](https://github.com/ethereum/evmc/pull/169)
2019-08-07 12:04:16 +00:00
## [6.0.0] - 2018-10-24
2019-08-07 12:04:16 +00:00
### Added
- [EVMC Host implementation example](https://github.com/ethereum/evmc/blob/master/examples/example_host.cpp).
2019-11-11 13:15:10 +00:00
[#116](https://github.com/ethereum/evmc/pull/116)
2019-08-07 12:04:16 +00:00
- Support for Constantinople SSTORE net gas metering.
2019-11-11 13:15:10 +00:00
[#127](https://github.com/ethereum/evmc/pull/127)
2019-08-07 12:04:16 +00:00
- Support for Constantinople CREATE2 salt in Go bindings.
2019-11-11 13:15:10 +00:00
[#133](https://github.com/ethereum/evmc/pull/133)
2019-08-07 12:04:16 +00:00
- A VM can now report its **capabilities** (i.e. EVM and/or ewasm).
2019-11-11 13:15:10 +00:00
[#144](https://github.com/ethereum/evmc/pull/144)
2019-08-07 12:04:16 +00:00
- Introduction of the `evmc_bytes32` type.
2019-11-11 13:15:10 +00:00
[#152](https://github.com/ethereum/evmc/pull/152)
2019-08-07 12:04:16 +00:00
- [EVMC Host implementation guide](https://ethereum.github.io/evmc/hostguide.html).
2019-11-11 13:15:10 +00:00
[#159](https://github.com/ethereum/evmc/pull/159)
2019-08-07 12:04:16 +00:00
- [EVMC VM implementation guide](https://ethereum.github.io/evmc/vmguide.html).
2019-11-11 13:15:10 +00:00
[#160](https://github.com/ethereum/evmc/pull/160)
2019-08-07 12:04:16 +00:00
### Changed
- EVMC loader symbol searching has been generalized.
2019-11-11 13:15:10 +00:00
[#119](https://github.com/ethereum/evmc/pull/119)
2019-08-07 12:04:16 +00:00
- The `evmc_context_fn_table` renamed to `evmc_host_interface`.
2019-11-11 13:15:10 +00:00
[#125](https://github.com/ethereum/evmc/pull/125)
2019-08-07 12:04:16 +00:00
- The `evmc_message` fields reordered.
2019-11-11 13:15:10 +00:00
[#128](https://github.com/ethereum/evmc/pull/128)
2019-08-07 12:04:16 +00:00
- The `evmc_set_option()` now returns more information about the failure cause.
2019-11-11 13:15:10 +00:00
[#136](https://github.com/ethereum/evmc/pull/136)
2019-08-07 12:04:16 +00:00
- In C the `bool` type is used instead of `int` for true/false flags.
2019-11-11 13:15:10 +00:00
[#138](https://github.com/ethereum/evmc/pull/138)
[#140](https://github.com/ethereum/evmc/pull/140)
2019-08-07 12:04:16 +00:00
- Simplification of signatures of Host methods.
2019-11-11 13:15:10 +00:00
[#154](https://github.com/ethereum/evmc/pull/154)
2019-08-07 12:04:16 +00:00
## [5.2.0] - 2018-08-28
2019-08-07 12:04:16 +00:00
### Added
- Use also "evmc_create" function name for loading EVMC DLLs.
2019-11-11 13:15:10 +00:00
[#81](https://github.com/ethereum/evmc/pull/81)
2019-08-07 12:04:16 +00:00
### Changed
- Documentation improvements, including documentation for the VM Tester.
2019-11-11 13:15:10 +00:00
[#97](https://github.com/ethereum/evmc/pull/97)
[#107](https://github.com/ethereum/evmc/pull/107)
2019-08-07 12:04:16 +00:00
### Fixed
- The `evmc.h` header compatibility with C++98 fixed.
2019-11-11 13:15:10 +00:00
[#92](https://github.com/ethereum/evmc/pull/92)
2019-08-07 12:04:16 +00:00
- Compilation and build configuration fixes.
2019-11-11 13:15:10 +00:00
[#93](https://github.com/ethereum/evmc/pull/93)
[#103](https://github.com/ethereum/evmc/pull/103)
2019-08-07 12:04:16 +00:00
2018-08-27 19:02:26 +00:00
## [5.1.0] - 2018-08-23
2018-08-20 10:55:40 +00:00
2019-08-07 12:04:16 +00:00
### Added
- **Go language bindings** for EVMC.
2019-11-11 13:15:10 +00:00
[#41](https://github.com/ethereum/evmc/pull/41)
2019-08-07 12:04:16 +00:00
- New error codes.
2019-11-11 13:15:10 +00:00
[#56](https://github.com/ethereum/evmc/pull/56)
[#62](https://github.com/ethereum/evmc/pull/62)
2019-08-07 12:04:16 +00:00
- More helper functions.
2019-11-11 13:15:10 +00:00
[#67](https://github.com/ethereum/evmc/pull/67)
[#68](https://github.com/ethereum/evmc/pull/68)
[#70](https://github.com/ethereum/evmc/pull/70)
2019-08-07 12:04:16 +00:00
### Changed
- Documentation has been extended.
2019-11-11 13:15:10 +00:00
[#58](https://github.com/ethereum/evmc/pull/58)
2019-08-07 12:04:16 +00:00
- Optional Result Storage helper module has been separated.
2019-11-11 13:15:10 +00:00
[#59](https://github.com/ethereum/evmc/pull/59)
2019-08-07 12:04:16 +00:00
- [Cable] upgraded to 0.2.11.
2019-11-11 13:15:10 +00:00
[#75](https://github.com/ethereum/evmc/pull/75)
2019-08-07 12:04:16 +00:00
- The license changed from MIT to **Apache 2.0**.
2019-11-11 13:15:10 +00:00
[#77](https://github.com/ethereum/evmc/pull/77)
2019-08-07 12:04:16 +00:00
### Fixed
- Go bindings: Properly handle unknown error codes.
2019-11-11 13:15:10 +00:00
[#72](https://github.com/ethereum/evmc/pull/72)
2019-08-07 12:04:16 +00:00
2018-08-20 10:55:40 +00:00
## [5.0.0] - 2018-08-10
2019-08-07 12:04:16 +00:00
### Added
- List of status codes extended and reordered.
2019-11-11 13:15:10 +00:00
[#23](https://github.com/ethereum/evmc/pull/23)
[#24](https://github.com/ethereum/evmc/pull/24)
2019-08-07 12:04:16 +00:00
- VM Tracing API.
2019-11-11 13:15:10 +00:00
[#32](https://github.com/ethereum/evmc/pull/32)
2019-08-07 12:04:16 +00:00
- The support library with **metrics tables for EVM1 instructions**.
2019-11-11 13:15:10 +00:00
[#33](https://github.com/ethereum/evmc/pull/33)
[#34](https://github.com/ethereum/evmc/pull/34)
2019-08-07 12:04:16 +00:00
- Ability to create EVMC CMake package.
2019-11-11 13:15:10 +00:00
[#35](https://github.com/ethereum/evmc/pull/35)
2019-08-07 12:04:16 +00:00
- The loader support library for VM dynamic loading.
2019-11-11 13:15:10 +00:00
[#40](https://github.com/ethereum/evmc/pull/40)
2019-08-07 12:04:16 +00:00
- Constantinople: Support for `CREATE2` instruction.
2019-11-11 13:15:10 +00:00
[#45](https://github.com/ethereum/evmc/pull/45)
2019-08-07 12:04:16 +00:00
- Constantinople: Support for `EXTCODEHASH` instruction.
2019-11-11 13:15:10 +00:00
[#49](https://github.com/ethereum/evmc/pull/49)
2019-08-07 12:04:16 +00:00
- Constantinople: Storage status is reported back from `evmc_set_storage()`.
2019-11-11 13:15:10 +00:00
[#52](https://github.com/ethereum/evmc/pull/52)
2018-08-20 10:55:40 +00:00
[7.0.0]: https://github.com/ethereum/evmc/releases/tag/v7.0.0
[6.3.1]: https://github.com/ethereum/evmc/releases/tag/v6.3.1
[6.3.0]: https://github.com/ethereum/evmc/releases/tag/v6.3.0
[6.2.2]: https://github.com/ethereum/evmc/releases/tag/v6.2.2
2019-05-06 08:33:11 +00:00
[6.2.1]: https://github.com/ethereum/evmc/releases/tag/v6.2.1
[6.2.0]: https://github.com/ethereum/evmc/releases/tag/v6.2.0
[6.1.1]: https://github.com/ethereum/evmc/releases/tag/v6.1.1
[6.1.0]: https://github.com/ethereum/evmc/releases/tag/v6.1.0
[6.0.2]: https://github.com/ethereum/evmc/releases/tag/v6.0.2
[6.0.1]: https://github.com/ethereum/evmc/releases/tag/v6.0.1
[6.0.0]: https://github.com/ethereum/evmc/releases/tag/v6.0.0
[5.2.0]: https://github.com/ethereum/evmc/releases/tag/v5.2.0
[5.1.0]: https://github.com/ethereum/evmc/releases/tag/v5.1.0
2019-04-24 17:13:36 +00:00
[5.0.0]: https://github.com/ethereum/evmc/releases/tag/v5.0.0
2019-08-07 12:04:16 +00:00
[Cable]: https://github.com/ethereum/cable
[Keep a Changelog]: https://keepachangelog.com/en/1.0.0/
[Semantic Versioning]: https://semver.org