Skip to content

v4.0.0

Latest
Compare
Choose a tag to compare
@daniel-makerx daniel-makerx released this 14 Nov 03:31
· 10 commits to main since this release

v4.0.0 (2024-11-14)

Breaking

  • raise an error when attempting to iterate a tuple of mutable values (43a364e)

    BREAKING CHANGE: iterating a tuple of mutable types will now raise an error as they cannot be copied

  • passing a mutable value more than once to a subroutine will now raise an error as allowing it would break semantic compatability (dac51be)

    BREAKING CHANGE: passing a mutable value more than once to a subroutine causes an error

  • raise an error when attempting to modify immutable arrays such as algopy.arc4.Address (9450c7a)

    BREAKING CHANGE: modifying an algopy.arc4.Address will now raise an error

Feature

  • use extract3 instead of substring3 for bytes indexing (4954155)

  • remove ops with no side effects when result is not used (ea34059)

  • ARC-56 application specifications can now be output using the --output-arc56 option (2d3eb49)

  • add .copy() to arc4.Tuple (fe7a0ea)

  • add support for AVM version 11 (0c31697)

  • allow variable rebinding of mutable parameter values (253168a)

Fix

  • ensure expressions are only evaluated once (359956c)

  • prevent errors trying to optimize dig 0 (bf52c36)

  • improve error message when a self parameter is missing from a method declaration (8153cfb)

  • use read location for variable source locations, rather than where the variable was last defined (27e2659)

  • correctly determine if an algopy.arc4.Struct sub-class is immutable or not based on frozen class parameter and immutability of fields (0491d0b)