mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Forward-port 0.4.26 release notes and update bug list.
This commit is contained in:
parent
39d153b7a1
commit
ecb8dfb26c
14
Changelog.md
14
Changelog.md
@ -410,6 +410,20 @@ Bugfixes:
|
|||||||
* Parser: Fix incorrect source location for nameless parameters.
|
* Parser: Fix incorrect source location for nameless parameters.
|
||||||
* Command Line Interface: Fix internal error when compiling stdin with no content and --ast option.
|
* Command Line Interface: Fix internal error when compiling stdin with no content and --ast option.
|
||||||
|
|
||||||
|
|
||||||
|
### 0.4.26 (2019-04-29)
|
||||||
|
|
||||||
|
Important Bugfixes:
|
||||||
|
* Code Generator: Fix initialization routine of uninitialized internal function pointers in constructor context.
|
||||||
|
* Type System: Use correct type name for contracts in event parameters when used in libraries. This affected code generation.
|
||||||
|
|
||||||
|
Bugfixes:
|
||||||
|
* ABIEncoderV2: Refuse to generate code that is known to be potentially buggy.
|
||||||
|
* General: Split rule list such that JavaScript environments with small stacks can use the compiler.
|
||||||
|
|
||||||
|
Note: The above changes are not included in 0.5.0, because they were backported.
|
||||||
|
|
||||||
|
|
||||||
### 0.4.25 (2018-09-12)
|
### 0.4.25 (2018-09-12)
|
||||||
|
|
||||||
Important Bugfixes:
|
Important Bugfixes:
|
||||||
|
@ -3,30 +3,58 @@
|
|||||||
"name": "UninitializedFunctionPointerInConstructor",
|
"name": "UninitializedFunctionPointerInConstructor",
|
||||||
"summary": "Calling uninitialized internal function pointers created in the constructor does not always revert and can cause unexpected behaviour.",
|
"summary": "Calling uninitialized internal function pointers created in the constructor does not always revert and can cause unexpected behaviour.",
|
||||||
"description": "Uninitialized internal function pointers point to a special piece of code that causes a revert when called. Jump target positions are different during construction and after deployment, but the code for setting this special jump target only considered the situation after deployment.",
|
"description": "Uninitialized internal function pointers point to a special piece of code that causes a revert when called. Jump target positions are different during construction and after deployment, but the code for setting this special jump target only considered the situation after deployment.",
|
||||||
"introduced": "0.4.5",
|
"introduced": "0.5.0",
|
||||||
"fixed": "0.5.8",
|
"fixed": "0.5.8",
|
||||||
"severity": "very low"
|
"severity": "very low"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
|
"summary": "Calling uninitialized internal function pointers created in the constructor does not always revert and can cause unexpected behaviour.",
|
||||||
|
"description": "Uninitialized internal function pointers point to a special piece of code that causes a revert when called. Jump target positions are different during construction and after deployment, but the code for setting this special jump target only considered the situation after deployment.",
|
||||||
|
"introduced": "0.4.5",
|
||||||
|
"fixed": "0.4.26",
|
||||||
|
"severity": "very low"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "IncorrectEventSignatureInLibraries",
|
"name": "IncorrectEventSignatureInLibraries",
|
||||||
"summary": "Contract types used in events in libraries cause an incorrect event signature hash",
|
"summary": "Contract types used in events in libraries cause an incorrect event signature hash",
|
||||||
"description": "Instead of using the type `address` in the hashed signature, the actual contract name was used, leading to a wrong hash in the logs.",
|
"description": "Instead of using the type `address` in the hashed signature, the actual contract name was used, leading to a wrong hash in the logs.",
|
||||||
"introduced": "0.3.0",
|
"introduced": "0.5.0",
|
||||||
"fixed": "0.5.8",
|
"fixed": "0.5.8",
|
||||||
"severity": "very low"
|
"severity": "very low"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
|
"summary": "Contract types used in events in libraries cause an incorrect event signature hash",
|
||||||
|
"description": "Instead of using the type `address` in the hashed signature, the actual contract name was used, leading to a wrong hash in the logs.",
|
||||||
|
"introduced": "0.3.0",
|
||||||
|
"fixed": "0.4.26",
|
||||||
|
"severity": "very low"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "ABIEncoderV2PackedStorage",
|
"name": "ABIEncoderV2PackedStorage",
|
||||||
"summary": "Storage structs and arrays with types shorter than 32 bytes can cause data corruption if encoded directly from storage using the experimental ABIEncoderV2.",
|
"summary": "Storage structs and arrays with types shorter than 32 bytes can cause data corruption if encoded directly from storage using the experimental ABIEncoderV2.",
|
||||||
"description": "Elements of structs and arrays that are shorter than 32 bytes are not properly decoded from storage when encoded directly (i.e. not via a memory type) using ABIEncoderV2. This can cause corruption in the values themselves but can also overwrite other parts of the encoded data.",
|
"description": "Elements of structs and arrays that are shorter than 32 bytes are not properly decoded from storage when encoded directly (i.e. not via a memory type) using ABIEncoderV2. This can cause corruption in the values themselves but can also overwrite other parts of the encoded data.",
|
||||||
"link": "https://blog.ethereum.org/2019/03/26/solidity-optimizer-and-abiencoderv2-bug/",
|
"link": "https://blog.ethereum.org/2019/03/26/solidity-optimizer-and-abiencoderv2-bug/",
|
||||||
"introduced": "0.4.19",
|
"introduced": "0.5.0",
|
||||||
"fixed": "0.5.7",
|
"fixed": "0.5.7",
|
||||||
"severity": "low",
|
"severity": "low",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"ABIEncoderV2": true
|
"ABIEncoderV2": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "ABIEncoderV2PackedStorage_0.4.x",
|
||||||
|
"summary": "Storage structs and arrays with types shorter than 32 bytes can cause data corruption if encoded directly from storage using the experimental ABIEncoderV2.",
|
||||||
|
"description": "Elements of structs and arrays that are shorter than 32 bytes are not properly decoded from storage when encoded directly (i.e. not via a memory type) using ABIEncoderV2. This can cause corruption in the values themselves but can also overwrite other parts of the encoded data.",
|
||||||
|
"link": "https://blog.ethereum.org/2019/03/26/solidity-optimizer-and-abiencoderv2-bug/",
|
||||||
|
"introduced": "0.4.19",
|
||||||
|
"fixed": "0.4.26",
|
||||||
|
"severity": "low",
|
||||||
|
"conditions": {
|
||||||
|
"ABIEncoderV2": true
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "IncorrectByteInstructionOptimization",
|
"name": "IncorrectByteInstructionOptimization",
|
||||||
"summary": "The optimizer incorrectly handles byte opcodes whose second argument is 31 or a constant expression that evaluates to 31. This can result in unexpected values.",
|
"summary": "The optimizer incorrectly handles byte opcodes whose second argument is 31 or a constant expression that evaluates to 31. This can result in unexpected values.",
|
||||||
|
@ -211,7 +211,7 @@
|
|||||||
},
|
},
|
||||||
"0.3.0": {
|
"0.3.0": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -232,7 +232,7 @@
|
|||||||
},
|
},
|
||||||
"0.3.1": {
|
"0.3.1": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -252,7 +252,7 @@
|
|||||||
},
|
},
|
||||||
"0.3.2": {
|
"0.3.2": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -272,7 +272,7 @@
|
|||||||
},
|
},
|
||||||
"0.3.3": {
|
"0.3.3": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -291,7 +291,7 @@
|
|||||||
},
|
},
|
||||||
"0.3.4": {
|
"0.3.4": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -310,7 +310,7 @@
|
|||||||
},
|
},
|
||||||
"0.3.5": {
|
"0.3.5": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -329,7 +329,7 @@
|
|||||||
},
|
},
|
||||||
"0.3.6": {
|
"0.3.6": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -346,7 +346,7 @@
|
|||||||
},
|
},
|
||||||
"0.4.0": {
|
"0.4.0": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -363,7 +363,7 @@
|
|||||||
},
|
},
|
||||||
"0.4.1": {
|
"0.4.1": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -380,8 +380,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.10": {
|
"0.4.10": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -394,8 +394,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.11": {
|
"0.4.11": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -407,8 +407,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.12": {
|
"0.4.12": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -419,8 +419,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.13": {
|
"0.4.13": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -431,8 +431,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.14": {
|
"0.4.14": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -442,8 +442,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.15": {
|
"0.4.15": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector"
|
"ZeroFunctionSelector"
|
||||||
@ -452,8 +452,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.16": {
|
"0.4.16": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector"
|
"ZeroFunctionSelector"
|
||||||
@ -462,8 +462,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.17": {
|
"0.4.17": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"EventStructWrongData",
|
"EventStructWrongData",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
@ -473,8 +473,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.18": {
|
"0.4.18": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"EventStructWrongData",
|
"EventStructWrongData",
|
||||||
"NestedArrayFunctionCallDecoder"
|
"NestedArrayFunctionCallDecoder"
|
||||||
@ -483,9 +483,9 @@
|
|||||||
},
|
},
|
||||||
"0.4.19": {
|
"0.4.19": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ABIEncoderV2PackedStorage",
|
"ABIEncoderV2PackedStorage_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"EventStructWrongData",
|
"EventStructWrongData",
|
||||||
"NestedArrayFunctionCallDecoder"
|
"NestedArrayFunctionCallDecoder"
|
||||||
@ -494,7 +494,7 @@
|
|||||||
},
|
},
|
||||||
"0.4.2": {
|
"0.4.2": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -510,9 +510,9 @@
|
|||||||
},
|
},
|
||||||
"0.4.20": {
|
"0.4.20": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ABIEncoderV2PackedStorage",
|
"ABIEncoderV2PackedStorage_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"EventStructWrongData",
|
"EventStructWrongData",
|
||||||
"NestedArrayFunctionCallDecoder"
|
"NestedArrayFunctionCallDecoder"
|
||||||
@ -521,9 +521,9 @@
|
|||||||
},
|
},
|
||||||
"0.4.21": {
|
"0.4.21": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ABIEncoderV2PackedStorage",
|
"ABIEncoderV2PackedStorage_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"EventStructWrongData",
|
"EventStructWrongData",
|
||||||
"NestedArrayFunctionCallDecoder"
|
"NestedArrayFunctionCallDecoder"
|
||||||
@ -532,9 +532,9 @@
|
|||||||
},
|
},
|
||||||
"0.4.22": {
|
"0.4.22": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ABIEncoderV2PackedStorage",
|
"ABIEncoderV2PackedStorage_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"EventStructWrongData",
|
"EventStructWrongData",
|
||||||
"OneOfTwoConstructorsSkipped"
|
"OneOfTwoConstructorsSkipped"
|
||||||
@ -543,9 +543,9 @@
|
|||||||
},
|
},
|
||||||
"0.4.23": {
|
"0.4.23": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ABIEncoderV2PackedStorage",
|
"ABIEncoderV2PackedStorage_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"EventStructWrongData"
|
"EventStructWrongData"
|
||||||
],
|
],
|
||||||
@ -553,9 +553,9 @@
|
|||||||
},
|
},
|
||||||
"0.4.24": {
|
"0.4.24": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ABIEncoderV2PackedStorage",
|
"ABIEncoderV2PackedStorage_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"EventStructWrongData"
|
"EventStructWrongData"
|
||||||
],
|
],
|
||||||
@ -563,15 +563,19 @@
|
|||||||
},
|
},
|
||||||
"0.4.25": {
|
"0.4.25": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ABIEncoderV2PackedStorage"
|
"ABIEncoderV2PackedStorage_0.4.x"
|
||||||
],
|
],
|
||||||
"released": "2018-09-12"
|
"released": "2018-09-12"
|
||||||
},
|
},
|
||||||
|
"0.4.26": {
|
||||||
|
"bugs": [],
|
||||||
|
"released": "2019-04-29"
|
||||||
|
},
|
||||||
"0.4.3": {
|
"0.4.3": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -586,7 +590,7 @@
|
|||||||
},
|
},
|
||||||
"0.4.4": {
|
"0.4.4": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -600,8 +604,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.5": {
|
"0.4.5": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -616,8 +620,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.6": {
|
"0.4.6": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -631,8 +635,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.7": {
|
"0.4.7": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -645,8 +649,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.8": {
|
"0.4.8": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
@ -659,8 +663,8 @@
|
|||||||
},
|
},
|
||||||
"0.4.9": {
|
"0.4.9": {
|
||||||
"bugs": [
|
"bugs": [
|
||||||
"UninitializedFunctionPointerInConstructor",
|
"UninitializedFunctionPointerInConstructor_0.4.x",
|
||||||
"IncorrectEventSignatureInLibraries",
|
"IncorrectEventSignatureInLibraries_0.4.x",
|
||||||
"ExpExponentCleanup",
|
"ExpExponentCleanup",
|
||||||
"NestedArrayFunctionCallDecoder",
|
"NestedArrayFunctionCallDecoder",
|
||||||
"ZeroFunctionSelector",
|
"ZeroFunctionSelector",
|
||||||
|
Loading…
Reference in New Issue
Block a user