Changelog entry and bug list.

This commit is contained in:
chriseth 2018-09-04 16:55:45 +02:00
parent eb7978d631
commit be713ed117
3 changed files with 58 additions and 7 deletions

View File

@ -1,6 +1,7 @@
### 0.4.25 (unreleased)
Bugfixes:
Important Bugfixes:
* Code Generator: Properly perform cleanup for exponentiation and non-256 bit types.
* Type Checker: Report error when using indexed structs in events with experimental ABIEncoderV2. This used to log wrong values.
* Type Checker: Report error when using structs in events without experimental ABIEncoderV2. This used to crash or log the wrong values.
* Parser: Treat unicode line endings as terminating strings and single-line comments.

View File

@ -7,6 +7,13 @@
"fixed": "0.4.25",
"severity": "very low"
},
{
"name": "ExpCleanupZero",
"summary": "Using exponentiating with types shorter than 256 bits and zero as base can result in unexpected values.",
"description": "As defined by the EVM, 0 ** 0 is one. Solidity does not always remove dirty higher order bits of types that are smaller than 256 bits before applying an operation because it does not matter if the cleanup is performed before or after the operation. This is true for EXP except for the case where the base is zero, which was overlooked.",
"fixed": "0.4.25",
"severity": "high"
},
{
"name": "OneOfTwoConstructorsSkipped",
"summary": "If a contract has both a new-style constructor (using the constructor keyword) and an old-style constructor (a function with the same name as the contract) at the same time, one of them will be ignored.",

View File

@ -1,6 +1,7 @@
{
"0.1.0": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"ECRecoverMalformedInput",
"SkipEmptyStringLiteral",
@ -18,6 +19,7 @@
},
"0.1.1": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"ECRecoverMalformedInput",
"SkipEmptyStringLiteral",
@ -35,6 +37,7 @@
},
"0.1.2": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"ECRecoverMalformedInput",
"SkipEmptyStringLiteral",
@ -52,6 +55,7 @@
},
"0.1.3": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"ECRecoverMalformedInput",
"SkipEmptyStringLiteral",
@ -69,6 +73,7 @@
},
"0.1.4": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"ECRecoverMalformedInput",
"SkipEmptyStringLiteral",
@ -86,6 +91,7 @@
},
"0.1.5": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"ECRecoverMalformedInput",
"SkipEmptyStringLiteral",
@ -103,6 +109,7 @@
},
"0.1.6": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"ECRecoverMalformedInput",
"SkipEmptyStringLiteral",
@ -121,6 +128,7 @@
},
"0.1.7": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"ECRecoverMalformedInput",
"SkipEmptyStringLiteral",
@ -139,6 +147,7 @@
},
"0.2.0": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"ECRecoverMalformedInput",
"SkipEmptyStringLiteral",
@ -157,6 +166,7 @@
},
"0.2.1": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"ECRecoverMalformedInput",
"SkipEmptyStringLiteral",
@ -175,6 +185,7 @@
},
"0.2.2": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"ECRecoverMalformedInput",
"SkipEmptyStringLiteral",
@ -193,6 +204,7 @@
},
"0.3.0": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -211,6 +223,7 @@
},
"0.3.1": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -228,6 +241,7 @@
},
"0.3.2": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -245,6 +259,7 @@
},
"0.3.3": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -261,6 +276,7 @@
},
"0.3.4": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -277,6 +293,7 @@
},
"0.3.5": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -293,6 +310,7 @@
},
"0.3.6": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -307,6 +325,7 @@
},
"0.4.0": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -321,6 +340,7 @@
},
"0.4.1": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -335,6 +355,7 @@
},
"0.4.10": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -345,6 +366,7 @@
},
"0.4.11": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -354,6 +376,7 @@
},
"0.4.12": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput"
@ -362,6 +385,7 @@
},
"0.4.13": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput"
@ -370,6 +394,7 @@
},
"0.4.14": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue"
],
@ -377,12 +402,14 @@
},
"0.4.15": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector"
],
"released": "2017-08-08"
},
"0.4.16": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector"
],
"released": "2017-08-24"
@ -390,24 +417,28 @@
"0.4.17": {
"bugs": [
"EventStructWrongData",
"ExpCleanupZero",
"ZeroFunctionSelector"
],
"released": "2017-09-21"
},
"0.4.18": {
"bugs": [
"EventStructWrongData"
"EventStructWrongData",
"ExpCleanupZero"
],
"released": "2017-10-18"
},
"0.4.19": {
"bugs": [
"EventStructWrongData"
"EventStructWrongData",
"ExpCleanupZero"
],
"released": "2017-11-30"
},
"0.4.2": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -421,37 +452,43 @@
},
"0.4.20": {
"bugs": [
"EventStructWrongData"
"EventStructWrongData",
"ExpCleanupZero"
],
"released": "2018-02-14"
},
"0.4.21": {
"bugs": [
"EventStructWrongData"
"EventStructWrongData",
"ExpCleanupZero"
],
"released": "2018-03-07"
},
"0.4.22": {
"bugs": [
"EventStructWrongData",
"ExpCleanupZero",
"OneOfTwoConstructorsSkipped"
],
"released": "2018-04-16"
},
"0.4.23": {
"bugs": [
"EventStructWrongData"
"EventStructWrongData",
"ExpCleanupZero"
],
"released": "2018-04-19"
},
"0.4.24": {
"bugs": [
"EventStructWrongData"
"EventStructWrongData",
"ExpCleanupZero"
],
"released": "2018-05-16"
},
"0.4.3": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -464,6 +501,7 @@
},
"0.4.4": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -475,6 +513,7 @@
},
"0.4.5": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -487,6 +526,7 @@
},
"0.4.6": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -498,6 +538,7 @@
},
"0.4.7": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -508,6 +549,7 @@
},
"0.4.8": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",
@ -518,6 +560,7 @@
},
"0.4.9": {
"bugs": [
"ExpCleanupZero",
"ZeroFunctionSelector",
"DelegateCallReturnValue",
"ECRecoverMalformedInput",