Skip to content

Releases: algorandfoundation/puya-ts

v1.0.0-beta.72

30 Jul 17:07

Choose a tag to compare

v1.0.0-beta.72 Pre-release
Pre-release

1.0.0-beta.72 (2025-07-30)

v1.0.0-alpha.68

30 Jul 21:43
931ae59

Choose a tag to compare

v1.0.0-alpha.68 Pre-release
Pre-release

1.0.0-alpha.68 (2025-07-30)

v1.0.0-alpha.67

30 Jul 18:30

Choose a tag to compare

v1.0.0-alpha.67 Pre-release
Pre-release

1.0.0-alpha.67 (2025-07-30)

v1.0.0-alpha.66

25 Jul 18:24

Choose a tag to compare

v1.0.0-alpha.66 Pre-release
Pre-release

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

24 Jul 16:39

Choose a tag to compare

v1.0.0-alpha.65 Pre-release
Pre-release

1.0.0-alpha.65 (2025-07-24)

Bug Fixes

  • treat fixed sized bytes type as statically sized (e188091)

v1.0.0-alpha.64

23 Jul 20:27

Choose a tag to compare

v1.0.0-alpha.64 Pre-release
Pre-release

1.0.0-alpha.64 (2025-07-23)

Bug Fixes

  • Handle unions of gtxn references and TransactionTypes (e000a01)

v1.0.0-alpha.63

22 Jul 22:38
d3ef438

Choose a tag to compare

v1.0.0-alpha.63 Pre-release
Pre-release

1.0.0-alpha.63 (2025-07-22)

⚠ BREAKING CHANGES

  • Array, tuples, and objects not annotated with Readonly<> helper or readonly keyword 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 itxn and gtxn work from the root of the module will continue to work but direct imports of types from /itxn and /gtxn sub modules will no longer work. Instead import the relevant namespace from the root of the module and reference them via itxn.PaymentInnerTxn etc. 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 a clone(...) function which can take any expression. This change was made to support native mutable arrays and objects without having to modify the Object and Array prototypes.

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() on uint64 type as well as supporting interpolation of uint64 values in string templates

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

23 Jun 10:24
c8bd411

Choose a tag to compare

v1.0.0-beta.71 Pre-release
Pre-release

1.0.0-beta.71 (2025-06-23)

v1.0.0-alpha.62

22 May 21:40

Choose a tag to compare

v1.0.0-alpha.62 Pre-release
Pre-release

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

21 May 20:11

Choose a tag to compare

v1.0.0-alpha.61 Pre-release
Pre-release

1.0.0-alpha.61 (2025-05-21)

Features

  • Introduce ItxnCompose type for composing variable length transaction groups (9ab4bec)