Releases: algorandfoundation/puya
v5.8.0-rc.2
v5.8.0-rc.2 (2026-03-09)
Fix
- use args in event signature string if present for arc-56 events (
9acec46)
v5.8.0-rc.1
v5.8.0-rc.1 (2026-03-06)
Feature
-
include ARC-56 in puya service compile response (
a736ee0) -
allow eliminating round-trips like arc4.uint32 -> uint64 -> arc4.uint32 (
74886e4) -
optimise round-trip encoding of arc4 UIntN via BigUInt (
a5abef4) -
add arguments to logicsig (frontend changes) (
d92856d)- remove safeguard from the
LogicSignatureAWST root node and addvalidate_encodingflag ToCodeVisitorchanges to print argsModuleASTConverterchanges to process validation in decorator- change to stubs to support args. and validation
- remove safeguard from the
-
add
logged_assertandlogged_errfunctions (e9dece6)- add functions to stubs (util namespace)
- add log_error field to AssertExpression AWST node
- add arc65_error function builders - add the proper ebs to the type registry
- backend changes (IR) to support the logged error compilation path - ToCodeVisitor changes to show logged errors
-
expand box optimisations to support dynamic array pops and concat (
8478b0a) -
add new box arc4 puya lib subroutines (
2c43b6a) -
allow native Structs in arc4.emit() (
ef91d05)
Fix
-
prevent events without name being added to arc56.json (
38e2756) -
prevent round-trip of arc4 UIntN where N>64 via native UInt64 from being eliminated (
98ed648) -
prevent negative source locations (
cbae07b) -
handle reference cycles which include a TYPE_CHECKING component in the correct order (
8fdcf27) -
add visitation of block body statements (
f2a58d1)
Documentation
- update docstring of
size_ofstating only static size types work (acf3544)
v5.7.1
v5.7.0
v5.7.0 (2026-01-23)
Added
-
A new compiler flag,
-treat-warnings-as-errorsor-Werror, which causes compilation to fail
if any warnings are emitted (disabled by default). -
Added
itxn.abi_callmethod that returns an application call inner transaction, which can be staged as part of a dynamic group via the.stage()method.
Changed
- Binary operations involving booleans now allow
UInt64andBigUInton
their complementary side.
Fixed
-
Source locations for function references now use the location of their reference instead of the
location for their definition. This also allows these locations to have the correct source file
attached to them. -
Removed language server output from console.
v5.7.0-rc.1
v5.7.0-rc.1 (2026-01-22)
Feature
-
add new itxn.abi_call method to allow calls to ABI method be part of dynamic itxn group (
995c7da) -
add a
treat-warnings-as-errorsflag (830c1eb)-
changes to
LoggingContextto support a -werror flag -
adding
treat_warnings_as_errorsflag option to puyapy and puya options -
add flag awareness to active logging context in puya main
-
add flag to service mode
_compileand explicit set to False inanalyse
add
-Werroraliasaddress PR comments
cleanup comments and warning code no longer needed
-
Fix
-
removes pytype caching of generic types, this ensures error messages raised during WType construction are logged with the correct source location (
abdc4df)This change does not have an observable impact on performance.
-
do not register user defined transaction types as builtins (
698dcb3) -
don't emit language server edits in console output (
70d3bcf) -
make literal not iterable error message consistent across Python versions (
90623da)
Documentation
- add change log (
cc893d4)
v5.6.0
v5.6.0 (2025-12-23)
Added
-
.stage()method in inner transaction classes andalgopy.itxn.submit_stagedfunction to support submitting a dynamic number of inner transactions in a group -
Improved code generation for box operations.
Changed
- mypy is no longer a vendored dependency, allowing use of the compiled version of mypy, which
speeds up Python parsing times by 400-500%.
Fixed
- Fixed
indexandsliceoperations on boxes containingFixedByteslarger than 4k to not throwbox_get produced a too big byte-arrayerror.
v5.5.0
v5.5.0 (2025-11-28)
Added
-
Added
algopy.publicdecorator as an alias ofalgopy.arc4.abimethod. -
Added an optional error-message parameter for
algopy.op.err -
Added
algopy.FixedBytesthat represents a bytes type with a fixed size. -
Safety checks to ensure explicit user asserts and error conditions are preserved through optimization passes and not inadvertently eliminated or modified.
Changed
-
@subroutinedecorator is now optional on private contract methods. -
Improved code generation with bytes of known size.
Fixed
- Fixed a critical error introduced by networkx 3.6.
Security
- Add section on ABI type validation
- Add SECURITY.md
v5.4.0
v5.4.0 (2025-10-27)
Added
-
Add validation for ABI method names to match ARC-4 specification (
^[_A-Za-z][A-Za-z0-9_]*$). -
Added support for configuration of language server log level and debounce interval.
v5.3.2
v5.3.2 (2025-10-20)
Fixed
- Fixed incorrect validation for dynamic structs ending with a bool.