0.6.0_GreatVoyage_v4.1.2
Lredhdx
released this
19 Jan 15:10
·
2365 commits
to master_0.6.x
since this release
New Features
- Update to version 0.6.0 in TVM TIP-209.
- New reserved keywords:
virtual
,override
andreceive
. - Introduce
virtual
andoverride
keywords andprivate
cannot be used together withvirtual
. - Abstract contracts need to be marked explicitly as abstract by using the
abstract
keyword. - Split unnamed fallback functions into two cases defined using
fallback()
andreceive()
. - Introduce
try
/catch
-statement (revert
andrequire
can be caught now, others will be supported soon). - Introduce
push()
for dynamic storage arrays. It returns a reference to the newly allocated element, if applicable. - Allow explicit conversions from
address
toaddress payable
viapayable(...)
. - Disallow explicit conversions from external function types to
address
and add a member calledaddress
to them as replacement.
Changes
- ABI: Remove the deprecated
constant
andpayable
fields. - ABI: The
type
field is now required and no longer specified to default tofunction
. - Modify
push(element)
for dynamic storage arrays such that it does not return the new length anymore. length
member of arrays is now always read-only, even for storage arrays.- Enable Yul optimizer as part of standard optimization.
Compiler Features:
- Allow revert strings to be stripped from the binary using the
--revert-strings
option or thesettings.debug.revertStrings
setting. - Do not warn about enabled ABIEncoderV2 anymore (the pragma is still needed, though).