Skip to content

Releases: algorand/pyteal

v0.26.1

04 Jan 16:39
d669b8c
Compare
Choose a tag to compare

Fixed

  • Correct EcPairingCheck & EcSubgroupCheck return types (#717)

v0.26.0

02 Jan 20:06
7f30e21
Compare
Choose a tag to compare

Added

  • Support for AVM v10 programs. (#714)
    • New box operations:
      • App.box_resize
      • App.box_splice
    • New Global fields:
      • Global.asset_create_min_balance()
      • Global.asset_opt_in_min_balance()
      • Global.genesis_hash()
    • New elliptic curve operations:
      • EcAdd
      • EcScalarMul
      • EcPairingCheck
      • EcMultiScalarMul
      • EcSubgroupCheck
      • EcMapTo
  • Support for Python 3.12. (#713)

v0.25.0

06 Jun 20:21
670e637
Compare
Choose a tag to compare

Added

  • Support for compiling AVM v9 programs. (#707)

v0.24.1

18 Apr 18:41
b1ab983
Compare
Choose a tag to compare

Fixed sourcemap errors related to TMPL usage. (#696)
Stop using slot indexes for assets and apps when accessing properties of ABI reference type arguments. (#701)

v0.24.0

20 Mar 14:36
9301892
Compare
Choose a tag to compare

Added

  • Clarify that Approve and Reject always exit in the documentation. (#660)
  • Added frame pointer support for router. (#600)
    • NOTE: a backwards incompatable change was imposed in this PR: previous build_program method in Router was exported and public, now this method is hidden. Use compile_program only.
  • Experimental source mapping capability. (#650)

Changed

  • Enable source maps using the new FeatureGate class. See examples/applications/sourcemap.py for a usage example. (#687)

v0.23.0

13 Feb 19:40
8531f4b
Compare
Choose a tag to compare

Added

  • Improved error handling for tuple type mismatch: added information on position and expected type. (#655)
  • Added an asdict() method to ast.router.BareCallActions. (#656)

Fixed

  • Fixed wrong encoding result in tuple get last item. (#663)

v0.22.0

24 Jan 19:17
ed346ad
Compare
Choose a tag to compare

v0.22.0

Changed

  • Improved Router clear state program generation. (#636)
    • NOTE: a backwards incompatable change was imposed in this PR: previous Clear State Program (CSP) can be constructed in router by registering ABI methods or bare app calls, now one has to use clear_state argument in Router.__init__ to construct the CSP.

v0.21.0

19 Jan 19:12
0ff8227
Compare
Choose a tag to compare

Added

  • Added frame pointer support for subroutine arguments, replacing the previous usage of scratch. (#562)
  • Added frame pointer support for local ABI variables in subroutine. (#606)
  • Added frame_pointers property in OptimizeOptions to optimize away scratch slots during subroutine calls. This defaults to frame pointer usage when not specified for AVM version 8+. (#613)

Fixed

  • Allowing the MethodCall and ExecuteMethodCall to be passed None as app_id argument in the case of an app create transaction (#592)
  • No longer accidentally include additional package folders in release (#610, #614)
  • Fixed mistakes in docs (#612, #625, #627)

Changed

  • Introducing AbstractVar to abstract value access: store, load, and stack type. (#584)
    • NOTE: a backwards incompatable change was imposed in this PR: previous ABI value's public member stored_value with type ScratchVar, is now changed to protected member _stored_value with type AbstractVar.
  • Starting with program version 9, when scratch_slots flag isn't provided to OptimizeOptions, default to optimizing. For versions 8 and earlier the default is and remains to not optimize. (#613)
  • Replaced the usage of typing.NamedTuple with dataclass for class OpType in the ir package in order to avoid a regression coming in Python 3.11.1. (#615)
  • Upgrade mypy to v0.991. (#618)
  • Upgrade py-algorand-sdk to v2.0.0. (#626)

v0.20.1

03 Nov 16:40
3d061c2
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.19.0...v0.20.1

v0.20.0

03 Nov 16:01
bdcdd5c
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.19.0...v0.20.0