Releases: algorandfoundation/algorand-python-testing
v0.5.0
v0.5.0-beta.1
v0.5.0-beta.1 (2025-02-19)
Features
-
support
algopy.Array
andalgopy.ImmutableArray
from algorand-python 2.7 (fd8d19f
) -
support mocking new
algopy.op
functionsfalcon_verify
,mimc
,online_stake
,sumhash512
andVoterParamsGet
(83ddcbb
) -
update
algopy.op.Block
with fields added in AVM 11 (90d857d
) -
update
algopy.op.AcctParamsGet
with fields added in AVM 11 (059b669
) -
add
avm_version
toalgopy.Contract
class options (fc53b0f
) -
update
algopy.op.Global
with fields added in AVM 11 (0cc9807
) -
add
algopy.arc4.Struct._replace
introduced in algorand-python 2.5.0 (75d6847
) -
add inline option to subroutine decorator (
2cc15b3
)
Bug fixes
-
add missing mappings for
algopy.op.Txn
members (fddfe6f
) -
include
ARC4Contract
inalgopy.arc4
namespace (f19d46f
) -
update
algopy.CompiledContract
andalgopy.CompiledLogicSig
to be NamedTuples (84be408
) -
added missing contains implementation for
algopy.Bytes
(8b2efa2
)
Documentation
- fix doctest example for
algopy.EllipticCurve
(7d0bb0d
)
v0.4.1
v0.4.1 (2024-09-03)
v0.4.1-beta.1
v0.4.0
v0.4.0 (2024-08-27)
v0.4.0-beta.2
v0.4.0-beta.2 (2024-08-27)
v0.4.0-beta.1
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
withaccount_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 acceptalgopy.Bytes
(40328ca
)
Documentation
- include usage of
algopy_testing_context
in README.md quick start (4702f60
)
v0.3.0
v0.3.0 (2024-08-22)
Introducing initial stable release of algorand-python-testing
π
- 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.
- Introducing a mechanism for deferred execution of an application call to control transaction ordering for any abi/baremethod prefixed methods in contract instances.
- Adding explicit context for setting the scope for execution of a specific transaction group and active transaction within it.
- 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
toactive_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