Skip to content

Releases: algorandfoundation/algorand-python-testing

v0.4.0-beta.1

27 Aug 06:10

Choose a tag to compare

v0.4.0-beta.1 Pre-release
Pre-release

v0.4.0-beta.1 (2024-08-27)

Feature

  • add support for frozen on asset holdings, including a new ledger function update_asset_holdings for setting asset holding balances and frozen states (d777ca0)

  • expand accepted types when interacting with accounts, applications and assets (f448a97)

    wip

  • replaced account_exists with account_is_funded as the later is more useful (4d08690)

Fix

  • use correct type for Globals.caller_application_id (a30d85a)

  • do not allow specifying address for applications, it is derived from the app_id (00fe1bc)

  • do not treat asset and application ids as possible foreign array indexes (94a989f)

  • removed incorrect deduction in algopy.op.balance (76e67c5)

  • ensure all comparable types return NotImplemented when a comparison is not possible (b055fa6)

  • arc4_prefix annotated to also accept algopy.Bytes (40328ca)

Documentation

  • include usage of algopy_testing_context in README.md quick start (4702f60)

v0.3.0

22 Aug 15:24

Choose a tag to compare

v0.3.0 (2024-08-22)

Introducing initial stable release of algorand-python-testing πŸŽ‰

  1. The context manager now interface exposes three main properties:
  • ledger: An instance of LedgerContext for interacting with and querying the emulated Algorand ledger state.
  • txn: An instance of TransactionContext for creating and managing transaction groups, submitting transactions, and accessing transaction results.
  • any: An instance of AlgopyValueGenerator for generating randomized test data.
  1. Introducing a mechanism for deferred execution of an application call to control transaction ordering for any abi/baremethod prefixed methods in contract instances.
  2. Adding explicit context for setting the scope for execution of a specific transaction group and active transaction within it.
  3. Revamped and detailed documentation, refer here to catch up with latest capabilities of algorand-python-testing package.

Release notes

New Features

  • Introduced ARC4 results in logs, with support for more than 15 ARC4 arguments (#18)
  • Added ARC4 factory for easier creation of ARC4 types
  • Implemented deferred app calls and modular test context
  • Refined access to value generators
  • Added support for ARC4 structs

Improvements

  • Renamed txn_op_fields to active_txn_overrides for clarity
  • Enhanced handling of mutable types (ARC4 tuple, array, and structs)
  • Improved equality implementation for Account
  • Refined handling of application and asset-related state operations
  • Simplified transaction and inner transaction implementations

Bug Fixes

  • Fixed propagation of changes in mutable types back to container-like types
  • Ensured new Account instances have field defaults populated
  • Corrected behavior of Global.current_application* properties to match AVM
  • Fixed generation of app/asset IDs to avoid conflicts

Documentation

  • Added comprehensive documentation for the initial stable release
  • Integrated pydoclint and improved overall documentation formatting

v0.3.0-beta.9

22 Aug 13:28

Choose a tag to compare

v0.3.0-beta.9 Pre-release
Pre-release

v0.3.0-beta.9 (2024-08-22)

v0.3.0-beta.8

22 Aug 08:33

Choose a tag to compare

v0.3.0-beta.8 Pre-release
Pre-release

v0.3.0-beta.8 (2024-08-22)

Feature

  • include ARC4 results in log, and handle > 15 ARC4 arguments (#18) (fd83ee8)

v0.3.0-beta.10

22 Aug 15:18

Choose a tag to compare

v0.3.0-beta.10 Pre-release
Pre-release

v0.3.0-beta.10 (2024-08-22)

v0.3.0-beta.7

21 Aug 18:55

Choose a tag to compare

v0.3.0-beta.7 Pre-release
Pre-release

v0.3.0-beta.7 (2024-08-21)

v0.3.0-beta.6

21 Aug 13:22

Choose a tag to compare

v0.3.0-beta.6 Pre-release
Pre-release

v0.3.0-beta.6 (2024-08-21)

Documentation

  • documentation for initial stable release of algorand-python-testing (#8) (9d97d0d)

    • docs: wip

    • chore: refresh pyproject

    • docs: refining docs (wip)

    • chore: integrating doctests

    • docs: revamping docs with latest features

    • docs: minor consistency with main readme; patching doctests

    • docs: removing the box from examples

    • docs: refine op codes section

    • chore: merge conflicts

    • chore: apply suggestions from code review

    Co-authored-by: Daniel McGregor <[email protected]>

    • docs: addressing docs pr comments

v0.3.0-beta.5

21 Aug 10:25

Choose a tag to compare

v0.3.0-beta.5 Pre-release
Pre-release

v0.3.0-beta.5 (2024-08-21)

Fix

  • ensure mutable types (ARC4 tuple, array and structs) have their changes propagated back to container-like types (global/local state, boxes, ARC4 mutable types) (#14) (1f1f2ea)

    • fix: add default eq implementation for ARC4 types

    • fix: ensure mutable types (ARC4 tuple, array and structs) have their changes propagated back to container-like types (global/local state, boxes, ARC4 mutable types)

    • feat: add str and repr implementations for ARC4 types

    • refactor: make ARC4 type_info private

    • refactor: make ARC4 struct inherit _ABIEncoded

    • refactor: removing get_app_for_contract; expanding get_app; parsing on_complete

v0.3.0-beta.4

21 Aug 09:06

Choose a tag to compare

v0.3.0-beta.4 Pre-release
Pre-release

v0.3.0-beta.4 (2024-08-21)

Feature

  • rename txn_op_fields to active_txn_overrides to better reflect purpose, add additional checks to ensure crate_group parameters are used correctly (973fc28)

Fix

  • fix equality implementation for Account, to allow comparison with arc4.Address (6ec2dd4)

  • ensure new Account's have field defaults populated (54432b0)

  • ensure Global.current_application* properties match AVM (ae84ae2)

  • when generating app/asset id's skip any that might already be reserved (0bb5eba)

Documentation

  • integrating pydoclint; formatting docs; removing docs from stub implementation (d729bf9)

v0.3.0-beta.3

16 Aug 13:34

Choose a tag to compare

v0.3.0-beta.3 Pre-release
Pre-release

v0.3.0-beta.3 (2024-08-16)

Refactor

  • refactor: move box storage onto ApplicationContextData (#12)

  • refactor: move box storage onto ApplicationContextData

Require app reference when interacting with boxes

  • refactor: moving getters setters of global local state to ledger context

  • refactor: more laconic names for methods/vars referencing application -> app


Co-authored-by: Altynbek Orumbayev <[email protected]> (57a8f13)