Skip to content

v1.4.0

Choose a tag to compare

@paritytech-revive-release paritytech-revive-release released this 11 Jul 08:43
ca3c770

Changelog

Supported polkadot-sdk rev: 2604.2.0

Added

  • Support for solc v0.8.36 and the "Amsterdam" EVM version.

Fixed

  • Restored the top-level revive_version field in --standard-json output and the resolc_version field in --combined-json output, both of which stopped being populated in v0.4.0. #557
  • ICE triggered by --disable-solc-optimizer --newyork where inlined loops could emit an unterminated basic block in the inlined entrypoint. #561
  • --newyork: dead-store elimination could drop a store whose memory expansion an intervening msize() observes, so msize() read a stale (unexpanded) value. #565
  • --newyork: dead-store elimination could drop a store that a later overlapping unaligned mload reads, returning zeroed memory instead of the stored bytes. #563
  • --newyork: an unaligned full-word mload/mstore overlapping a word kept native (little-endian) by the heap optimization returned byte-swapped bytes. #562
  • --newyork: a calldatacopy/codecopy/returndatacopy to a dynamic destination that could overwrite the free-memory-pointer word truncated a subsequent mload(0x40) to 0. #564
  • --newyork: a full-width value stored to the free-memory-pointer slot (e.g. a function parameter >= 2^64) was narrowed to 64 bits, inserting a checked truncation that consumed all gas. #567
  • --newyork: an unaligned mstore corrupting the free-memory-pointer word let a later store through the corrupted pointer silently succeed where EVM runs out of gas. #566
  • Fixed a bytecode divergence (yet functionally equivalent) between the resolc Linux/macOS builds and the Windows build for contracts with loops indexing array elements at constant offsets from a uint8 loop variable (e.g. array[i]/array[i + 1]), compiled with --newyork at -Oz with the solc optimizer disabled. #570

Note for macOS Users

The macOS binary is unsigned and it needs to be made runnable using xattr -c resolc-universal-apple-darwin.