|
1 | 1 | # CHANGELOG
|
| 2 | +## v0.5.0 (2025-02-20) |
| 3 | + |
2 | 4 | ## v0.5.0-beta.1 (2025-02-19)
|
3 | 5 |
|
| 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 | + |
4 | 34 | ### Documentation
|
5 | 35 |
|
6 | 36 | * fix doctest example for `algopy.EllipticCurve` ([`7d0bb0d`](https://github.com/algorandfoundation/algorand-python-testing/commit/7d0bb0dfe9a5ea2d67b130fa300fb80cef52fda5))
|
|
9 | 39 |
|
10 | 40 | ## v0.4.1-beta.1 (2024-09-03)
|
11 | 41 |
|
| 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 | + |
12 | 52 | ## v0.4.0 (2024-08-27)
|
13 | 53 |
|
14 | 54 | ## v0.4.0-beta.2 (2024-08-27)
|
15 | 55 |
|
16 | 56 | ## v0.4.0-beta.1 (2024-08-27)
|
17 | 57 |
|
| 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 | + |
18 | 82 | ### Documentation
|
19 | 83 |
|
20 | 84 | * include usage of `algopy_testing_context` in README.md quick start ([`4702f60`](https://github.com/algorandfoundation/algorand-python-testing/commit/4702f60cfe7d09956a5ae6dbdcd72da29fdda808))
|
|
27 | 91 |
|
28 | 92 | ## v0.3.0-beta.8 (2024-08-22)
|
29 | 93 |
|
| 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 | + |
30 | 98 | ## v0.3.0-beta.7 (2024-08-21)
|
31 | 99 |
|
32 | 100 | ## v0.3.0-beta.6 (2024-08-21)
|
|
61 | 129 |
|
62 | 130 | ## v0.3.0-beta.5 (2024-08-21)
|
63 | 131 |
|
| 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 | + |
64 | 148 | ## v0.3.0-beta.4 (2024-08-21)
|
65 | 149 |
|
| 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 | + |
66 | 164 | ### Documentation
|
67 | 165 |
|
68 | 166 | * integrating pydoclint; formatting docs; removing docs from stub implementation ([`d729bf9`](https://github.com/algorandfoundation/algorand-python-testing/commit/d729bf9b70ef885cd1b2ef705c4f5e2582d853ab))
|
|
73 | 171 |
|
74 | 172 | ## v0.3.0-beta.1 (2024-08-14)
|
75 | 173 |
|
| 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 | + |
76 | 386 | ## v0.2.2-beta.5 (2024-07-30)
|
77 | 387 |
|
78 | 388 | ### Documentation
|
|
0 commit comments