Releases: hiero-ledger/hiero-sdk-python
v0.2.3
[0.2.3] - 2026-03-26
Src
- Add repr method to TokenId class for cleaner debugging output (#1653)
- Updated AccountUpdateTransaction.set_key() to accept generic Key objects (including KeyList and threshold keys), rather than strictly requiring a PublicKey.
- Fix the TransactionGetReceiptQuery to raise ReceiptStatusError for the non-retryable and non success receipt status
- Refactor AccountInfo to use the existing StakingInfo wrapper class instead of flattened staking fields. Access is now via info.staking_info.staked_account_id, info.staking_info.staked_node_id, and info.staking_info.decline_reward. The old flat accessors (info.staked_account_id, info.staked_node_id, info.decline_staking_reward) are still available as deprecated properties and will emit a DeprecationWarning. (#1366)
- Added abstract Key supper class to handle various proto Keys.
Examples
Tests
- Added TCK endpoint for the createAccount method
- Renamed delegate_contract_id.py to delegate_contract_id_test.py (#2004)
- Fix Flaky tests for mock_server by enforcing non-tls port and adding a mock_tls certificate
- Implement basic fuzz testing #1872
Docs
- Add Chocolatey as a prerequisite in the Windows setup guide (#1961)
.github
- chore: update several ubuntu runners to hl-sdk-py-lin-md (#1480)
- Refactored intermediate issue template with quality standards, testing requirements, breaking change awareness, and protobuf verification guidance to reduce review burden and improve PR quality (#1892)
- fix: prevent CodeRabbit from posting comments on closed issues(#1962)
- chore: update spam list #1988
- chore: Update bot-advanced-check.yml, bot-gfi-assign-on-comment.yml, bot-intermediate-assignment.yml, bot-linked-issue-enforcer.yml, unassign-on-comment.yml, working-on-comment.yml workflow runner configuration
packages
- chore(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 by @dependabot[bot] in #2003
- chore(deps): bump step-security/harden-runner from 2.14.2 to 2.16.0 by @dependabot[bot] in #1989
AUTO GENERATED
What's Changed
- fix: prevent CodeRabbit from posting comments on closed issues by @Abhijeet2409 in #1996
- fix: TransactionGetReceiptQuery to raise ReceiptStatusError by @manishdait in #1990
- chore: wrap staking fields in StakingInfo wrapper class by @Mounil2005 in #1914
- chore(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 by @dependabot[bot] in #2003
- feat(tck): Impl Tck endpoint for createAccount by @manishdait in #1978
- chore(deps): bump step-security/harden-runner from 2.14.2 to 2.16.0 by @dependabot[bot] in #1989
- chore: add Chocolatey to Windows setup prerequisites by @NishanthMolleti in #2009
- fix: refactor intermediate issue template to improve PR quality and reduce review burden by @cheese-cakee in #2010
- chore: rename delegate_contract_id to delegate_contract_id_test by @aiedwardyi in #2014
- chore: spam list update by @exploreriii in #2017
- fix: Flaky unit tests for
mock_serverby enforcing non-tls port and adding a mock_tls certificate by @manishdait in #2012 - chore: update remaining bot workflows to self-hosted runners by @rayank906 in #2020
- feat: Added support for Keys in the AccUpdateTrxns. by @Adityarya11 in #2007
- ci: update several runners by @exploreriii in #2018
- Feat/1653 repr token by @Itssubhraneelbruv in #2024
- feat: add basic fuzz testing by @AntonioCeppellini in #1896
- chore: release v0.2.3 by @exploreriii in #2028
- chore(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 by @dependabot[bot] in #2030
- fix: Build fails in publish.yml by @manishdait in #2032
New Contributors
- @NishanthMolleti made their first contribution in #2009
- @aiedwardyi made their first contribution in #2014
- @Itssubhraneelbruv made their first contribution in #2024
Full Changelog: v0.2.2...v0.2.3
v0.2.2
Releases v0.2.2
This release is smaller, a pre-emptive release as some new changes are on the horizon.
Involves mostly light package updates and adds include_children to TransactionRecordQuery
[0.2.2] - 2026-03-17
Packages
- Changed pytest version to "pytest>=8.3.4,<10" (#1917)
- Update protobuf schema version to v0.72.0-rc.2 in
.coderabbit.yaml - Updated
generated_proto.pyfile to work with new proto version - fix: Ensure UTF-8 encoding when reading and writing proto files in
generate_proto.pyto prevent encoding issues on Windows (#1963) - chore(deps): bump astral-sh/setup-uv from 7.3.1 to 7.5.0 by @dependabot[bot] in #1967
- chore(deps): bump step-security/harden-runner from 2.15.0 to 2.15.1 by @dependabot[bot] in #1912
- [StepSecurity] Apply security best practices by @step-security-bot in #1948
Src
- feat: add support for
include_childrento TransactionRecordQuery (#1512)
Examples
- refactor: the
examples/consensus/topic_create_transaction_revenue_generating.pyexample to useClient.from_env()for simpler client setup. (#1964) - refactor:
examples/consensus/topic_delete_transaction.pyto use Client.from_env() for simplified client initialization, removed manual setup code, and cleaned up unused imports (os,AccountId,PrivateKey). (#1971)
Docs
- Replaced relative documentation links in
README.mdwith absolute GitHub URLs to fix broken PyPI rendering. - docs: Clarified AI usage in Good First Issues templates. (#1923)
- docs: Moved the Windows setup guide to docs/sdk_developers/ and added missing setup sections. (
#1953)
.github
- chore: ensure uv run uses lowest-direct resolution in deps-check workflow (#1919)
- Added PR draft explainer workflow to comment when PRs are converted to draft after changes are requested. (#1723)
- changed
pr-check-testto run unit matrix first, run integration matrix only after unit success, skip docs/examples/.github-only changes, and parallelize integration tests with xdist (#1878) - archived workflows relating to PR reminders
- chore: switch workflow runner from ubuntu-latest to hl-sdk-py-lin-md for bot-assignment-check.yml workflow
- chore: update concurrency group for GFI assignment workflow to prevent race conditions (
#1910) - chore: switch workflow runner from ubuntu-latest to hl-sdk-py-lin-md for bot-beginner-assign-on-comment workflow
- chore: update bot-coderabbit-plan-trigger workflow to use self-hosted runner (
#1925) - Require contributors to complete 1 beginner issue before they can be assigned an intermediate issue (#1939)
- Expand spam list (#1933)
- Expand spam list (#1972)
- chore: add ndpvt-web to spam list (#1945)
- chore: update bot-community-calls workflow to use self hosted runner (#1942)
- chore(ci): update bot-inactivity-unassign workflow to use hl-sdk-py-lin-md runner
- chore: update bot-gfi-candidate-notification workflow to use hl-sdk-py-lin-md runner (
#1966) - feat: added CodeRabbit review instructions in
.coderabbit.yamlfor account modulesrc/hiero_sdk_python/account/.
AUTO GENERATED
What's Changed
- chore(deps): bump step-security/harden-runner from 2.15.0 to 2.15.1 by @dependabot[bot] in #1912
- chore: update concurrency group for GFI assignment workflow to prevent race conditions by @danielmarv in #1910
- fix: readme links by @exploreriii in #1918
- chore: archive workflows pull request target by @exploreriii in #1916
- chore: switch workflow runner to hl-sdk-py-lin-md by @leonardo-gonc in #1926
- Update pytest by @Ethan-vim in #1928
- Update bot-assignment-check workflow to use self hosted runner by @rayank906 in #1931
- feat: add CodeRabbit review instructions for account module by @MonaaEid in #1883
- chore: update intermediate bot assignment to require 1 beginner issue by @Aman-Singh-Kushwaha in #1940
- chore: expand spam list by @exploreriii in #1941
- chore: update bot-coderabbit-plan-trigger workflow to use self hosted runner by @P-r-e-m-i-u-m in #1937
- chore: add ndpvt-web to spam list by @P-r-e-m-i-u-m in #1947
- docs: Clarify AI usage in templates by @freya-docs in #1930
- chore: update bot-community-calls workflow to use self-hosted runner by @P-r-e-m-i-u-m in #1946
- [StepSecurity] Apply security best practices by @step-security-bot in #1948
- docs: move Windows setup guide and add missing setup sections by @danielmarv in #1958
- chore(ci): switch bot inactivity workflow to hl-sdk-py-lin-md runner by @emanisaikumar01 in #1957
- chore: Update generate_proto.py to work with new proto version by @manishdait in #1955
- chore: speed up pr-check-test workflow runtime by @adityagiri3600 in #1895
- feat: Add support for include_children to TransactionRecordQuery by @AntonioCeppellini in #1959
- fix: Ensure UTF-8 encoding when reading and writing proto files by @danielmarv in #1968
- chore: updated bot-gfi-candidate-notification worflow to run on hl-sdk-py-lin-md by @oGranny in #1966
- chore(deps): bump astral-sh/setup-uv from 7.3.1 to 7.5.0 by @dependabot[bot] in #1967
- feat: add PR draft explainer workflow by @parvninama in #1907
- chore: Simplify client setup using Client.from_env() in examples by @oGranny in #1975
- chore: ensure uv run uses lowest-direct resolution in deps-check workflow by @Rajkoli145 in #1976
- chore: refactor topic_delete_transaction to use Client.from_env() by @greywolf8 in #1971
- chore: add to spam list by @exploreriii in #1985
- chore: update hedera protobufs in coderabbit review instructions by @MonaaEid in #1986
- chore: v0.2.2 release by @exploreriii in #1993
New Contributors
- @leonardo-gonc made their first contribution in #1926
- @Ethan-vim made their first contribution in #1928
- @rayank906 made their first contribution in #1931
- @Aman-Singh-Kushwaha made their first contribution in #1940
- @P-r-e-m-i-u-m made their first contribution in #1937
- @step-security-bot made their first contribution in #1948
- @emanisaikumar01 made their first contribution in #1957
- @oGranny made their first contribution in #1966
- @greywolf8 made their first contribution in #1971
Full Changelog: v0.2.1...v0.2.2
v0.2.1
What's Changed
- docs: add workflow architecture explanation by @gangulysiddhartha22-cmyk in #1778
- fix: resolve bot workflow runtime failure by @Abhijeet2409 in #1789
- revert: max assignment count for pull requests by @exploreriii in #1774
- chore: improve docstring for compress_point_unchecked by @ParasSalonia in #1793
- chore: format endpoint_test.py using black by @ParasSalonia in #1792
- chore: update step-security/harden-runner from 2.14.1 to 2.14.2. in a workflow by @imraflip in #1801
- chore: reduce linting errors in examples by by 68% (952 → 303) by @ambicuity in #1755
- chore: update office hourse community calls to direct link by @imraflip in #1804
- feat: add draft PR ready-for-review reminder bot by @parvninama in #1786
- fix: redesign beginner issue template to improve completion rates by @cheese-cakee in #1729
- chore: add CodeRabbit review instructions and path mapping for schedule module by @gangulysiddhartha22-cmyk in #1816
- chore: add CodeRabbit review instructions for the transaction module by @gangulysiddhartha22-cmyk in #1824
- revert: restore original PythonBot workflow by @Abhijeet2409 in #1826
- feat: Add Workflow Documentation Guide by @jona42-ui in #1772
- refactor: use Client.from_env() in contract_delete_transaction example by @Rajsinha7 in #1823
- docs: fix formatting in Good First Issue guidelines by @omaarsaaleh in #1831
- fix: format TopicInfo expiration_time in UTC by @EugeneSim in #1802
- docs: create workflow best practices guide by @ambicuity in #1822
- docs: update CodeRabbit workflow review instructions to nudge quality (#1799) by @ambicuity in #1809
- chore: Check triage members max assignment is protected from being a mentor by @AkshayKumarSahu in #1811
- docs: add python compatibility badge to readme by @omaarsaaleh in #1832
- refactor: use Client.from_env() in file_create_transaction example by @anushka7426 in #1790
- chore: apply CodeRabbit instructions for file module (#1697) by @ambicuity in #1841
- chore: add CodeRabbit review instructions for the nodes module by @gangulysiddhartha22-cmyk in #1840
- chore(deps): bump hiero-ledger/hiero-solo-action from 0.16.0 to 0.17.0 by @dependabot[bot] in #1817
- docs: fix MAINTAINERS link in bug guide (#1666) by @adityagiri3600 in #1838
- chore: added hiero-sdk-js to GFI bot recommendation by @SpeedRelativity in #1848
- chore(deps): bump step-security/harden-runner from 2.14.2 to 2.15.0 by @dependabot[bot] in #1852
- feat: implement TCK JSON-RPC server by @MonaaEid in #1576
- chore: fix duplication in bot next issue recommendation (#1658) by @ambicuity in #1842
- chore(deps): bump lycheeverse/lychee-action from 2.7.0 to 2.8.0 by @dependabot[bot] in #1853
- docs(setup): specify unit tests for local setup verification (Fixes #1855) by @danielmarv in #1856
- docs: Improving formatting will make the pull request process clearer by @danielmarv in #1858
- chore: Resolve CodeQL reflected-XSS warning in TCK JSON-RPC endpoint by @manishdait in #1875
- docs: Fix testnet link in README.md by @freya-docs in #1879
- feat: add consensus and general protobuf alignment review instructions by @MonaaEid in #1865
- ci: add conventional PR title bot for automated feedback by @AshharAhmadKhan in #1767
- feat(bot): warn PR authors that unlinked PRs will be closed by @danielmarv in #1886
- chore: Added review prompt for crypto module by @manishdait in #1850
- docs: Clarify issues need to be assigned in template files. by @freya-docs in #1884
- chore: spam list update by @exploreriii in #1897
- chore: bump astral-sh/setup-uv from v7.2.1 to v7.3.1 by @mizoz in #1904
- chore: Added unit test and repr for NftId class by @om12prakash in #1881
- feat(bot): enforce linked issue assignment check for PR authors by @danielmarv in #1889
- chore: improve keccak256 docstring and update changelog by @GeeshaN2001 in #1862
- chore: Added codacy config to exclude the
tests/directory from Bandit analysis. by @manishdait in #1887 - feat: Add optional receipt waiting to Transaction.execute() by @manishdait in #1769
- feat: add staking_info fields to ContractInfo by @Mounil2005 in #1744
- chore: v0.2.1 by @manishdait in #1909
New Contributors
- @imraflip made their first contribution in #1801
- @Rajsinha7 made their first contribution in #1823
- @omaarsaaleh made their first contribution in #1831
- @EugeneSim made their first contribution in #1802
- @anushka7426 made their first contribution in #1790
- @adityagiri3600 made their first contribution in #1838
- @SpeedRelativity made their first contribution in #1848
- @danielmarv made their first contribution in #1856
- @freya-docs made their first contribution in #1879
- @mizoz made their first contribution in #1904
- @GeeshaN2001 made their first contribution in #1862
Full Changelog: v0.2.0...v0.2.1
v0.2.0
This release is large. The headline themes are: stricter typing, better ergonomics, broader receipt/query capabilities, TLS hardening, and a major cleanup of examples, docs, and automation.
The source code changes are described at a high level:
New Features
EVM & Mirror Node Integration:
-
AccountId now supports initialization and conversion from EVM addresses (20-byte hex).
-
Added populate_account_num and populate_evm_address to AccountId to resolve missing identifiers via Mirror Node REST queries.
-
ContractId updated with to_evm_address using a new to_solidity_address helper.
-
Client Enhancements:
- New Client.from_env() method to automatically initialize a client from a .env file using OPERATOR_ID, OPERATOR_KEY, and NETWORK variables.
- Added support for TLS configuration, including custom root certificates and certificate verification toggles.
- New update_network() method to refresh node lists from mirror nodes.
-
Key Utilities:
- Introduced a unified Key type alias (Union of PrivateKey and PublicKey) and a key_to_proto helper to simplify transaction construction.
-
Data Models:
- Added AssessedCustomFee to represent fees collected during transactions, as found in transaction records.
- Added StakingInfo to provide details on account staking status and rewards.
-
Hbar Units:
- Added convenience factory methods for Hbar: from_microbars, from_millibars, from_kilobars, and from_megabars.
Changes & Improvements
-
Developer Experience:
- Added human-friendly str and developer-friendly repr methods to AccountBalance, AccountInfo, AccountId, StakingInfo, and AssessedCustomFee.
-
Query Execution:
-
Standardized execute() methods across various queries (e.g., AccountRecordsQuery, ContractInfoQuery, TokenInfoQuery) to accept an optional timeout parameter.
-
Improved query payment logic to fallback to the client-level default_max_query_payment if not explicitly set on the query.
-
Transaction Handling:
-
AccountCreateTransaction now accepts both PrivateKey and PublicKey for setting account keys.
-
Added set_transaction_valid_duration to the base Transaction class.
-
Node Management:
- Refined node health tracking with backoff increase/decrease logic and automatic re-admission of healthy nodes.
-
Deprecations:
- CustomFixedFee.set_amount_in_tinybars() is now deprecated. Developers should use set_hbar_amount(Hbar.from_tinybars(amount)) instead.
-
Behavioral Changes:
-
AccountId.hash now only hashes the shard, realm, and num, excluding the alias_key.
-
The Client now defaults to a 10-second gRPC deadline and a 120-second request timeout.
[0.2.0] - From changelog entries
Src - Breaking Changes
Deprecations:
-
Remove deprecated 'in_tinybars' parameter and update related tests
/src/hiero_sdk_python/hbar.py,/tests/unit/hbar_test.pyand/src/hiero_sdk_python/tokens/custom_fixed_fee.py. -
Behavioral Changes:
-
AccountId.hash now only hashes the shard, realm, and num, excluding the alias_key.
-
The Client now defaults to a 10-second gRPC deadline and a 120-second request timeout.
Src
New:
-
feat: AccountCreateTransaction now supports both PrivateKey and PublicKey #939
-
Support selecting specific node account ID(s) for queries and transactions and added
Network._get_node()with updated execution flow (#362) -
Add support for include_children in TransactionGetReceiptQuery (#1100)(#1100)
-
Added support for include duplicates in get transaction receipt query (#1166)
-
Add TLS support with two-stage control (
set_transport_security()andset_verify_certificates()) for encrypted connections to Hedera networks. TLS is enabled by default for hosted networks (mainnet, testnet, previewnet) and disabled for local networks (solo, localhost) (#855) -
Add contract_id support for CryptoGetAccountBalanceQuery(#1293)
-
Add StakingInfo class (1364)
-
Added first-class support for EVM address aliases in
AccountId, including parsing, serialization, Mirror Node population helpers. -
Added MirrorNode based population for
ContractId, including parsing and serialization support. -
Added
grpc_deadlinesupport for transaction and query execution. -
Added
Client.from_env()and network-specific factory methods (e.g.,Client.for_testnet()) to simplify client initialization and reduce boilerplate. [#1251] -
Added convenient factory methods to
Hbarclass for easier instantiation:from_microbars(),from_millibars(),from_hbars(),from_kilobars(),from_megabars(), andfrom_gigabars(). #1272 -
Support for setting
max_query_payment,Query.set_max_query_payment()allows setting a per-query maximum Hbar payment andClient.set_default_max_query_payment()sets a client-wide default maximum payment. -
Allow
PublicKeyfor batch_key inTransaction, enabling bothPrivateKeyandPublicKeyfor batched transactions -
Allow
PublicKeyforTokenUpdateKeysinTokenUpdateTransaction, enabling non-custodial workflows where operators can build transactions using only public keys (#934). -
Changed
TransactionResponse.get_receipt()so now pins receipt queries to the submitting node viaset_node_account_ids()(#1686) -
fix: TLS Hostname Mismatch & Certificate Verification Failure for Nodes
-
fix: ensure all Query sub-class
execute()function to correctly propagate the optionaltimeoutparameter. -
Added
AssessedCustomFeedomain model to represent assessed custom fees. (#1637) -
Added Hbar object support for TransferTransaction HBAR transfers: Methods now accept
Union[int, Hbar]for amount parameters with immediate normalization to tinybars -
Added all missing fields to
__str__()method and updatedtest_token_info.py -
Added
__str__()to CustomRoyaltyFee and updated examples and tests accordingly (#986) -
Added str and repr to AccountBalance
-
Added
__eq__and__hash__functions for Key -
Type hints to exception classes (
PrecheckError,MaxAttemptsError,ReceiptStatusError) constructors and string methods. -
Added missing type hints to sign method in Transaction class (#1630)
-
Add return type hint to
ContractId.__str__. (#1654) -
Add return type hint to
AccountId.__repr__for type consistency. (#1503) -
Updated return of to_bytes function in
src/hiero_sdk_python/transaction/transaction.py. (#1631) -
Added missing return type
src/hiero_sdk_python/utils/entity_id_helper.py. (#1622) -
Improved docstring for
account_allowance_approve_transaction_nft.pywith purpose, key concepts and required vs optional steps. -
Implement custom
__repr__method forFileIddataclass class that returns constructor-style representation for improved debugging experience (#1628) -
Added
__str__and__repr__methods toAccountInfoclass for improved logging and debugging experience (#1098) -
Added support for the
includeDuplicatesflag inTransactionRecordQueryandduplicatesfield inTransactionRecord(#1635) -
Add repr custom method for ContractId class to improve debugging (#1714)
-
Add
__repr__()method toTopicIdclass for improved debugging with constructor-style representation (#1629) -
Added comprehensive docstring to
FeeAssessmentMethodenum explaining inclusive vs exclusive fee assessment methods with usage examples. (#1391) -
Added comprehensive docstring to
TokenTypeenum explaining fungible vs non-fungible tokens with practical use cases. (#1392) -
Added
__str__()to CustomFixedFee and updated examples and tests accordingly.
Examples
- Update
verify_freeze()to treat only ACCOUNT_FROZEN_FOR_TOKEN as a successful freeze verification (#1515) - Added a module-level docstring to the HBAR allowance approval example to clarify delegated spending behavior and key concepts. #1202
- examples/mypy.ini for stricter type checking in example scripts
- Formatted examples/tokens directory using black code formatter for consistent code style
- Refactored
account_create_transaction_create_with_alias.pyexample by splitting monolithic function into modular functions:generate_main_and_alias_keys(),create_account_with_ecdsa_alias(),fetch_account_info(),print_account_summary()(#1016) - Modularized
transfer_transaction_fungibleexample by introducingaccount_balance_query()&transfer_transaction().Renamedtransfer_tokens()→main() - Refactored
examples/consensus/topic_create_transaction.pyto useClient.from_env()(#1611) - Refactored
account_create_transaction_without_alias.pyinto smaller, modular functions.(#1321) - Refactored
account_create_transaction_with_fallback_alias.pyby splitting the monolithiccreate_account_with_fallback_aliasfunction into modular functions:generate_fallback_key,fetch_account_info, andprint_account_summary. The existingsetup_client()function was reused for improved readability and structure (#1018) - Refactored
account_create_transaction_evm_alias.pyto improve readability by splitting the monolithic function into smaller helper functions. #1017 - Renamed example files to match src naming (#1053)
- Improved consistency of transaction examples (#1120)
- Cleaned up
token_airdrop_claim_autoexample for pylint compliance (no functional changes). (#1079) - Formatted
examples/queryusing b...
v0.1.10
New Features
- feat: add missing fields for AccountUpdateTransaction by @emiliyank in #935
- feat: Support for chunkingInfo in TopicSubmitMessageTransaction by @manishdait in #884
- feat: add a str method to CustomFractionalFee class by @MonaaEid in #932
Fixes
- fix: duplicate import in transaction.py by @mukundkumarjha in #857
- fix: Reorganize examples to mirror src structure by @Adityarya11 in #940
Workflows
- fix: Changelog check sensitivity by @exploreriii in #924
- fix: workflow check by @prajeeta15 in #912
- feat: Add fortnightly office hour reminder bot by @Adityarya11 in #906
- chore: update bot workflow for new changelog entry by @exploreriii in #929
- feat: Add automated merge conflict detection bot by @Adityarya11 in #901
- feat: add max number of comments to commit verification bot by @AntonioCeppellini in #904
- chore(deps): bump actions/checkout from 6.0.0 to 6.0.1 by @dependabot[bot] in #943
- chore(deps): bump step-security/harden-runner from 2.13.2 to 2.13.3 by @dependabot[bot] in #936
Docs
- feat: implement account creation example with EVM-style alias transaction by @MonaaEid in #922
- docs: added workflow training by @exploreriii in #938
- feat: add custom fee limit example by @Akshat8510 in #900
- chore: Hiero python developer setup training by @exploreriii in #920
- feat(account): improve NFT allowance deletion example with receipt checks and strict verification by @tech0priyanshu in #941
- chore: changelog entry 0.1.10 release by @exploreriii in #944
Breaking Changes
- refactor: TokenInfo readonly (800) by @AntonioCeppellini in #915
New Contributors
- @mukundkumarjha made their first contribution in #857
Full Changelog: v0.1.9...v0.1.10
Release 0.1.9
What's Changed
- chore: refactor token examples by @MonaaEid in #378
- chore: fix airdrop test names for pytest by @exploreriii in #762
- chore(deps): bump step-security/harden-runner from 2.13.1 to 2.13.2 by @dependabot[bot] in #734
- feat: Add examples/topic_message.py by @Adityarya11 in #788
- feat: Split account_allowance_nft.py into approve and delete examples by @Adityarya11 in #781
- chore: Create examples/topic id.py by @nikhil-nari in #787
- chore: Add missing validation to verify fee_schedule_key is set and updated properly by @manishdait in #790
- fix: Allow -1 for max_automatic_token_associations by @Adityarya11 in #793
- chore(deps): bump protobuf from 6.33.0 to 6.33.1 by @dependabot[bot] in #796
- chore: Add account_balance_query.py example to demonstrate CryptoGetAccountBalanceQuery class. by @MonaaEid in #784
- chore: Add admin key token example (#798) by @jaideepkathiresan in #802
- chore: Created examplws/account_info.py by @nikhil-nari in #804
- feat: Improve Hbar class to support floating-point values by @manishdait in #737
- chore: response code example by @exploreriii in #766
- feat: Allow PublicKey for TopicCreateTransaction keys by @emiliyank in #809
- chore(deps): bump actions/checkout from 5.0.0 to 5.0.1 by @dependabot[bot] in #814
- feat: Allow PublicKey for TokenCreateTransaction keys by @Adityarya11 in #754
- chore: add example for max automatic token associations by @advay-sinha in #819
- chore: log import errors on solo workflow by @exploreriii in #741
- feat: Added missing fields for AccountCreateTransaction by @manishdait in #779
- fix: Staked node ID id issue in the account_create_transationt_e2e_test by @manishdait in #828
- feat: Add example for token supply key usage by @Adityarya11 in #822
- chore: add token_create_transaction_freeze_key.py example by @Shahzaibyy in #827
- feat: verification bot by @exploreriii in #756
- feat: failed workflow bot by @exploreriii in #758
- fix: commit verify + workflow bot - PR_NUMBER syntax, GH_TOKEN env var add, YAML syntax by @nadineloepfe in #836
- feat: add concurrency to workflow bot by @exploreriii in #844
- chore: Workflow bot max posts by @exploreriii in #845
- feat: add detail to token_airdrop and token_airdrop_cancel by @tech0priyanshu in #785
- fix: verified commits workflow formatting yaml by @exploreriii in #849
- feat: Added
BatchTransactionclass by @manishdait in #811 - chore: [StepSecurity] Apply security best practices by @stepsecurity-app[bot] in #852
- chore(deps): bump actions/checkout from 5.0.0 to 6.0.0 by @dependabot[bot] in #856
- feat: add token metadata support to TokenCreateTransaction by @AntonioCeppellini in #866
- feat: added example for fee_schedule_key in token creation and updated by @CynthiaFotso in #868
- feat: Add example for token wipe key usage by @Adityarya11 in #831
- fix: example kyc token by @prajeeta15 in #854
- chore: refactor account hbar allowance examples by @harshadsutar in #871
- chore: structure examples to have subfiles and names to match src by @exploreriii in #770
- chore: Add training documentation for transaction receipts by @Adityarya11 in #873
- docs: add receipt_status_error.md and example script (fixes #878) by @jaideepkathiresan in #883
- feat: Add examples/topic_info.py by @AubreyDDD in #812
- chore: update solo action by @exploreriii in #891
- ci: switch verification workflow to pull_request_target by @tech0priyanshu in #886
- chore(deps): bump actions/setup-python from 6.0.0 to 6.1.0 by @dependabot[bot] in #890
- refactor: improve token_delete_transaction by @tech0priyanshu in #885
- feat: Refactor TokenDissociateTransaction to use set_token_ids method by @MonaaEid in #830
- fix: add guide on Hedera Network by @prajeeta15 in #874
- feat: expand functionality token associate by @AntonioCeppellini in #846
- chore: Release 0.1.9 by @nadineloepfe in #896
New Contributors
- @MonaaEid made their first contribution in #378
- @jaideepkathiresan made their first contribution in #802
- @Shahzaibyy made their first contribution in #827
- @tech0priyanshu made their first contribution in #785
- @AntonioCeppellini made their first contribution in #866
Full Changelog: v0.1.8...v0.1.9
v0.1.8
What's Changed in 0.1.8
GUIDES
- docs: Add guide for joining Hiero Discord (#614) by @Rishabh1925 in #620
- docs: Final submission of PR self-review checklist (#645) by @Rishabh1925 in #687
- docs: Add Table of Contents and consolidated guide to signing.md (#455) by @Rishabh1925 in #692
- docs: create project_structure.md by @Pranay22077 in #725
- docs: add pylance setup and usage guide for SDK developers by @Raja-89 in #718
- chore: Move common_issues.md to docs/sdk_developers for unified documentation (#516) by @Rishabh1925 in #644
DOCSTRINGS
- docs: Add docstrings to account/account_info.py (#562) by @Pranay22077 in #625
- docs: Add complete Google-style docstrings to Logger module (#639) by @Raja-89 in #641
- docs: Add Google-style docstrings to contract_id.py by @Rachitb0611 in #642
- docs: Add Google-style docstrings to token_id.py by @Pranay22077 in #636
- docs: add Google-style docstrings to TransactionRecord by @DinethShakya23 in #711
- chore: Add module, class, and method docstrings to custom_fee.py by @CynthiaFotso in #696
SECURITY
- chore: [StepSecurity] Apply security best practices by @stepsecurity-app[bot] in #634
- chore: update workflow packages by @exploreriii in #510
- chore: one dependabot alerts PR to fix them all by @nadineloepfe in #728
WORKFLOWS
- chore: add read permissions to examples workflow by @exploreriii in #622
- chore: fix examples workflow to log failed imports by @exploreriii in #739
- chore(deps): bump hiero-ledger/hiero-solo-action from 0.14.0 to 0.15.0 (#764)
ENVIRONMENT VARIABLES
- chore: update local environment configuration by @advay-sinha in #655
- chore: Update env.example NETWORK to encourage testnet or local usage by @ryleymao in #664
- feat: Add
localhostandlocalas network names
EXAMPLE REFACTORS
- chore: modularized script of examples/custom_fee.py by @nikhil-nari in #666
- chore: Standardize client initialization across examples/ files (#658) by @Rishabh1925 in #693
- chore: remove hardcoded testnet messages by @elsakarvouni in #670
- fix: Split custom_fee.py into three separate examples by @Adityarya11 in #674
NEW FEATURES
- feat: add
AccountRecordsQueryby @Dosik13 in #407 - feat: add transaction bytes serialization support by @nadineloepfe in #648
- feat: Added
TokenUnpauseTransactionby @manishdait in #643 - feat: add
FreezeTransactionby @Dosik13 in #716 - feat: tokenclaimairdrop transaction by @exploreriii in #730
- feat: add TokenFeeScheduleUpdateTransaction class and tests by @Akshat8510 in #722
- feat: Refactor
AbstractTokenTransferTransactionto unify Token/NFT transfer logic by @manishdait in #710 - feat: Added missing fields for
TokenCreateTransactionandTokenUpdateTransactionby @manishdait in #409
TYPING
- fix: Improve type conflict in token_cancel_airdrop_transaction.py by @Adityarya11 in #637
- fix: Improve type hinting in file_append_transaction.py by @Adityarya11 in #633
- chore: Use typing.NamedTuple for Operator in client.py by @Adityarya11 in #669
- feat: FileId class cleanup, docstrings and typing by @Raja-89 in #656
FIXES
- fix: Use SDK TokenType enum instead of protobuf in examples by @Adityarya11 in #731
- fix(tokens): Prevent ValueError in TokenId.from_string when input is None #630 by @prakhar14-op in #689
- fix: Resolve eq type conflict in CustomFee class (#627) by @Rachitb0611 in #672
- chore: guard token airdrop channel service availability by @advay-sinha in #632
- fix: Update
schedule_sign_transaction_e2e_testto check for key presence instead of relying on index.
BREAKING CHANGES
- chore: removing deprecated functionalities in logger.py by @Raja-89 in #684
- chore: token airdrop rename 631 by @exploreriii in #686
New Contributors
- @Rishabh1925 made their first contribution in #620
- @advay-sinha made their first contribution in #632
- @Rachitb0611 made their first contribution in #642
- @ryleymao made their first contribution in #664
- @nikhil-nari made their first contribution in #666
- @prakhar14-op made their first contribution in #689
- @CynthiaFotso made their first contribution in #696
- @elsakarvouni made their first contribution in #670
AUTO GENERATED
What's Changed
- docs: Add guide for joining Hiero Discord (#614) by @Rishabh1925 in #620
- chore: add read permissions to examples workflow by @exploreriii in #622
- docs: Add docstrings to account/account_info.py (#562) by @Pranay22077 in #625
- feat: add
AccountRecordsQueryby @Dosik13 in #407 - chore: [StepSecurity] Apply security best practices by @stepsecurity-app[bot] in #634
- fix: Improve type conflict in token_cancel_airdrop_transaction.py by @Adityarya11 in #637
- chore: Move common_issues.md to docs/sdk_developers for unified documentation (#516) by @Rishabh1925 in #644
- fix: Improve type hinting in file_append_transaction.py by @Adityarya11 in #633
- chore: guard token airdrop channel service availability by @advay-sinha in #632
- docs: Add complete Google-style docstrings to Logger module (#639) by @Raja-89 in #641
- docs: Add Google-style docstrings to contract_id.py by @Rachitb0611 in #642
- chore: update local environment configuration by @advay-sinha in #655
- chore: Update env.example NETWORK to encourage testnet or local usage by @ryleymao in #664
- chore: modularized script of examples/custom_fee.py by @nikhil-nari in #666
- feat: FileId class cleanup, docstrings and typing by @Raja-89 in #656
- chore: Use typing.NamedTuple for Operator in client.py by @Adityarya11 in #669
- fix: Split custom_fee.py into three separate examples by @Adityarya11 in #674
- fix: Resolve eq type conflict in CustomFee class (#627) by @Rachitb0611 in #672
- docs: Final submission of PR self-review checklist (#645) by @Rishabh1925 in #687
- chore: Standardize client initialization across examples/ files (#658) by @Rishabh1925 in #693
- docs: Add Table of Contents and consolidated guide to signing.md (#455) by @Rishabh1925 in #692
- chore: removing deprecated functionalities in logger.py by @Raja-89 in #684
- fix(tokens): Prevent ValueError in TokenId.from_string when input is None #630 by @prakhar14-op in https://gi...
v0.1.7
Overview
v0.1.7 features mostly documentation and example improvements. It also introduces two new workflows, a checksum feature and a https://github.com/DataClass refactor.
New Documentation:
docs: added Rebasing and Signing section to signing.md with instructions for maintaining commit verification during rebase operations (#556)
[Add](docs: added) examples/account_id.py demonstrating AccountId class usage including creating standard AccountIds, parsing from strings, comparing instances, and creating AccountIds with public key aliases
docs: added Common issues guide for SDK developers at examples/sdk_developers/common_issues.md
docs: added documentation for resolving changelog conflicts in docs/common_issues.md
docs: added comprehensive changelog entry guide at docs/sdk_developers/changelog.md to help contributors create proper changelog entries (#532).
docs: added add initial testing guide
docs: workflow.md documenting key steps to creating a pull request (#605)
docs: added changelog conflict resolution examples to docs/common_issues.md
docs: added "One Issue Per Pull Request" section to examples/sdk_developers/common_issues.md.
docs: update pyproject.toml maintainers list.
docs: added to README a social follow section
Refactored Documentation:
docs: refactored examples/topic_create.py into modular functions for better readability and reuse.
docs: refactored examples/topic_create.py to be more modular by splitting functions and renaming create_topic() to main().
docs: refactored examples/transfer_hbar.py to improve modularity by separating transfer and balance query operations into dedicated functions
docs: refactored examples/topic_message_submit.py to be more modular
docs: refactored examples/transfer_nft.py to be more modular by isolating transfer logic.
docs: refactored examples/file_append.py into modular functions for better readability, reuse, and consistency across examples.
docs: refactored monolithic function in token_create_nft_infinite.py to multiple modular functions for better structure and ease.
docs: refactored query_balance.py into modular, reusable functions with setup_client(), create_account(), get_balance(), transfer_hbars(), and main() for improved readability, maintainability, and error handling.
docs: unified balance and transfer logging format — both now consistently display values in hbars for clarity.
docs: enhanced contributing section in README.md with resource links
docs: Improved the contributing section in the README.md file
docs: Use relative paths for internal GitHub links (#560).
– docs: Updated README.md/CHANGELOG.md and added blog.md, bud.md and setup.md (#474)
New Docstrings:
docs: added Google-style docstrings to CustomFractionalFee class and its methods in custom_fractional_fee.py.
docs: Added Google-style docstrings to CustomFixedFee class and its methods in custom_fixed_fee.py.
docs: Add Google-style docstrings to CustomRoyaltyFee class and its methods in custom_royalty_fee.py.
docs: Add Google-style docstrings to AbstractTokenTransferTransaction class and its methods in abstract_token_transfer_transaction.py.
docs: Add Google-style docstrings to TokenRelationship class and its methods in token_relationship.py.
New Fixes:
docs: Updated all occurrences of non-functional Discord invite links throughout the documentation with the new, stable Hyperledger and Hedera invite links (#603).
docs: Added direct links to Python SDK channel in Linux Foundation Decentralized Trust Discord back in
docs: renamed examples/nft_allowance.py to examples/account_allowance_nft.py for consistency with account class naming scheme
docs: renamed examples/hbar_allowance.py to examples/account_allowance_hbar.py for naming consistency
docs: renamed docs/sdk_developers/changelog.md to docs/sdk_developers/changelog_entry.md for clarity.
New Workflows
feat: added dependabot.yaml file to enable automated dependency management.
feat: added workflow for running example scripts.
New Features
feat: added checksum filed for TopicId, FileId, ContractId, ScheduleId class
New Refactors
refactor: refactored TopicId class to use https://github.com/DataClass decorator for reducing boilerplate code
What's Changed
- fix: fix for code scanning alert no. 4: Workflow does not contain permissions by @exploreriii in #387
- chore: Enhance contributing section with resource links by @nadineloepfe in #502
- refactor: improve modularity of transfer_hbar.py example by @NayandG07 in #503
- refactor: to increase modularity and readability by @prajeeta15 in #421
- chore: refactor examples/topic_message_submit.py to be more modular by @Shashank0701-byte in #509
- docs: Create common issues guide for SDK developers by @ambicuity in #512
- docs(fees): Add Google-style docstrings to CustomFractionalFee by @Raja-89 in #493
- chore: refactor examples/topic_create.py to be more modular by @DinethShakya23 in #519
- chore: Configure Dependabot for GitHub Actions and pip by @rbarker-dev in #524
- docs: Improve contributing section in README by @Pranay22077 in #522
- docs: add guide for resolving changelog conflicts by @amritamishra01 in #529
- feat: add type hints to setup_client() and create_new_account() functions by @Om7035 in #514
- fix: Refactor transfer_nft example for modularity#497 by @Adityarya11 in #515
- docs: Add 'One Issue Per Pull Request' to common_issues.md by @joepaulvilsan in #520
- docs: Create changelog.md guide for SDK contributors (#532) by @ambicuity in #533
- refactor: Rename hbar_allowance.py example file by @Pranay22077 in #540
- docs: Add docstrings to custom_fixed_fee.py by @Pranay22077 in #539
- docs: add examples/account_id.py demonstrating AccountId by @mollymont in #542
- docs: Add docstrings to custom_royalty_fee.py by @Pranay22077 in #547
- chore(examples): refactor topic_delete.py to be more modular by @Adityarya11 in #528
- docs: rename nft_allowance.py to account_allowance_nft.py by @bhaskargurram-ai in #537
- docs: Add docstrings to abstract_token_transfer_transaction.py by @Pranay22077 in #553
- refactor: converted function in examples/token_create_nft_infinite into modular functions by @gg21-prog in #527
- chore: add changelog conflict examples to common_issues.md by @Ananya44444 in #545
- docs: Use relative paths for internal GitHub links (#560) by @Pranay22077 in #561
- docs: Add Google-style docstrings to token_relationship.py by @Pranay22077 in #559
- refactor: Make examples/topic_create.py modular by @msaadsbr in #513
- chore: Update maintainers list and changelog by @riyadey27 in #525
- refactor: modularize file_append example into setup, create, and appe… by @OnatadeTobi in #557
- docs: add Rebasing and Signing section to signing.md by @sankhya007 in #558
- feat(examples): modularize logging_example.py for better maintainability by @Pratyush2240 in #573
- refactor: type id class refactor with dataclass decorator by @RaghavGanesh7 in #574
- fix: remove deprecated snake_case aliases and _DeprecatedAliasesMixin (#428) by @BhuvanB404 in #446
- feat: add initial testing guide structure by @Pranay22077 in #588
- docs: clarify all commits must be signed in signing.md (#459) by @Zaki-Mohd in #464
- feat: Added checksum field to remaining IDs by @manishdait in #422
- fix: Type hints for topic-related transactions by @manishdait in #599
- feat: Added workflow to run example script by @manishdait in #374
- chore: new contributing guide, setup.md, blog.md and checklist.md by @nadineloepfe in #607
- docs: Fix broke...
v0.1.6
What's Changed
- fix: account pylint issues by @Dosik13 in #397
- chore: Release 0.1.5 by @nadineloepfe in #394
- chore: bump solo version to
0.14by @Dosik13 in #402 - chore: Fix Type Error in the token_transfer_list.py by @manishdait in #395
- feat: add CustomFeeLimit and revenue generating topics functionality by @Dosik13 in #388
- feat: Checksum support for TokenId.from_string() by @manishdait in #380
- chore: refactor examples/token_associate.py by @tharun634 in #408
- chore: Refactor examples/token_cancel_airdrop by @piyush588 in #393
- feat: add account allowance transactions by @Dosik13 in #401
- fix: Refactor TokenUnfreezeTransaction by @AubreyDDD in #413
- chore: refactor examples/account_create.py to use modular functions by @kphero in #411
- fix: Replace Hendrik Ebbers with Sophie Bulloch by @jwagantall in #414
- feat: Add strict type hints to TransactionGetReceiptQuery by @drtoxic69 in #426
- docs: add missing transaction examples to running_examples.md by @BhuvanB404 in #435
- docs: improve CONTRIBUTING.md to explain /docs structure and fix hype… by @DinethShakya23 in #447
- chore: refactor examples/token creation by @piyush588 in #448
- fix(tokeninfo): remove duplicate static methods by @Akshat1931 in #430
- feat: add comprehensive Google-style docstrings to examples/account_create.py by @Om7035 in #437
- docs: updated running_examples.md and changelog entry by @arnav-terex in #463
- refactor: converted class in TokenNftInfo to dataclass by @gg21-prog in #451
- fix: update broken documentation links and enhance CONTRIBUTING.md (#440) by @BhuvanB404 in #445
- chore: Release 0.1.6 by @exploreriii in #415
New Contributors
- @tharun634 made their first contribution in #408
- @AubreyDDD made their first contribution in #413
- @kphero made their first contribution in #411
- @drtoxic69 made their first contribution in #426
- @BhuvanB404 made their first contribution in #435
- @DinethShakya23 made their first contribution in #447
- @Akshat1931 made their first contribution in #430
- @Om7035 made their first contribution in #437
- @arnav-terex made their first contribution in #463
- @gg21-prog made their first contribution in #451
Full Changelog: v0.1.5...v0.1.6