Merge pull request #3891 from ethereum/prepareForRelease

Preparation for 0.4.22 release.
This commit is contained in:
chriseth 2018-04-16 19:52:20 +02:00 committed by GitHub
commit 923d1b4c04
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 6 deletions

View File

@ -1,14 +1,18 @@
### 0.4.22 (unreleased) ### 0.4.22 (2018-04-16)
Features: Features:
* Code Generator: Initialize arrays without using ``msize()``. * Code Generator: Initialize arrays without using ``msize()``.
* Code Generator: More specialized and thus optimized implementation for ``x.push(...)`` * Code Generator: More specialized and thus optimized implementation for ``x.push(...)``
* Commandline interface: Error when missing or inaccessible file detected. Suppress it with the ``--ignore-missing`` flag. * Commandline interface: Error when missing or inaccessible file detected. Suppress it with the ``--ignore-missing`` flag.
* Constant Evaluator: Fix evaluation of single element tuples. * Constant Evaluator: Fix evaluation of single element tuples.
* General: Add encoding routines ``abi.encodePacked``, ``abi.encode``, ``abi.encodeWithSelector`` and ``abi.encodeWithSignature``.
* General: Add global function ``gasleft()`` and deprecate ``msg.gas``.
* General: Add global function ``blockhash(uint)`` and deprecate ``block.hash(uint)``.
* General: Allow providing reason string for ``revert()`` and ``require()``. * General: Allow providing reason string for ``revert()`` and ``require()``.
* General: Limit the number of errors output in a single run to 256. * General: Limit the number of errors output in a single run to 256.
* General: Support accessing dynamic return data in post-byzantium EVMs. * General: Support accessing dynamic return data in post-byzantium EVMs.
* General: Add encoding routines ``abi.encodePacked``, ``abi.encode``, ``abi.encodeWithSelector`` and ``abi.encodeWithSignature``. * Inheritance: Error when using empty parentheses for base class constructors that require arguments as experimental 0.5.0 feature.
* Inheritance: Error when using no parentheses in modifier-style constructor calls as experimental 0.5.0 feature.
* Interfaces: Allow overriding external functions in interfaces with public in an implementing contract. * Interfaces: Allow overriding external functions in interfaces with public in an implementing contract.
* Optimizer: Optimize ``SHL`` and ``SHR`` only involving constants (Constantinople only). * Optimizer: Optimize ``SHL`` and ``SHR`` only involving constants (Constantinople only).
* Optimizer: Remove useless ``SWAP1`` instruction preceding a commutative instruction (such as ``ADD``, ``MUL``, etc). * Optimizer: Remove useless ``SWAP1`` instruction preceding a commutative instruction (such as ``ADD``, ``MUL``, etc).
@ -20,8 +24,7 @@ Features:
* Syntax Tests: Add source locations to syntax test expectations. * Syntax Tests: Add source locations to syntax test expectations.
* Type Checker: Improve documentation and warnings for accessing contract members inherited from ``address``. * Type Checker: Improve documentation and warnings for accessing contract members inherited from ``address``.
* General: Introduce new constructor syntax using the ``constructor`` keyword as experimental 0.5.0 feature. * General: Introduce new constructor syntax using the ``constructor`` keyword as experimental 0.5.0 feature.
* Inheritance: Error when using empty parentheses for base class constructors that require arguments as experimental 0.5.0 feature.
* Inheritance: Error when using no parentheses in modifier-style constructor calls as experimental 0.5.0 feature.
Bugfixes: Bugfixes:
* Code Generator: Allow ``block.blockhash`` without being called. * Code Generator: Allow ``block.blockhash`` without being called.
@ -39,14 +42,14 @@ Bugfixes:
* Parser: Fix internal compiler error when parsing ``var`` declaration without identifier. * Parser: Fix internal compiler error when parsing ``var`` declaration without identifier.
* Parser: Fix parsing of getters for function type variables. * Parser: Fix parsing of getters for function type variables.
* Standard JSON: Support ``constantinople`` as ``evmVersion`` properly. * Standard JSON: Support ``constantinople`` as ``evmVersion`` properly.
* Static Analyzer: Fix non-deterministic order of unused variable warnings.
* Static Analyzer: Invalid arithmetic with constant expressions causes errors.
* Type Checker: Fix detection of recursive structs. * Type Checker: Fix detection of recursive structs.
* Type Checker: Fix asymmetry bug when comparing with literal numbers. * Type Checker: Fix asymmetry bug when comparing with literal numbers.
* Type System: Improve error message when attempting to shift by a fractional amount. * Type System: Improve error message when attempting to shift by a fractional amount.
* Type System: Make external library functions accessible. * Type System: Make external library functions accessible.
* Type System: Prevent encoding of weird types. * Type System: Prevent encoding of weird types.
* Type System: Restrict rational numbers to 4096 bits. * Type System: Restrict rational numbers to 4096 bits.
* Static Analyzer: Fix non-deterministic order of unused variable warnings.
* Static Analyzer: Invalid arithmetic with constant expressions causes errors.
### 0.4.21 (2018-03-07) ### 0.4.21 (2018-03-07)

View File

@ -422,6 +422,10 @@
"bugs": [], "bugs": [],
"released": "2018-03-07" "released": "2018-03-07"
}, },
"0.4.22": {
"bugs": [],
"released": "2018-04-16"
},
"0.4.3": { "0.4.3": {
"bugs": [ "bugs": [
"ZeroFunctionSelector", "ZeroFunctionSelector",