Skip to content

Commit ff2c3ec

Browse files
author
semantic-release
committed
0.5.0
[skip ci]
1 parent 12b1cc2 commit ff2c3ec

File tree

2 files changed

+311
-1
lines changed

2 files changed

+311
-1
lines changed

CHANGELOG.md

Lines changed: 310 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,36 @@
11
# CHANGELOG
2+
## v0.5.0 (2025-02-20)
3+
24
## v0.5.0-beta.1 (2025-02-19)
35

6+
### Features
7+
8+
* support `algopy.Array` and `algopy.ImmutableArray` from algorand-python 2.7 ([`fd8d19f`](https://github.com/algorandfoundation/algorand-python-testing/commit/fd8d19f25b9f8e0a48f58ae8f45e4d546b965f83))
9+
10+
* support mocking new `algopy.op` functions `falcon_verify`, `mimc`, `online_stake`, `sumhash512` and `VoterParamsGet` ([`83ddcbb`](https://github.com/algorandfoundation/algorand-python-testing/commit/83ddcbb8f83f72a5e0bc247c14e250c55496febf))
11+
12+
* update `algopy.op.Block` with fields added in AVM 11 ([`90d857d`](https://github.com/algorandfoundation/algorand-python-testing/commit/90d857d248d7b1b5a4b3791ccb0e10c20c478325))
13+
14+
* update `algopy.op.AcctParamsGet` with fields added in AVM 11 ([`059b669`](https://github.com/algorandfoundation/algorand-python-testing/commit/059b6690441e99a709fc47691bcb0e4f2453cd26))
15+
16+
* add `avm_version` to `algopy.Contract` class options ([`fc53b0f`](https://github.com/algorandfoundation/algorand-python-testing/commit/fc53b0fda5f0d22b6dbb99abf1ba024284fa52a4))
17+
18+
* update `algopy.op.Global` with fields added in AVM 11 ([`0cc9807`](https://github.com/algorandfoundation/algorand-python-testing/commit/0cc9807bbfc7084d54425c40889065ae2fd7d856))
19+
20+
* add `algopy.arc4.Struct._replace` introduced in algorand-python 2.5.0 ([`75d6847`](https://github.com/algorandfoundation/algorand-python-testing/commit/75d6847b80498d637c7f0b0e3915afd7af6f132c))
21+
22+
* add inline option to subroutine decorator ([`2cc15b3`](https://github.com/algorandfoundation/algorand-python-testing/commit/2cc15b3dc706eb8585b9658bf67b38da215e2e38))
23+
24+
### Bug fixes
25+
26+
* add missing mappings for `algopy.op.Txn` members ([`fddfe6f`](https://github.com/algorandfoundation/algorand-python-testing/commit/fddfe6f7ff9d6d4e0434f65e19dd0b0cf2aef6bd))
27+
28+
* include `ARC4Contract` in `algopy.arc4` namespace ([`f19d46f`](https://github.com/algorandfoundation/algorand-python-testing/commit/f19d46f5663c9fbe4e9b2e8c3bd1e2f7ddc89c3a))
29+
30+
* update `algopy.CompiledContract` and `algopy.CompiledLogicSig` to be NamedTuples ([`84be408`](https://github.com/algorandfoundation/algorand-python-testing/commit/84be4082348e3d89b40a65a69b599594a5531828))
31+
32+
* added missing __contains__ implementation for `algopy.Bytes` ([`8b2efa2`](https://github.com/algorandfoundation/algorand-python-testing/commit/8b2efa20b37e3043ac6a228d6706da4203373a7e))
33+
434
### Documentation
535

636
* fix doctest example for `algopy.EllipticCurve` ([`7d0bb0d`](https://github.com/algorandfoundation/algorand-python-testing/commit/7d0bb0dfe9a5ea2d67b130fa300fb80cef52fda5))
@@ -9,12 +39,46 @@
939

1040
## v0.4.1-beta.1 (2024-09-03)
1141

42+
### Bug fixes
43+
44+
* ability to pass kw_only flag to dataclass when defining struct subclass (#23) ([`24bcf9d`](https://github.com/algorandfoundation/algorand-python-testing/commit/24bcf9d8af34eb2675ddf85ce9d71802f82f2d6a))
45+
46+
* fix: ability to pass kw_only flag to dataclass when defining struct subclass
47+
48+
* chore: add dependabot yaml
49+
50+
* chore: adding ability to pass args to struct init subclass
51+
1252
## v0.4.0 (2024-08-27)
1353

1454
## v0.4.0-beta.2 (2024-08-27)
1555

1656
## v0.4.0-beta.1 (2024-08-27)
1757

58+
### Features
59+
60+
* add support for frozen on asset holdings, including a new ledger function `update_asset_holdings` for setting asset holding balances and frozen states ([`d777ca0`](https://github.com/algorandfoundation/algorand-python-testing/commit/d777ca0a318a8ade7a20363c9ce77fe8a8bf5d68))
61+
62+
* expand accepted types when interacting with accounts, applications and assets ([`f448a97`](https://github.com/algorandfoundation/algorand-python-testing/commit/f448a97cb154c9f90ecf42c599b240f12928af20))
63+
64+
wip
65+
66+
* replaced `account_exists` with `account_is_funded` as the later is more useful ([`4d08690`](https://github.com/algorandfoundation/algorand-python-testing/commit/4d086903eb93a70ce1d485cdd7b12d8472ef16db))
67+
68+
### Bug fixes
69+
70+
* use correct type for Globals.caller_application_id ([`a30d85a`](https://github.com/algorandfoundation/algorand-python-testing/commit/a30d85a4416dfc2c5d901f3ace2265384ef60c01))
71+
72+
* do not allow specifying `address` for applications, it is derived from the app_id ([`00fe1bc`](https://github.com/algorandfoundation/algorand-python-testing/commit/00fe1bc8ea247dcc36b01154db36b984b151e396))
73+
74+
* do not treat asset and application ids as possible foreign array indexes ([`94a989f`](https://github.com/algorandfoundation/algorand-python-testing/commit/94a989f77169da2ae437c629cd5f4d8a872263f6))
75+
76+
* removed incorrect deduction in `algopy.op.balance` ([`76e67c5`](https://github.com/algorandfoundation/algorand-python-testing/commit/76e67c5e3dd1cda388a2a948d452ba89805add6a))
77+
78+
* ensure all comparable types return `NotImplemented` when a comparison is not possible ([`b055fa6`](https://github.com/algorandfoundation/algorand-python-testing/commit/b055fa68531e0b7923773ec10c2097a3d64b9dbe))
79+
80+
* `arc4_prefix` annotated to also accept `algopy.Bytes` ([`40328ca`](https://github.com/algorandfoundation/algorand-python-testing/commit/40328ca3701b3e255193e206e8a7b1bdb441a346))
81+
1882
### Documentation
1983

2084
* include usage of `algopy_testing_context` in README.md quick start ([`4702f60`](https://github.com/algorandfoundation/algorand-python-testing/commit/4702f60cfe7d09956a5ae6dbdcd72da29fdda808))
@@ -27,6 +91,10 @@
2791

2892
## v0.3.0-beta.8 (2024-08-22)
2993

94+
### Features
95+
96+
* include ARC4 results in log, and handle > 15 ARC4 arguments (#18) ([`fd83ee8`](https://github.com/algorandfoundation/algorand-python-testing/commit/fd83ee8525a393d4a1a66f20acdb661906d84b51))
97+
3098
## v0.3.0-beta.7 (2024-08-21)
3199

32100
## v0.3.0-beta.6 (2024-08-21)
@@ -61,8 +129,38 @@
61129

62130
## v0.3.0-beta.5 (2024-08-21)
63131

132+
### Bug fixes
133+
134+
* 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`](https://github.com/algorandfoundation/algorand-python-testing/commit/1f1f2ea43a2f4f906cbcd5709b8e86b5c1f2bc63))
135+
136+
* fix: add default __eq__ implementation for ARC4 types
137+
138+
* 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)
139+
140+
* feat: add __str__ and __repr__ implementations for ARC4 types
141+
142+
* refactor: make ARC4 type_info private
143+
144+
* refactor: make ARC4 struct inherit _ABIEncoded
145+
146+
* refactor: removing get_app_for_contract; expanding get_app; parsing on_complete
147+
64148
## v0.3.0-beta.4 (2024-08-21)
65149

150+
### Features
151+
152+
* rename txn_op_fields to active_txn_overrides to better reflect purpose, add additional checks to ensure crate_group parameters are used correctly ([`973fc28`](https://github.com/algorandfoundation/algorand-python-testing/commit/973fc288836d09ba4657642c980ca9f916d38823))
153+
154+
### Bug fixes
155+
156+
* fix equality implementation for Account, to allow comparison with arc4.Address ([`6ec2dd4`](https://github.com/algorandfoundation/algorand-python-testing/commit/6ec2dd4f2b4119987a5ea7c3c670bdd554c4fe30))
157+
158+
* ensure new Account's have field defaults populated ([`54432b0`](https://github.com/algorandfoundation/algorand-python-testing/commit/54432b03cef13008b16fab84dcc250824e2e2da1))
159+
160+
* ensure Global.current_application* properties match AVM ([`ae84ae2`](https://github.com/algorandfoundation/algorand-python-testing/commit/ae84ae27e49ef977babe7abb10d8994446d6b5f7))
161+
162+
* when generating app/asset id's skip any that might already be reserved ([`0bb5eba`](https://github.com/algorandfoundation/algorand-python-testing/commit/0bb5eba3ec75ffdb16cfbac5b3c4837f64f8a58a))
163+
66164
### Documentation
67165

68166
* integrating pydoclint; formatting docs; removing docs from stub implementation ([`d729bf9`](https://github.com/algorandfoundation/algorand-python-testing/commit/d729bf9b70ef885cd1b2ef705c4f5e2582d853ab))
@@ -73,6 +171,218 @@
73171

74172
## v0.3.0-beta.1 (2024-08-14)
75173

174+
### Features
175+
176+
* deferred app calls, modular test context, refined access to value generators, numerous fixes/improvements (#4) ([`85dd58a`](https://github.com/algorandfoundation/algorand-python-testing/commit/85dd58a60f56a0737de84dcb549c01ca5a7a2851))
177+
178+
* feat: work in progress on asset, application related state ops
179+
180+
* test: adding extra tests
181+
182+
* feat: extra tests and implementation wrappers around AppLocal
183+
184+
* chore: wip
185+
186+
* chore: update src/algopy_testing/op.py
187+
188+
Co-authored-by: Daniel McGregor <[email protected]>
189+
190+
* feat: adding acctparamsget; extra tests; pr comments
191+
192+
* refactor: adding final bits around AcctParamsGet; unit tests and fixes
193+
194+
* refactor: adding lookup by index to acct/app/asset get ops; tweaking ci
195+
196+
* refactor: addressing pr comments
197+
198+
* chore: fixing failing test
199+
200+
* refactor: simplifying test_context validation
201+
202+
* use specific enum types in box example with latest puya version
203+
204+
* include box types in algopy_testing
205+
206+
* fix inconsistent usage of field names on application fields use state total overrides when determining state totals reduce usage of `import algopy` in implementations
207+
208+
* expose fields property on application to aid debugging
209+
210+
* added section to CONTRIBUTING.md describing relationship between `algopy` and `algopy_testing`
211+
212+
* remove lazy algopy imports from utils remove some unnecessary ignores add TODO
213+
214+
* simplify abimethod and add TODO's
215+
216+
* add TODO for state totals
217+
218+
* add some tests (including currently failing ones) for app transactions
219+
220+
* feat: add arc4factory
221+
222+
* refactor: ensuring underlying _key is properly reflected on local/global states
223+
224+
* refactor: change guards for setting keys to explicitly check for None
225+
226+
* refactor: use implementation types in internal mappings
227+
228+
* refactor: remove usages of `import algopy` from op.py, remove explicit imports from typing module add TODO's
229+
230+
* test: use non-abstract contract base
231+
232+
* allow empty box prefix
233+
234+
* refactor
235+
236+
* use immutable param defaults
237+
238+
* fix: handle populating foreign arrays correctly for abi method calls
239+
240+
* refactor: remove lazy import algopy
241+
242+
* remove irrelevant comment
243+
244+
* initialize accounts correctly
245+
246+
* build: adding post install command into examples venv in hatch settings
247+
248+
* refactor: refine arc4 factory; add corresponding tests
249+
250+
* chore: adding the missing clear methods
251+
252+
* chore: merging everything from docs branch except docs changes
253+
254+
* chore: merge conflicts
255+
256+
* refactor: simplify txn implementations provide default values for unspecified txn fields
257+
258+
* docs: adding pep257 formatter; using reST docstrings style for context.py
259+
260+
* test: adding tests for scratch slots
261+
262+
* refactor: renaming set_txn_fields -> scoped_txn_fields
263+
264+
* chore: adding `amount` field and open question under TODO;
265+
266+
also adding adding get_box_map that reuses get_box but appends the bytes box_map prefix
267+
268+
* chore: bumping ruff
269+
270+
* refactor: adding context manager for lsig args setup (similar to algopy.Txn)
271+
272+
also running latest ruff - some rules are updated
273+
274+
* refactor: move helper classes into their own file
275+
276+
* refactor: simplify itxn loader
277+
278+
* refactor: isolate get_test_context to reduce circular imports
279+
280+
* chore: using multiprocessing in refresh test artifacts script
281+
282+
* refactor: adding tests for ITxn, ITxnCreate and GITxn, fixing related bugs
283+
284+
* refactor: default_creator -> default_sender; setting creator as default_sender
285+
286+
* chore: parsing name to op name in ITxn
287+
288+
* chore: updating default extension for mypy to use ms-python
289+
290+
* test: remove incorrect test and replace with TODO
291+
292+
* chore: add TODO about subroutine support
293+
294+
* add stricter type checks for primitives
295+
296+
* track when contracts are in a "creating" state or not
297+
298+
* todos
299+
300+
* refactor: moving GITxn class to itxn.py
301+
302+
* refactor: generate arc4 signatures from types added more robust system for tracking arc4 types removed unneeded functions on StaticArray
303+
304+
* only support native tuples when handling generic aliases in arc4 tuples
305+
306+
* refactor: 1/2 adding paged access to clear state program in txn fields
307+
308+
* refactor: consolidating txn and itxn related context attributes/methods
309+
310+
* minor refactors
311+
312+
* support arc4 structs
313+
314+
* refactor: simplify logic sig implementation, and remove mapping
315+
316+
* refactor: fix itxn op behaviour with program pages, and other array like fields
317+
318+
* refactor: simplify account properties
319+
320+
* refactor: move crypto ops into their own module
321+
322+
* refactor: move pure ops into their own module
323+
324+
* refactor: move other misc ops
325+
326+
* refactor: consolidating value generators; ledger and txn contexts;
327+
328+
* refactor: add active group/txn properties change local/global state storage to store values against the app, not the contract instance add UInt64Backed type to simplify serialization to/from int/bytes
329+
330+
* refactor: remove nested private modules, replace usages of get_test_context with lazy_context
331+
332+
* refactor: move inner transactions onto transaction group
333+
334+
* refactor: remove scoped_lsig_args
335+
336+
* refactor: remove maybe_active_app_id
337+
338+
* refactor: include bool in test for uint64
339+
340+
* refactor: ensure arc4 values always have fully parametrized types
341+
342+
* refactor: use _paramatize_type
343+
344+
* refactor: addressing TODOs
345+
346+
refactor: removing txn from method names inside txn context manager prop
347+
348+
chore: restoring initial pre-commit
349+
350+
refactor: expanding scoped_execution
351+
352+
chore: remove redundant fields
353+
354+
chore: addressing minor todos and removing the ones already addressed
355+
356+
* refactor: adding unit tests for global/local state with implicit keys
357+
358+
* refactor: improving handling of initial value for implicit global/local state keys
359+
360+
* test: extra test cases for accessing implicit/explicit keyed local/global state
361+
362+
* refactor: wip adding txn_group_for method
363+
364+
* chore: fix linting errors
365+
366+
* feat: continue with txn_group_for and add a test
367+
368+
* chore: remove scoped_txn_fields methods
369+
370+
* add some additional TODO's for scoped_execution
371+
372+
* remove TODO
373+
374+
* expand gaid TODO
375+
376+
* tweak op.exit implementation and add TODO
377+
378+
* remove arc4 property from AlgopyTestContext
379+
380+
* add more TODOs
381+
382+
* refactor: addressing TODOs; adding marketplace contract example (devrel bootcamps)
383+
384+
* test: fixing failing tests
385+
76386
## v0.2.2-beta.5 (2024-07-30)
77387

78388
### Documentation

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "algorand-python-testing"
7-
version = "0.5.0-beta.1"
7+
version = "0.5.0"
88
description = 'Algorand Python testing library'
99
readme = "README.md"
1010
requires-python = ">=3.12"

0 commit comments

Comments
 (0)