Releases: algorandfoundation/puya
v3.6.0
v3.5.0
v3.5.0 (2024-10-30)
Feature
-
add
_replace
implementation for named tuples, makealgopy.CompiledContract
andalgopy.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
v3.4.1
v3.4.0
v3.3.0
v3.3.0 (2024-10-16)
v3.2.3
v3.2.2
v3.2.2 (2024-10-08)
Fix
v3.2.1
v3.2.0
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
v3.1.0
v3.1.0 (2024-09-13)
Feature
-
algopy.arc4.abi_call
,algopy.arc4.arc4_create
andalgopy.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
orFalse
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
oralgopy.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 toobject.__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
)