Releases: algorandfoundation/algorand-python-testing
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
v0.3.0-beta.9
v0.3.0-beta.9 (2024-08-22)
v0.3.0-beta.8
v0.3.0-beta.10
v0.3.0-beta.10 (2024-08-22)
v0.3.0-beta.7
v0.3.0-beta.7 (2024-08-21)
v0.3.0-beta.6
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
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
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
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
)
v0.3.0-beta.2
v0.3.0-beta.2 (2024-08-16)
Chore
- chore: refreshing todos (#11)
[skip ci] (6df2567
)
Refactor
-
refactor: moving scratch slots and app logs to TransactionBase (#10)
-
refactor: moving scratch slots and app logs to TransactionBase
-
build: updated to latest puyapy
-
refactor: minor refactors
-
refactor: refactor txn group initialization
-
refactor: add additional gtxn properties from 2.0 stubs
-
refactor: consolidate log and scratch space implementation.
logs can be mocked on the underlying application, or for specific transactions
active txn can append logs
-
refactor: defer some imports to reduce circular imports
-
chore: add some TODO's for future work
-
test: tweak test for mocking abi_call, by ensuring mocked function is in algopy namespace
-
feat: implement gaid op
-
fix: added mock implementations for new algopy functions, add util for raising consistent mockable method errors
-
chore: add TODO for asset property
Co-authored-by: Daniel McGregor <[email protected]> (71801f0
)