Skip to content

v0.21.0

Compare
Choose a tag to compare
@bbroder-algo bbroder-algo released this 19 Jan 19:12
· 41 commits to master since this release
0ff8227

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)