- algod: Even in the face of urllib.error.HTTPError, return the json by @jannotti in #529
- Fix: Pass args to underlying
kmd_request
function, including timeout by @jasonpaulos in #545
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v2.6.0...v2.6.1
- fix: no timeout for urlopen issue #526 by @grzracz in #527
- txns: Uses sp.min_fee if available by @jannotti in #530
- fix: Fix initialization for
WrongAmountType
error by @algolog in #532 - Fix: Fix indexer sync issue in cucumber tests by @jasonpaulos in #533
- Docs: Add missing pages for source map and dryrun results by @jasonpaulos in #520
- DX: Keyreg bytes by @jannotti in #522
- Testing: Add Python 3.12 to test matrix by @jasonpaulos in #534
- Simulate: Support newer simulate options by @jasonpaulos in #537
- Tests: Enable min-balance Cucumber tests. by @gmalouf in #539
- Fix typographic error when printing offline participation transaction by @hsoerensen in #524
- @hsoerensen made their first contribution in #524
- @grzracz made their first contribution in #527
- @algolog made their first contribution in #532
- @gmalouf made their first contribution in #539
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v2.5.0...v2.6.0
- api: Sync client object. by @winder in #514
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v2.4.0...v2.5.0
- bug-fix: include currency-greater-than param for 0 value by @shiqizng in #508
- Simulation: Execution trace (PC/Stack/Scratch) support by @ahangsu in #505
- other: Ignore formatting commits in git blame by @algochoi in #485
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v2.3.0...v2.4.0
- Algod: Simulation run with extra budget per transaction group by ahangsu in #484
- tweak: reorder GenericSignedTransaction type alias by tzaffi in #478
- Enhancement: Adding
box_reference.py
to Read The Docs by tzaffi in #481 - DevOps: Update CODEOWNERS to only refer to the devops group by onetechnical in #482
- algod: State delta endpoints by algochoi in #483
- CICD: Release PR Creation Workflow and Slack Messaging by algobarb in #497
- algod: Add msgpack query param to deltas endpoints by Eric-Warehime in #499
- bugfix: incorrect indexer docs by tzaffi in #476
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v2.2.0...v2.3.0
Supports new devmode block timestamp offset endpoints.
- Fix: improve SignedTransaction type signature for dryrun and send_transaction by @barnjamin in #457
- Fix: add auth addr for multisig sign when the msig has been rekeyed by @barnjamin in #460
- Simulation: Lift log limits option in SimulateRequest by @ahangsu in #469
- Docs: Examples by @barnjamin in #454
- BugFix: ATC error message improvement by @barnjamin in #463
- API: Support updated simulate endpoint by @jasonpaulos in #466
- algod: Add endpoints for devmode timestamps, sync, and ready by @algochoi in #468
- DevOps: Add CODEOWNERS to restrict workflow editing by @onetechnical in #473
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v2.1.2...v2.2.0
This release adds a fix to allow disambiguation of transaction finality in the case of a decoding error.
- ATC: Refactor Pending Transaction Information in ATC into try block by @algochoi in #451
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v2.1.1...v2.1.2
- Fix: Minor fix for
exclude
argument inaccount_info
by @ahangsu in #449
- Documentation: Adding examples to be pulled in to docs by @barnjamin in #441
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v2.1.0...v2.1.1
- bugfix: fix msig sks type + a couple other mypy complaints by @barnjamin in #434
- fix: remove unused positional argument "contract_type" from OverspecifiedRoundError and UnderspecifiedRoundError by @ori-shem-tov in #438
- Fix: Revert .test-env in develop by @bbroder-algo in #445
- New Feature: Adding methods to use the simulate endpoint by @barnjamin in #420
- Infrastructure: Add setup.py check to circle ci by @algochoi in #427
- Enhancement: Type Friendly Exports by @tzaffi in #435
- Algod: Add disassembly endpoint and implement cucumber test by @algochoi in #440
- Enhancement: Upgrade black, mypy, and add type annotations to algod.py by @tzaffi in #442
- @ori-shem-tov made their first contribution in #438
- @bbroder-algo made their first contribution in #445
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v2.0.0...v2.0.1
- Remove v1 algod API (
algosdk/algod.py
) due to API end-of-life (2022-12-01). Instead, use v2 algod API (algosdk/v2client/algod.py
). - Remove
algosdk.future
package. Move package contents toalgosdk
. - Remove
encoding.future_msgpack_decode
method in favor ofencoding.msgpack_decode
method. - Remove
cost
field inDryrunTxnResult
in favor of 2 fields:budget-added
andbudget-consumed
.cost
can be derived bybudget-consumed - budget-added
. - Remove
mnemonic.to_public_key
in favor ofaccount.address_from_private_key
. - Remove logicsig templates,
algosdk/data/langspec.json
and all methods inlogic
depending on it.
- Fix: populate_foreign_array offset logic by @jgomezst in #406
- v2: Breaking changes from v1 to v2.0.0 by @ahangsu in #415
- v2: Delete more references to
langspec
by @algochoi in #426 - LogicSig: Add LogicSig usage disclaimer by @michaeldiamant in #424
- Infrastructure: Only package
algosdk
insetup.py
by @algochoi in #428 - Tests: Introduce type linting with mypy by @jdtzmn in #397
- Bug-Fix: encode ABI string with non-ASCII characters by @ahangsu in #402
- Tests: Migrate v1 algod dependencies to v2 in cucumber tests by @algochoi in #400
- Enhancement: allowing zero length static array by @ahangsu in #401
- README: Delete Travis CI Badge by @algochoi in #404
- examples: Migrate v1 algod usage to v2 algod by @algochoi in #403
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v1.20.1...v1.20.2
- Bug-fix: Implement
TransactionRejectedError
by @jdtzmn in #396 - Decoding: Fix roundtrip encode/decode tests for transactions by @algochoi in #398
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v1.20.0...v1.20.1
- Boxes: Add support for Boxes by @algochoi in #348
class StateSchema
's methodundictify()
now returns aStateSchema
object instead of a pythondict
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v1.19.0...v1.20.0
- REST API: Add algod block hash endpoint, add indexer block header-only param. by @winder in #390
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v1.18.0...v1.19.0
- Deprecation: Add deprecation warnings on v1 algod API and old transaction format by @algochoi in #381
- enhancement: add unit test for ParticipationUpdates field by @shiqizng in #386
- Bug-fix: Pass verbosity through to testing harness by @tzaffi in #373
- Enhancement: Trim the indexer images and use the sandbox instead of custom dockers by @tzaffi in #367
- Enhancement: Add State Proof support by @shiqizng in #370
- Enhancement: Deprecating use of langspec by @ahangsu in #371
- @ahangsu made their first contribution in #371
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v1.16.1...v1.17.0
- Bug-fix: Pass verbosity through to testing harness by @tzaffi in #373
- Enhancement: Trim the indexer images and use the sandbox instead of custom dockers by @tzaffi in #367
- Enhancement: Add State Proof support by @shiqizng in #370
- Enhancement: Deprecating use of langspec by @ahangsu in #371
- @ahangsu made their first contribution in #371
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v1.16.1...v1.17.0b1
- bug-fix: add check to desc so we dont output null if undefined by @barnjamin in #368
- AVM: Consolidate TEAL and AVM versions by @michaeldiamant in #361
- Testing: Modify cucumber steps to use dev mode network by @algochoi in #360
- Dev Tools: Source map decoder by @barnjamin in #353
- Github-Actions: Adding pr title and label checks by @algojack in #358
- Implement new step asserting that AtomicTransactionComposer's attempt to add a method can fail with a particular error by @tzaffi in #347
- Split up unit test files and rename tests directory to test by @algochoi in #351
- App page const by @barnjamin in #357
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v1.15.0...v1.16.0
- Break v2_step.py into account_, application_, and other_ by @tzaffi in #341
- Add method to ABIResult by @barnjamin in #342
- Add method to get Method by name by @barnjamin in #345
Full Changelog: https://github.com/algorand/py-algorand-sdk/compare/v1.14.0...v1.15.0
- Update client API to support new cost fields in dryrun result by @algoidurovic in #336
- @algoidurovic made their first contribution in #336
- Fix readthedocs by providing root requirements.txt (#332)
- Adding condition for allowing rcv to be none if close to is set (#317)
- Adding foreign-app-addr to dryrun creator (#321)
- Matrix test python versions integration tests (#327)
- Matrix test across Python versions for unit tests (#325)
- Bump minimum Python version to 3.8 (#323)
- Add minimum Python version policy to README (#322)
- Consistently reference
pip3
in README (#319)
- Fixed typo in lsig trace (#320)
- Catch TypeError and ValueError in verify functions (#309)
- Dryrun response (#283)
- Support unlimited assets REST API changes. (#295)
- Fix the cucumber test wording around block rounds in indexer asset balance lookup (#301)
- Support unlimited assets REST API changes. (#295)
- Fix the cucumber test wording around block rounds in indexer asset balance lookup (#301)
- New keyreg txn field (#244)
- C2C Feature and Testing (#268)
- Add App creator to account balances (#277)
- Add ABI and ATC to Sphinx (#289)
- Change init.py to include v2client import (#243)
- Updates to pipeline (#279)
- Add CircleCI build step to generate docsets (#285)
- revert to point testing harness to sdk testing's master branch (#288)
- Partially fix types for atomic transaction composer (#290)
- Update
langspec.json
for Teal6 (#292)
- Create dryrun (#259)
- Support Foreign objects as ABI arguments and address ARC-4 changes (#251)
- Add requirement to fetch behave source code and update readme (#262)
- Fix wait for confirmation function (#263)
- Add a default User-Agent header to the v2 algod client (#260)
- ABI Interaction Support for Python SDK (#247)
- ABI Type encoding support (#238)
- Add type hints and clean up ABI code (#253)
- Add CircleCI configs to the Python SDK repo (#246)
- Re-format local and global state to work with correct msgpack encoding (#274)
- Support Foreign objects as ABI arguments and address ARC-4 changes (#251)
- Add requirement to fetch behave source code and update readme (#262)
- Fix wait for confirmation function (#263)
- Add a default User-Agent header to the v2 algod client (#260)
- ABI Interaction Support for Python SDK (#247)
- ABI Type encoding support (#238)
- Add type hints and clean up ABI code (#253)
- Add CircleCI configs to the Python SDK repo (#246)
- Add wait_for_confirmation() to AlgodClient (#214)
- Support AVM 1.0 (#236)
- Support for < python 3.7 (#221)
- Fix JSON decoding in AlgodHTTPError (#223)
- Add OnlineyKeyregTxn and OfflineKeyregTxn class and additional tests.
- Signing support for rekeying to LogicSig/MultiSig account
- Deprecate to_public_key and remove internal usage of to_public_key
- Modified constants.py to match python.org PEP 8 style guidelines
- Bugfix for newer Sphinx versions - m2r replaced with maintained m2r2
- Fix typo in min/max balance indexer & make clearer
- Merge Request headers in
algod.py
- Support for dynamic opcode accounting, backward jumps, loops, callsub, retsub
- Ability to pay for more app space
- Ability to pool fees
- Raise JSONDecodeError instead of None (#193)
- Support new features for indexer 2.3.2
- Support for offline and nonparticipating key registration transactions.
- Add TEAL 3 support
- Detects the sending of unsigned transactions
- Add asset_info() and application_info() methods to the v2 AlgodClient class.
- Dependency on missing constant removed
- Logic multisig signing fixed
- kmd.sign_transaction now works with application txn
- Added check for empty result in list_wallets
- Now zero receiver is handled in transactions
- Added init file for testing
- Moved examples out of README into examples folder
- Added optional 'round_num' arguments to standardize 'round_num', 'round', and 'block'
- Support for Applications
- Now content-type is set when sending transactions
- indexer client now allows no token for local development environment
- Support for indexer and algod 2.0
- Added support for Algorand Smart Contracts (ASC)
- Dynamic fee contract
- Limit order contract
- Periodic payment contract
- Added SuggestedParams, which contains fee, first valid round, last valid round, genesis hash, and genesis ID; transactions and templates from 'future' take SuggestedParams as an argument.
- Added suggested_params_as_object() in algod
- Added asset decimals field.
- Added support for Algorand Standardized Assets (ASA)
- Added support for Algorand Smart Contracts (ASC)
- Added support for Hashed Time Lock Contract (HTLC)
- Added support for Split contract
- Added support for Group Transactions
- Added support for leases
- custom headers and example
- more flexibility in transactions_by_address()
- documentation changes
- signing and verifying signatures for arbitrary bytes
- option for flat fee when creating transactions
- functions for converting from microalgos to algos and from algos to microalgos
- algod.send_transaction(): sends SignedTransaction
- algod.send_raw_transaction(): sends base64 encoded transaction
- Multisig.get_account_from_sig() is now Multisig.get_multisig_account
- SDK released