Skip to content

0.6.0_GreatVoyage_v4.1.2

Compare
Choose a tag to compare
@Lredhdx Lredhdx released this 19 Jan 15:10
· 2365 commits to master_0.6.x since this release
5d5a877

New Features

  • Update to version 0.6.0 in TVM TIP-209.
  • New reserved keywords: virtual, override and receive.
  • Introduce virtual and override keywords and private cannot be used together with virtual.
  • Abstract contracts need to be marked explicitly as abstract by using the abstract keyword.
  • Split unnamed fallback functions into two cases defined using fallback() and receive().
  • Introduce try/catch-statement (revert and require 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 to address payable via payable(...).
  • Disallow explicit conversions from external function types to address and add a member called address to them as replacement.

Changes

  • ABI: Remove the deprecated constant and payable fields.
  • ABI: The type field is now required and no longer specified to default to function.
  • 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 the settings.debug.revertStrings setting.
  • Do not warn about enabled ABIEncoderV2 anymore (the pragma is still needed, though).