Skip to content

Releases: algorandfoundation/puya

v4.0.0

14 Nov 03:31
Compare
Choose a tag to compare

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)

v3.6.0

04 Nov 08:33
Compare
Choose a tag to compare

v3.6.0 (2024-11-04)

Fix

  • ensure paths are normalised in Puya source maps (29224ef)

v3.5.0

30 Oct 09:10
Compare
Choose a tag to compare

v3.5.0 (2024-10-30)

Feature

  • add _replace implementation for named tuples, make algopy.CompiledContract and algopy.CompiledLogicSig named tuples (93a47f2)

  • reduce stack manipulations ops when subroutine/op results are directly assigned (fbe6ebb)

  • add CLI option --output_source_map to produce debug information that can be used with the next release of AVM debugger (3009822)

  • add optimization to include constant blocks in TEAL output (671677b)

Fix

  • check target type for ARC4Decode (9704011)

  • deprecate --match-algod-bytecode option as there is now no difference between algod and puya bytecode output (de0fd58)

v3.4.1

24 Oct 04:24
Compare
Choose a tag to compare

v3.4.1 (2024-10-24)

Fix

  • allow named tuples to be unpacked (320efd2)

  • itxn arguments are now inferred correctly when using only a method name in algopy.arc4.abi_call (04fe6d7)

v3.4.0

23 Oct 20:34
Compare
Choose a tag to compare

v3.4.0 (2024-10-23)

Feature

  • Named tuple support in contract to contract calls (c742281)

  • Named tuples (e0abe5c)

Fix

  • Round trip serialization of names property on WTuple (dd7b679)

v3.3.0

16 Oct 15:50
Compare
Choose a tag to compare

v3.3.0 (2024-10-16)

v3.2.3

15 Oct 05:32
Compare
Choose a tag to compare

v3.2.3 (2024-10-15)

Fix

  • native tuples now supported as arguments and return value when using algopy.arc4.abi_call, algopy.arc4.arc4_create or algopy.arc4.arc4_update (#324) (6dfd68b)

v3.2.2

08 Oct 09:59
Compare
Choose a tag to compare

v3.2.2 (2024-10-08)

Fix

  • assigning transaction result from algopy.arc4.abi_call containing other transactions no longer causes an error (125e85e)

  • fixed incorrect typing of algopy.arc4.abi_call parameters global_num_uint, global_num_bytes, local_num_uint, local_num_bytes and extra_program_pages (e464ca2)

v3.2.1

04 Oct 02:07
Compare
Choose a tag to compare

v3.2.1 (2024-10-04)

Fix

  • fixed error when assigning result of an abi_call with inner transactions that return an ABI value (e3ef7dd)

v3.2.0

24 Sep 14:21
Compare
Choose a tag to compare

v3.2.0 (2024-09-24)

Feature

  • expand handling of literal expressions to allow combining them with binary boolean operators, and improve error messaging when handling of type unions in nested bool contexts (b4e0c30)

Fix

  • prevent error that occurs when removing a series of redundant Load and Store ops (17778b8)

  • fix compilation error when a nested tuple is passed as a named argument (d849496)