Releases: algorandfoundation/puya-ts
Releases · algorandfoundation/puya-ts
v1.0.0-beta.72
1.0.0-beta.72 (2025-07-30)
v1.0.0-alpha.68
1.0.0-alpha.68 (2025-07-30)
v1.0.0-alpha.67
1.0.0-alpha.67 (2025-07-30)
v1.0.0-alpha.66
1.0.0-alpha.66 (2025-07-25)
Bug Fixes
- Bug in assignment logic which was prevent bytes<32> from being assigned to a bytes target (64725cc)
v1.0.0-alpha.65
v1.0.0-alpha.64
1.0.0-alpha.64 (2025-07-23)
Bug Fixes
- Handle unions of gtxn references and TransactionTypes (e000a01)
v1.0.0-alpha.63
1.0.0-alpha.63 (2025-07-22)
⚠ BREAKING CHANGES
- Array, tuples, and objects not annotated with
Readonly<>helper orreadonlykeyword will be interpreted as mutable variants now instead of the previous immutable. Mutable types have additional restrictions with regards to passing references around as well as different performance characteristics. This change enables native mutable types. - UintN, UFixedNxM, and associated alias (UintN8, UintN16 etc) have be renamed to Uint, UFixed<N,M>, and Uint8 etc. This change results in more natural type names for these arc4 encoded types.
- gtxn and itxn types have been moved to an explicit namespace. Existing imports of the
itxnandgtxnwork from the root of the module will continue to work but direct imports of types from/itxnand/gtxnsub modules will no longer work. Instead import the relevant namespace from the root of the module and reference them viaitxn.PaymentInnerTxnetc. This change results in better developer UX for importing these respective namespaces. - Existing
.copy()methods on arc4 mutable types have been removed in favour of aclone(...)function which can take any expression. This change was made to support native mutable arrays and objects without having to modify theObjectandArrayprototypes.
Features
- Introduce native mutable arrays and objects (d3ef438)
- Introduce native FixedArray type - it's like the arc4 StaticArray but can contain non-arc4-encoded types
- Support partial writing and reading of structures in box storage which are larger than what is supported as a single value on the stack (4KB). This feature requires compilation with optimizations level 1 (O1)
- Implement
toString()onuint64type as well as supporting interpolation ofuint64values instringtemplates
Bug Fixes
- Anonymous types used in the external interface of a contract (eg. as a param or return type, or in storage) will now receive a unique name based on the type's structure which resolves conflicting name issues in an arc56 spec.
- Several smaller fixes related to semantically compatible execution or missing implementations of type methods
v1.0.0-beta.71
1.0.0-beta.71 (2025-06-23)
v1.0.0-alpha.62
1.0.0-alpha.62 (2025-05-22)
Bug Fixes
- Fix issue with type resolver not being able to resolve aliases for algo-ts types (eg. type X = bytes<32>) (30e1ddb)
v1.0.0-alpha.61
1.0.0-alpha.61 (2025-05-21)
Features
- Introduce ItxnCompose type for composing variable length transaction groups (9ab4bec)