Skip to content

v1.5.3

Choose a tag to compare

@github-actions github-actions released this 06 Nov 14:18
· 28 commits to main since this release
  • Introducing --relax-jumps CLI flag to optimize jump instructions from PUSH2 to PUSH1.
    • Optimizes jump instructions from PUSH2 to PUSH1 when jump targets are 0-255.
    • Reduces deployment gas costs, but will not affect runtime gas costs.
  • Removed unimplemented --optimize flag.
  • Fix parser bug where for loops and if/else statements after labels were rejected.
  • Allow for, if, and else to be used as label names.
  • Add parser support for <arg> in if/for expressions (fixes #129).
    • Example: if (<MODE> == 0x01) { ... }
  • Add support for builtin functions as macro arguments (fixes #130).
    • Builtin functions can now be passed as macro arguments: __FUNC_SIG, __EVENT_HASH, __BYTES, __RIGHTPAD.
    • Example: MACRO(__FUNC_SIG(transfer))
  • Reject macros names that are equal to reserved builtin function names (fixes #131).
  • Fix stack overflow and argument resolution errors in nested macro invocations with labels (fixes #133).
    • Example: M2(M3(<arg>)) followed by a label now compiles without errors.
  • Add Windows ARM64 (aarch64-pc-windows-msvc) binary to release targets.