1.5.0rc1
Pre-releaseACA-Py 1.5.0 is a significant release that advances the platform’s modernization and modularization goals. The most substantial changes are the upgrade to Python 3.13 and the continued evolution of ACA-Py toward a plugin-oriented architecture, including the removal of the legacy v1.0 credential exchange protocols (issue credential and present proof) from the core agent. The release also includes some important fixes to the wallet migration process to the askar-anoncreds wallet type, and to the webhooks associated with the use of the askar-anoncreds wallet type.
With this release, the v1.0 credential exchange protocols have been fully removed from ACA-Py core and are now expected to be provided via plugins where required. This aligns with earlier deprecation signals and reinforces a cleaner separation between the core agent and optional protocol implementations.
This release includes some follow-on fixes and cleanups to the Kanon Storage capability added in Release 1.4.0, addressing connection management/pooling behavior.
Additional improvements include enhanced scenario test logging and diagnostics, recoverable and event-driven revocation registry management, improvements to Docker image versioning, the introduction of a plugin installer to simplify deployment and management of external ACA-Py plugins, and the usual dependabot updates.
1.5.0 Breaking Changes
This release includes intentional breaking changes as part of ACA-Py’s ongoing modernization:
- Removal of v1.0 credential exchange protocols from core
- The v1.0 issue credential and present proof protocols have been removed from ACA-Py core. Deployments that still depend on these protocols must transition to plugin-based implementations or migrate to newer protocol versions. This change is part of the broader move toward a plugin-driven protocol architecture.
- Python runtime upgrade to 3.13
- ACA-Py now targets Python 3.13. Environments pinned to earlier Python versions will need to upgrade their runtime and validate third-party dependency compatibility.
While not breaking at the API level, implementers should also be aware of behavioral and configuration changes related to:
- Migration from
askartoaskar-anoncreds - The addition of some webhooks missing since the introduction of the
askar-anoncredswallet type - Kanon Storage connection handling and pooling behavior
These areas should be explicitly tested when upgrading to 1.5.0.
1.5.0 Deprecation Notices
The acapy_agent.revocation_anoncreds package has been deprecated and relocated to acapy_agent.anoncreds.revocation for improved consistency across the codebase. The change should only affect [ACA-Py Plugins] that implement AnonCreds, but other developers should also take note.
The wallet-type configuration value askar is now deprecated and all deployments still using that wallet type should migrate to either the askar-anoncreds or (ideally) kanon-anoncreds wallet types.
AIP 1.0 protocols that were previously announced as deprecated have now been removed from ACA-Py core. Implementers still using those protocols MUST adjust their configuration to load those protocols from the respective plugins, or better, upgrade to their AIP 2.0 equivalents.
What's Changed
- chore(deps): Bump openwallet-foundation/acapy-agent from py3.12-1.3.2 to py3.12-1.4.0 in /demo/playground by @dependabot[bot] in #3954
- chore(deps): Bump openwallet-foundation/acapy-agent from py3.12-1.3.2 to py3.12-1.4.0 in /demo/multi-demo by @dependabot[bot] in #3953
- chore(deps): Bump openwallet-foundation/acapy-agent from py3.12-1.3.2 to py3.12-1.4.0 in /demo/docker-agent by @dependabot[bot] in #3952
- chore(deps): Bump github/codeql-action from 4.31.2 to 4.31.3 in the all-actions group by @dependabot[bot] in #3956
- feat: Add option to remove credex on failure by @TheTechmage in #3947
- fix: minor fix to avoid pool exhaustion and deadlocks by @vinaysingh8866 in #3958
- chore(deps-dev): Bump pre-commit from 4.4.0 to 4.5.0 by @dependabot[bot] in #3959
- chore(deps): Bump mkdocs-material from 9.6.3 to 9.7.0 by @dependabot[bot] in #3961
- Feature: Add plugin installer by @PatStLouis in #3955
- chore(deps): Bump the all-actions group with 2 updates by @dependabot[bot] in #3962
- chore(deps-dev): Bump pytest from 8.4.2 to 9.0.1 by @dependabot[bot] in #3960
- ✨ Recoverable, event-driven revocation registry management by @ff137 in #3831
- chore(deps): Update asyncpg requirement from ~=0.30.0 to ~=0.31.0 by @dependabot[bot] in #3967
- chore(deps): Bump psycopg from 3.2.10 to 3.3.0 by @dependabot[bot] in #3968
- chore(deps): Update asyncpg requirement from ~=0.30.0 to ~=0.31.0 in /demo by @dependabot[bot] in #3971
- chore(deps): Bump the all-actions group with 2 updates by @dependabot[bot] in #3973
- feat: Remove issuance v1 protocols by @jamshale in #3923
- chore(deps): Bump the pip group across 3 directories with 1 update by @dependabot[bot] in #3977
- chore(deps): Bump uuid-utils from 0.11.1 to 0.12.0 by @dependabot[bot] in #3978
- Feature: semantic image versioning for released images by @esune in #3976
- fix(kanon):updated connection cleanup to share 1 thread and added logging to detect connection leakage by @vinaysingh8866 in #3963
- chore(deps): Bump apispec from 6.8.4 to 6.9.0 by @dependabot[bot] in #3970
- chore(deps): Bump the all-actions group across 1 directory with 2 updates by @dependabot[bot] in #3980
- chore(deps): Bump aries-askar from 0.4.5 to 0.5.0 by @dependabot[bot] in #3984
- chore(deps): Bump the all-actions group with 4 updates by @dependabot[bot] in #3985
- chore(deps-dev): Bump filelock from 3.19.1 to 3.20.1 in the pip group across 1 directory by @dependabot[bot] in #3989
- feat: Add logging to scenario tests by @jamshale in #3983
- Remove present proof v1 by @jamshale in #3981
- Upgrade python to 3.13 by @jamshale in #3911
- Fix issues with anoncreds upgrade by @jamshale in #3991
- chore(deps): Bump marshmallow from 3.26.1 to 3.26.2 in the pip group across 1 directory by @dependabot[bot] in #3993
- Sonivijayk/fix/issue 2319 docs update to remove indy usage by @sonivijayk in #3997
- chore(deps): Bump the all-actions group across 1 directory with 3 updates by @dependabot[bot] in #4003
- chore: Lower scenario test logging to info level by @jamshale in #4000
- feat: Only log failing scenarios by @jamshale in #4005
- fix: encode revocation tag in tails upload URL (issue 1580) by @sonivijayk in #3996
- Fix for handler for postgres by @vinaysingh8866 in #3992
- chore(deps): Bump sqlcipher3-binary from 0.5.4 to 0.6.0 by @dependabot[bot] in #4007
- chore(deps): Bump aiohttp from 3.12.14 to 3.13.3 in /scenarios in the pip group across 1 directory by @dependabot[bot] in #4008
- chore(deps): Bump aiohttp from 3.13.0 to 3.13.3 in the pip group across 1 directory by @dependabot[bot] in #4009
- chore: Remove some more indy refs from anoncreds module by @jamshale in #4004
- 1.5.0rc0 by @swcurran in #4011
- Fetch schemaId on legacy cred def by @PatStLouis in #3988
- chore(deps): Bump uuid-utils from 0.12.0 to 0.13.0 by @dependabot[bot] in #4018
- Issue #3845 fix : auto-store failure going to done state by @sonivijayk in #3999
- chore(deps): Bump github/codeql-action from 4.31.9 to 4.31.10 in the all-actions group by @dependabot[bot] in #4020
- Sonivijayk/fix/issue 3990 revoke indy cred post askar anoncres upgrade by @sonivijayk in #4017
- chore(deps): Bump the pip group across 3 directories with 1 update by @dependabot[bot] in #4012
- DIF presentation debug logging by @nodlesh in #4019
- chore(deps-dev): Bump the pip group across 1 directory with 2 updates by @dependabot[bot] in #4022
- Update AnonCreds events by @PatStLouis in #4016
- chore(deps): Update sphinx-rtd-theme requirement from ~=3.0.2 to ~=3.1.0 in /docs by @dependabot[bot] in #4024
- chore(deps): Bump actions/cache from 5.0.1 to 5.0.2 in the all-actions group by @dependabot[bot] in #4025
- WebVH Workshop (traction / openapi) by @PatStLouis in #4013
- Fix plugin installer hardcoded version by @PatStLouis in #4015
- Add citizenship context to document downloader by @PatStLouis in #4027
- Synchronously store the revocation registry by @PatStLouis in #4028
- 1.5.0rc1 by @swcurran in #4026
New Contributors
- @sonivijayk made their first contribution in #3997
- @nodlesh made their first contribution in #4019
Full Changelog: 1.4.0...1.5.0rc1