Announcing
icp-py-core v2.0.0
We are pleased to announce the release of icp-py-core v2.0.0, a significant update that brings stronger default security and important reliability fixes for Python developers building on the ICP.
This release includes a breaking change, two critical bug fixes, and several improvements contributed by the community.
A special thanks to @icpp for reporting issues, proposing improvements, and contributing to this release.
Breaking Change: Certification Verification Enabled by Default
Starting from v2.0.0 , response certification verification is now enabled by default for all query calls.
Previously, certification checks were disabled by default, which meant unverified responses could be consumed without warning. Enabling verification by default ensures that developers receive trusted, certified data unless they explicitly opt out.
If you need the previous behavior (e.g., testing or compatibility):
client = IcpClient(..., verify_certification=False)
Because this change may cause existing code to fail when interacting with canisters that do not provide certified responses, this update is released as a major version bump.
Bug Fixes
1.
Fixed: Missing flag byte in Principal decoding
An issue where Principal decoding failed due to a missing flag byte has been resolved.
This improvement aligns Principal parsing with expected IC specifications.
Thanks to @icpp for reporting the issue.
2.
Fixed: Authenticated query calls failing
An issue causing authenticated query calls to fail unexpectedly has been fixed, restoring correct behavior for identity-based or certified queries.
This problem was also identified with the help of @icpp.
Installation & Upgrade
Upgrade via PyPI:
pip install --upgrade icp-py-core
Or install explicitly:
pip install icp-py-core==2.0.0
PyPI: Client Challenge
Github: Release v2.0.0 · eliezhao/icp-py-core · GitHub
Community Acknowledgment
Once again, thank you @icpp for identifying issues and contributing to the security and correctness of this release.
Community feedback has been essential in moving this library forward.
Feedback & Contributions
If you encounter any issues or have feature requests, please feel free to open an issue or PR on GitHub.