Releases: algorandfoundation/puya
v0.4.0
v0.4.0 (2024-01-31)
Feature
Fix
-
fix argument matching order for gtxn, gtxna, gtxnsa, gtxnas. (
6d10fef
) -
correct intrinsic mapping for
RenamedOpCode
types, so that the correct overload gets chosen. This is particularly important for extract, where a 0 immediate for length (along with an immediate for start) behaves very differently to the stack based variant. There is still potential for confusion if the start parameter is a literal vs a constant UInt64, but this at least fixes the inability to get the correct result with the right set of args. (7bf88e3
) -
fix potential bug when removing an empty entry block that had a goto which was not the next block (
11c6a3e
) -
Add slot range validation to range expressions which specify a step (
3ccd47f
)
v0.3.0
v0.3.0 (2024-01-22)
Feature
- Rename Local to LocalState and introduce GlobalState type to provide a similar abstraction over app global storage (
6c6ac97
) - Expand possible types for 'other' in arc4.String concat (
23029fe
)
Fix
-
validate_awst was not called as part of testing (
71e9fbc
) -
UnusedRegisterCollector no longer visits a Phi's register, so it can be considered as a potential unused register (
8b0e91a
) -
IntrinsicSimplifier now visits source values on Assignment ops (
2da337e
) -
Enforce copying of arc4 mutable types when passing them around so that developers are not fooled by the illusion of reference imutability as arc4 encoded data is still a value type underneath (
c20e621
) -
don't use structlog private fields (
831bd68
) -
MyPy incorrectly inferring generic types from first init overload when using classmethod (
14aecde
) -
Explicitly disallow nested native tuples in abi methods (
8663945
)
Performance
v0.2.0
v0.2.0 (2023-12-19)
Feature
Fix
-
reduce unnecessary usages of VLA (
9b2cc85
) -
relax docstring-parser version constraint for now (
d15046d
) -
stack ops optimisation looping, including not running at all if -O0 (
b6eaaa6
) -
remove support for non bool literals in match cases (
c4520fb
) -
allow using puyapy primitive types with match statements (
e669c04
) -
use PYTHONUTF8 in compile_all_examples.py to force windows to use utf8 when running puya (
b4ab579
)