Releases: algorandfoundation/algokit-utils-py
v3.0.1-beta.1
v3.0.0
⚠ BREAKING CHANGES
While we aim to minimize breaking changes through deprecation notices, some changes were necessary to improve the architecture and usability of the library.
NOTE: We highly recommend reviewing the migration guide for detailed migration paths.
Key changes:
- The core client interface has changed from individual functions to a unified
AlgorandClientclass ApplicationClienthas been replaced by the more powerfulAppClientandAppFactoryclasses- Transaction composition has moved to a new
TransactionComposerclass with more specific method names - Introducing dedicated
AlgoAmounttype for dealing with values representing Algo amount. - Asset management has moved to dedicated methods under
AlgorandClient.asset
Features
The new version introduces several improvements to make Algorand development more intuitive and aligned with the equivalent SDKs in other languages:
Enhanced Application Management
- New ARC-56 support for modern application specifications
- Improved app deployment with better control over updates and schema changes
- Enhanced box space management and ABI integration
- Simplified app state management with typed returns
Improved Transaction Handling
- More granular control over transaction composition
- Better fee management with static and maximum fee controls
- Enhanced ABI method call support
- Improved transaction grouping capabilities
Simplified Client Interface
# New unified client interface
algorand = AlgorandClient.testnet() # or .mainnet() or .localnet()
# Asset operations
algorand.asset.create(...)
algorand.asset.opt_in(...)
algorand.asset.transfer(...)
# Application operations
algorand.app.create(...)
algorand.app.call(...)
algorand.app.update(...)
# Account operations
algorand.account.fund(...)
algorand.account.get_information(...)Better Type Safety and Error Handling
- More consistent return types across operations
- Better error messages with detailed failure information
- Enhanced debugging support with source maps
- Improved transaction simulation capabilities
Deprecated Features
Many standalone functions have been deprecated in favor of the new AlgorandClient interface:
- Standalone asset operations (
create_asset,asset_opt_in, etc.). - Individual app management functions (
create_app,update_app, etc.). - Direct transaction manipulation functions
- Legacy app deployment methods
Please note, these functions will continue to work but will show deprecation warnings. We recommend migrating to the new interfaces for better maintainability and features (see dedicated migration guide). If you spot any inconsistencies, please report them as an issue on repo.
This new version represents a step forward in making Algorand development more intuitive and maintainable while providing better tooling, type safety and feature parity with the equivalent AlgoKit Utils SDKs in other languages.
CHANGELOG
Feature
Fix
- Remove deprecation decorator causing side effects (#141) (
a10720e) - Name normalization in arc56 contract; extra test for more verbose validation (#140) (
a38843a) - Addressing internal feedback (batch 6) (#139) (
4c661c0) - Expose algosdk lsig, multisig object instances in account wrappers (#138) (
24b2d19) - Feedback batch #4 (#136) (
7a2559f) - Detect changes in extra program pages as a schema break (#135) (
43aa41f) - Addressing internal feedback (3) (#134) (
b8071a8) - Second batch of minor improvements based on internal feedback (#133) (
0693abc) - Addressing feedback and minor tweaks (#132) (
007bb8e)
Breaking
- Major restructuring and new app client interfaces (
428dab1)