Skip to content

Releases: algorandfoundation/puya

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)

v3.1.0

13 Sep 02:37
Compare
Choose a tag to compare

v3.1.0 (2024-09-13)

Feature

  • algopy.arc4.abi_call, algopy.arc4.arc4_create and algopy.arc4.arc4_update now all support txn arguments (8133e1d)

  • add CLI option to serialize AWST to JSON (66bf127)

  • optimize int 0; return -> err (3605cf4)

  • allow user to implement approval_program in ARC4Contract subclasses (004450b)

Fix

  • handle zero values for TemplateVar (6087dc2)

    boolean values are now also allowed as True or False

    also incorrect values will no longer result in a critical error, but a CLI usage error instead

  • when accessing a member of self, use the source location of the access (2f827ab)

  • when there is exactly 15 arguments to an ABI function, the final argument should not be expected to be automatically tuple-packed (04e15df)

  • calling algopy.arc4.arc4_create or algopy.arc4.arc4_update with a ARC4Contract type now works for abimethods that have a return type (99d6a24)

  • fix super() usage in multiple inheritance scenarios (21929cc)

  • allow super().__init__() calls that resolve to object.__init__() as no-ops, this is valid and can be useful in multiple inheritance scenarios (267f423)

  • abstract methods can still have implementations, which can be called via super (9615467)

  • evaluate class bodies at module evaluation time, so that any referenced constants in e.g. decorators receive the correct value if it's later updated (9aea78c)

  • resolve all base scratch slot reservations, not just direct bases (f9521b5)