mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Merge pull request #9717 from ethereum/prepare071
Prepare release of 0.7.1.
This commit is contained in:
		
						commit
						840791a470
					
				
							
								
								
									
										24
									
								
								Changelog.md
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								Changelog.md
									
									
									
									
									
								
							| @ -1,4 +1,4 @@ | ||||
| ### 0.7.1 (unreleased) | ||||
| ### 0.7.1 (2020-09-02) | ||||
| 
 | ||||
| Language Features: | ||||
|  * Allow function definitions outside of contracts, behaving much like internal library functions. | ||||
| @ -6,16 +6,19 @@ Language Features: | ||||
| 
 | ||||
| Compiler Features: | ||||
|  * SMTChecker: Add underflow and overflow as verification conditions in the CHC engine. | ||||
|  * Standard JSON Interface: Do not run EVM bytecode code generation, if only Yul IR or EWasm output is requested. | ||||
|  * Yul: Report error when using non-string literals for ``datasize()``, ``dataoffset()``, ``linkersymbol()``, ``loadimmutable()``, ``setimmutable()``. | ||||
|  * Yul Optimizer: LoopInvariantCodeMotion can move reading operations outside for-loops as long as the affected area is not modified inside the loop. | ||||
|  * SMTChecker: Support conditional operator. | ||||
|  * SMTChecker: Support bitwise or, xor and not operators. | ||||
|  * SMTChecker: Support conditional operator. | ||||
|  * Standard JSON Interface: Do not run EVM bytecode code generation, if only Yul IR or EWasm output is requested. | ||||
|  * Yul Optimizer: LoopInvariantCodeMotion can move reading operations outside for-loops as long as the affected area is not modified inside the loop. | ||||
|  * Yul: Report error when using non-string literals for ``datasize()``, ``dataoffset()``, ``linkersymbol()``, ``loadimmutable()``, ``setimmutable()``. | ||||
| 
 | ||||
| Bugfixes: | ||||
|  * AST: Remove ``null`` member values also when the compiler is used in standard-json-mode. | ||||
|  * General: Allow `type(Contract).name` for abstract contracts and interfaces. | ||||
|  * Immutables: Disallow assigning immutables more than once during their declaration. | ||||
|  * Immutables: Properly treat complex assignment and increment/decrement as both reading and writing and thus disallow it everywhere for immutable variables. | ||||
|  * Optimizer: Keep side-effects of ``x`` in ``byte(a, shr(b, x))`` even if the constants ``a`` and ``b`` would make the expression zero unconditionally. This optimizer rule is very hard if not impossible to trigger in a way that it can result in invalid code, though. | ||||
|  * References Resolver: Fix internal bug when using constructor for library. | ||||
|  * Scanner: Fix bug where whitespace would be allowed within the ``->`` token (e.g. ``function f() -   > x {}`` becomes invalid in inline assembly and Yul). | ||||
|  * SMTChecker: Fix internal error in BMC function inlining. | ||||
|  * SMTChecker: Fix internal error on array implicit conversion. | ||||
| @ -24,14 +27,11 @@ Bugfixes: | ||||
|  * SMTChecker: Fix internal error on tuple assignment. | ||||
|  * SMTChecker: Fix internal error on tuples of one element that have tuple type. | ||||
|  * SMTChecker: Fix soundness of array ``pop``. | ||||
|  * References Resolver: Fix internal bug when using constructor for library. | ||||
|  * Yul Optimizer: Make function inlining order more resilient to whether or not unrelated source files are present. | ||||
|  * Yul Optimizer: Ensure that Yul keywords are not mistakenly used by the NameDispenser and VarNameCleaners. The bug would manifest as uncompilable code. | ||||
|  * Type Checker: Disallow signed literals as exponent in exponentiation operator. | ||||
|  * Allow `type(Contract).name` for abstract contracts and interfaces. | ||||
|  * Type Checker: Disallow structs containing nested mapping in memory as parameters for library functions. | ||||
|  * Type Checker: Disallow ``using for`` directive inside interfaces. | ||||
|  * Immutables: Disallow assigning immutables more than once during their declaration. | ||||
|  * Type Checker: Disallow signed literals as exponent in exponentiation operator. | ||||
|  * Type Checker: Disallow structs containing nested mapping in memory as parameters for library functions. | ||||
|  * Yul Optimizer: Ensure that Yul keywords are not mistakenly used by the NameDispenser and VarNameCleaners. The bug would manifest as uncompilable code. | ||||
|  * Yul Optimizer: Make function inlining order more resilient to whether or not unrelated source files are present. | ||||
| 
 | ||||
| 
 | ||||
| ### 0.7.0 (2020-07-28) | ||||
|  | ||||
| @ -1185,5 +1185,9 @@ | ||||
|     "0.7.0": { | ||||
|         "bugs": [], | ||||
|         "released": "2020-07-28" | ||||
|     }, | ||||
|     "0.7.1": { | ||||
|         "bugs": [], | ||||
|         "released": "2020-09-02" | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user