Releases: algorand/pyteal
Releases · algorand/pyteal
v0.26.1
v0.26.0
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
- New box operations:
- Support for Python 3.12. (#713)
v0.25.0
v0.24.1
v0.24.0
Added
- Clarify that
Approve
andReject
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 inRouter
was exported and public, now this method is hidden. Usecompile_program
only.
- NOTE: a backwards incompatable change was imposed in this PR: previous
- Experimental source mapping capability. (#650)
Changed
- Enable source maps using the new
FeatureGate
class. Seeexamples/applications/sourcemap.py
for a usage example. (#687)
v0.23.0
v0.22.0
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 inRouter.__init__
to construct the CSP.
- 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
v0.21.0
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 inOptimizeOptions
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
andExecuteMethodCall
to be passedNone
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 typeScratchVar
, is now changed to protected member_stored_value
with typeAbstractVar
.
- NOTE: a backwards incompatable change was imposed in this PR: previous ABI value's public member
- Starting with program version 9, when
scratch_slots
flag isn't provided toOptimizeOptions
, default to optimizing. For versions 8 and earlier the default is and remains to not optimize. (#613) - Replaced the usage of
typing.NamedTuple
withdataclass
forclass 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
What's Changed
- AVM 8 by @michaeldiamant in #439
- v0.20.1 by @ahangsu in #591
Full Changelog: v0.19.0...v0.20.1