Skip to content

Releases: algorandfoundation/puya

v0.4.0

31 Jan 05:23
Compare
Choose a tag to compare

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

22 Jan 08:01
Compare
Choose a tag to compare

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

19 Dec 01:40
Compare
Choose a tag to compare

v0.2.0 (2023-12-19)

Feature

  • move subroutine elimination to IR stage (#44) (d65c9b6)

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)

v0.1.1

11 Dec 13:40
Compare
Choose a tag to compare
manually bump version