Releases: openwallet-foundation/acapy
0.12.1rc0
Release 0.12.1rc0 is a small patch to cleanup some edge case issues in the handling of Out of Band invitations and connection querying uncovered after the 0.12.0 release. Fixes and improvements were also made to the generation of ACA-Py's OpenAPI specifications.
0.12.1rc0 Breaking Changes
There are no breaking changes in this release.
What's Changed
- chore(deps): Bump idna from 3.6 to 3.7 by @dependabot in #2887
- Some updates to the mkdocs publishing process by @swcurran in #2888
- Fix ack during for auto endorsement by @jamshale in #2883
- Prevent 500 error when re-promoting DID with endorsement by @jamshale in #2885
- fix: integration tests should use didex 1.1 by @dbluhm in #2889
- fix: look up conn record by invite msg id instead of key by @dbluhm in #2891
- 🐛 Fix IndyAttrValue model that was dropped from openapi spec by @ff137 in #2894
- fix: oob record their_service should be updatable by @dbluhm in #2897
- ⬆️ Upgrade codegen tools used in generate-open-api-specols by @ff137 in #2899
- chore(deps): Bump psf/black from 24.3.0 to 24.4.0 in the all-actions group by @dependabot in #2893
- chore(deps): Bump idna from 3.4 to 3.7 in /demo/playground/examples by @dependabot in #2886
- fix: consider all resolvable dids in invites "public" by @dbluhm in #2900
- 🎨 fix typos by @ff137 in #2898
- fix Faber demo to use oob with aip10 to support connection reuse by @ianco in #2903
- chore(deps): Bump aiohttp from 3.9.3 to 3.9.4 by @dependabot in #2902
- 🐛 Fix ServiceDecorator parsing in oob record handling by @ff137 in #2910
- Fix api schema mixup in revocation routes by @jamshale in #2909
- refactor: logging configs setup by @amanji in #2870
- 0.12.1rc0 by @swcurran in #2912
Full Changelog: 0.12.0...0.12.1rc0
0.12.0
Release 0.12.0 is a large release with many new capabilities, feature improvements, upgrades, and bug fixes. Importantly, this release completes the ACA-Py implementation of Aries Interop Profile v2.0, and enables the elimination of unqualified DIDs. While only deprecated for now, all deployments of ACA-Py SHOULD move to using only fully qualified DIDs as soon as possible.
Much progress has been made on did:peer
support in this release, with the handling of inbound DID Peer 1 added, and inbound and outbound support for DID Peer 2 and 4. Much attention was also paid to making sure that the Peer DID and DID Exchange capabilities match those of Credo-TS (formerly Aries Framework JavaScript). The completion of that work eliminates the remaining places where "unqualified" DIDs were being used, and to enable the "connection reuse" feature in the Out of Band protocol when using DID Peer 2 and 4 DIDs in invitations. See the document Qualified DIDs for details about how to control the use of DID Peer 2 or 4 in an ACA-Py deployment, and how to eliminate the use of unqualified DIDs. Support for DID Exchange v1.1 has been added to ACA-Py, with support for DID Exchange v1.0 retained, and we've added support for DID Rotation.
Work continues towards supporting ledger agnostic AnonCreds, and the new Hyperledger AnonCreds Rust library. Some of that work is in this release, the rest will be in the next release.
Attention was given in the release to simplifying the handling of JSON-LD Data Integrity Verifiable Credentials.
An important change in this release is the re-organization of the ACA-Py documentation, moving the vast majority of the documents to the folders within the docs
folder -- a long overdue change that will allow us to soon publish the documents on https://aca-py.org directly from the ACA-Py repository, rather than from the separate aries-acapy-docs currently being used.
A big developer improvement is a revamping of the test handling to eliminate ~2500 warnings that were previously generated in the test suite. Nice job @ff137!
0.12.0 Breaking Changes
A deployment of this release that uses DID Peer 2 and 4 invitations may encounter problems interacting with agents deployed using older Aries protocols. Led by the Aries Working Group, the Aries community is encouraging the upgrade of all ecosystem deployments to accept all commonly used qualified DIDs, including DID Peer 2 and 4. See the document Qualified DIDs for more details about the transition to using only qualified DIDs. If deployments you interact with are still using unqualified DIDs, please encourage them to upgrade as soon as possible.
Specifically for those upgrading their ACA-Py instance that create Out of Band invitations with more than one handshake_protocol
, the protocol for the connection has been removed. See Issue #2879 contains the details of this subtle breaking change.
New deprecation notices were added to ACA-Py on startup and in the OpenAPI/Swagger interface. Those added are listed below. As well, we anticipate 0.12.0 being the last ACA-Py release to include support for the previously deprecated Indy SDK.
- RFC 0036 Issue Credential v1
- Migrate to use RFC 0453 Issue Credential v2
- RFC 0037 Present Proof v2
- Migrate to use RFC 0454 Present Proof v2
- RFC 0169 Connections
- Migrate to use RFC 0023 DID Exchange and 0434 Out-of-Band
- The use of
did:sov:...
as a Protocol Doc URI- Migrate to use
https://didcomm.org/
- Migrate to use
What's Changed
- Initial code migration from anoncreds-rs branch by @ianco in #2596
- Bump aiohttp from 3.8.6 to 3.9.0 by @dependabot in #2635
- Feature Suggestion: Include a Reason When Constraints Cannot Be Applied by @Ennovate-com in #2630
- Fix: RevRegEntry Transaction Endorsement by @shaangill025 in #2558
- fix: update broken demo dependency by @mrkaurelius in #2638
- Bump cryptography from 41.0.5 to 41.0.6 by @dependabot in #2636
- Integrate Anoncreds rs into credential and presentation endpoints by @ianco in #2632
- Initial migration of anoncreds revocation code by @ianco in #2643
- feat: add did:jwk resolver by @dbluhm in #2645
- Feat: DIDX Implicit Request auto-accept and Delete OOB Invitation related records by @shaangill025 in #2642
- Add ConnectionProblemReport handler by @usingtechnology in #2600
- Update integration tests for anoncreds-rs by @ianco in #2651
- Connection and DIDX Problem Reports by @usingtechnology in #2653
- feat: support resolving did:peer:1 received in did exchange by @dbluhm in #2611
- Slight improvement to credx proof validation error message by @ianco in #2655
- Update snyk workflow to execute on Pull Request by @usingtechnology in #2658
- refactor: make ldp_vc logic reusable by @dbluhm in #2533
- Additional anoncreds integration tests by @ianco in #2660
- Tweak scope of GHA integration tests by @ianco in #2662
- fix: link to raw content change from master to main by @Ennovate-com in #2663
- Ensure "preserve_exchange_records" flags are set. by @usingtechnology in #2664
- fix: open-api generator script by @dbluhm in #2661
- Anoncreds - Add unit testing by @jamshale in #2672
- Fix: Change To Use Timezone Aware UTC datetime by @Ennovate-com in #2679
- Cache TAA by wallet name by @jamshale in #2676
- Improve Per Tenant Logging: Fix issues around default log file path by @shaangill025 in #2659
- Return 404 when schema not found by @jamshale in #2683
- Update dependencies by @andrewwhitehead in #2686
- Add unit tests for anoncreds revocation by @jamshale in #2688
- chore(deps): Bump jwcrypto from 1.5.0 to 1.5.1 by @dependabot in #2689
- Emit did:peer:2 for didexchange by @Jsyro in #2687
- did peer 4 resolution by @Jsyro in #2692
- Remove if condition which checks if the
credential.type
array is equal to 1 by @PatStLouis in #2670 - Improve api documentation and error handling by @jamshale in #2690
- Add did web method type as a default option by @PatStLouis in #2684
- fix: update constants in TransactionRecord by @amanji in #2698
- Remove tiny-vim from being added to the container image to reduce reported vulnerabilities from scanning by @swcurran in #2699
- fix: save multi_use to the DB for OOB invitations by @frostyfrog in #2694
- Update legacy bcgovimages references. by @WadeBarnes in #2700
- Feature/emit did peer 4 by @Jsyro in #2696
- feat: inject profile by @dbluhm in #2705
- chore(deps): Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in #2707
- feat: make VcLdpManager pluggable by @dbluhm in #2706
- Update RTD requirements after security vulnerability recorded by @swcurran in https://github.com/hyperledger/aries-cloudagent-pytho...
0.12.0rc3
Release 0.12.0 is a relatively large release with many new capabilities, feature improvements, upgrades and bug fixes. Importantly, this release completes the ACA-Py implementation of Aries Interop Profile v2.0, and enables the elimination of unqualified DIDs. While only deprecated for now, all deployments of ACA-Py to move to using only fully qualified DIDs.
Much progress has been made on did:peer
support in this release, with the handling of inbound DID Peer 1 added, and inbound and outbound support for DID Peer 2 and 4. Much attention was also paid to making sure that the Peer DID and DID Exchange capabilities match those of Credo-TS (formerly Aries Framework JavaScript). The completion of that work eliminates the remaining places where "unqualified" DIDs are being used, and to enable the "connection reuse" in the Out of Band protocol when using DID Peer 2 and 4 DIDs. See the document Qualified DIDs for details about how to control the use of DID Peer 2 or 4 in an ACA-Py deployment, and how to eliminate the use of unqualified DIDs. Support for DID Exchange v1.1 has been added to ACA-Py, with support for DID Exchange v1.0 retained, and we've added support for DID Rotation.
Work continues towards supporting ledger agnostic AnonCreds, and the new Hyperledger AnonCreds Rust library. Some of that work is in this release, the rest will be in the next release.
Attention was given in the release to simplifying the handling of JSON-LD Data Integrity Verifiable Credentials.
An important change in this release is the re-organization of the ACA-Py documentation, moving the vast majority of the documents to the folders within the docs
folder -- a long overdue change that will allow us to soon publish the documents on https://aca-py.org directly from the ACA-Py repository, rather than from the separate aries-acapy-docs currently being used.
A big developer improvement is a revamping of the test handling to eliminate ~2500 warnings that were previously generated in the test suite. Nice job @ff137!
0.12.0rc3 Breaking Changes
A deployment of this release that proactively uses DID Peer 2 and 4 will encounter problems interacting with agents deployed using older Aries protocols. Led by the Aries Working Group, the Aries community is encouraging the upgrade of all ecosystem deployments to accept all commonly used qualified DIDs, including DID Peer 2 and 4. See the document Qualified DIDs for more details about the transition to using only qualified DIDs.
New deprecation notices were added to ACA-Py on startup and in the OpenAPI/Swagger interface. Those added are listed below. As well, we anticipate 0.12.0 being the last ACA-Py release to include support for the previously deprecated Indy SDK.
- RFC 0036 Issue Credential v1
- Migrate to use RFC 0453 Issue Credential v2
- RFC 0037 Present Proof v2
- Migrate to use RFC 0454 Present Proof v2
- RFC 0169 Connections
- Migrate to use RFC 0023 DID Exchange and 0434 Out-of-Band
- The use of
did:sov:...
as a Protocol Doc URI- Migrate to use
https://didcomm.org/
.
- Migrate to use
What's Changed
- Initial code migration from anoncreds-rs branch by @ianco in #2596
- Bump aiohttp from 3.8.6 to 3.9.0 by @dependabot in #2635
- Feature Suggestion: Include a Reason When Constraints Cannot Be Applied by @Ennovate-com in #2630
- Fix: RevRegEntry Transaction Endorsement by @shaangill025 in #2558
- fix: update broken demo dependency by @mrkaurelius in #2638
- Bump cryptography from 41.0.5 to 41.0.6 by @dependabot in #2636
- Integrate Anoncreds rs into credential and presentation endpoints by @ianco in #2632
- Initial migration of anoncreds revocation code by @ianco in #2643
- feat: add did:jwk resolver by @dbluhm in #2645
- Feat: DIDX Implicit Request auto-accept and Delete OOB Invitation related records by @shaangill025 in #2642
- Add ConnectionProblemReport handler by @usingtechnology in #2600
- Update integration tests for anoncreds-rs by @ianco in #2651
- Connection and DIDX Problem Reports by @usingtechnology in #2653
- feat: support resolving did:peer:1 received in did exchange by @dbluhm in #2611
- Slight improvement to credx proof validation error message by @ianco in #2655
- Update snyk workflow to execute on Pull Request by @usingtechnology in #2658
- refactor: make ldp_vc logic reusable by @dbluhm in #2533
- Additional anoncreds integration tests by @ianco in #2660
- Tweak scope of GHA integration tests by @ianco in #2662
- fix: link to raw content change from master to main by @Ennovate-com in #2663
- Ensure "preserve_exchange_records" flags are set. by @usingtechnology in #2664
- fix: open-api generator script by @dbluhm in #2661
- Anoncreds - Add unit testing by @jamshale in #2672
- Fix: Change To Use Timezone Aware UTC datetime by @Ennovate-com in #2679
- Cache TAA by wallet name by @jamshale in #2676
- Improve Per Tenant Logging: Fix issues around default log file path by @shaangill025 in #2659
- Return 404 when schema not found by @jamshale in #2683
- Update dependencies by @andrewwhitehead in #2686
- Add unit tests for anoncreds revocation by @jamshale in #2688
- chore(deps): Bump jwcrypto from 1.5.0 to 1.5.1 by @dependabot in #2689
- Emit did:peer:2 for didexchange by @Jsyro in #2687
- did peer 4 resolution by @Jsyro in #2692
- Remove if condition which checks if the
credential.type
array is equal to 1 by @PatStLouis in #2670 - Improve api documentation and error handling by @jamshale in #2690
- Add did web method type as a default option by @PatStLouis in #2684
- fix: update constants in TransactionRecord by @amanji in #2698
- Remove tiny-vim from being added to the container image to reduce reported vulnerabilities from scanning by @swcurran in #2699
- fix: save multi_use to the DB for OOB invitations by @frostyfrog in #2694
- Update legacy bcgovimages references. by @WadeBarnes in #2700
- Feature/emit did peer 4 by @Jsyro in #2696
- feat: inject profile by @dbluhm in #2705
- chore(deps): Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in #2707
- feat: make VcLdpManager pluggable by @dbluhm in #2706
- Update RTD requirements after security vulnerability recorded by @swcurran in #2712
- fix: minor type hint corrections for VcLdpManager by @dbluhm in #2704
- Integration test for did:peer by @ianco in #2713
- Fix subwallet record removal by @andrewwhitehead in #2721
- Remove exception on connectionless presentation problem report handler by @loneil in https://github.com/h...
0.12.0rc2
Release 0.12.0 is a relative large release but currently with no breaking changes. We expect there will be breaking changes (at least in the handling of endorsement) before the 0.12.0 release is finalized, hence the minor version update.
The rc0
release candidate introduced a regression via PR #2705 that has been reverted in rc1
and later via PR #2789. Further investigation is needed to determine how to accomplish the goal of PR #2705 ("feat: inject profile") without the regression. The rc2
and later releases address a regression related to the sending of a revocation notification from the issuer to the holder of a newly revoked credential, fixed in PR #2814.
Much progress has been made on did:peer
support in this release, with the handling of inbound DID Peer 1 added, and inbound and outbound support for DID Peer 2 and 4. The goal of that work is to eliminate the remaining places where "unqualified" DIDs remain, and to enable the "connection reuse" in the Out of Band protocol when using DID Peer 2 and 4 DIDs. Work continues in supporting ledger agnostic AnonCreds, and the new Hyperledger AnonCreds Rust library. Attention was also given in the release to the handling of JSON-LD Data Integrity Verifiable Credentials, with more expected before the release is finalized. In addition to those updates, there were fixes and improvements across the codebase.
The most visible change in this release is the re-organization of the ACA-Py documentation, moving the vast majority of the documents to the folders within the docs
folder -- a long overdue change that will allow us to soon publish the documents on https://aca-py.org directly from the ACA-Py repository, rather than from the separate aries-acapy-docs currently being used.
A big developer improvement is a revamping of the test handling to eliminate ~2500 warnings that were previously generated in the test suite. Nice job @ff137!
0.12.0rc2 Breaking Changes
There are no breaking changes in 0.12.0rc2.
What's Changed
- Initial code migration from anoncreds-rs branch by @ianco in #2596
- Bump aiohttp from 3.8.6 to 3.9.0 by @dependabot in #2635
- Feature Suggestion: Include a Reason When Constraints Cannot Be Applied by @Ennovate-com in #2630
- Fix: RevRegEntry Transaction Endorsement by @shaangill025 in #2558
- fix: update broken demo dependency by @mrkaurelius in #2638
- Bump cryptography from 41.0.5 to 41.0.6 by @dependabot in #2636
- Integrate Anoncreds rs into credential and presentation endpoints by @ianco in #2632
- Initial migration of anoncreds revocation code by @ianco in #2643
- feat: add did:jwk resolver by @dbluhm in #2645
- Feat: DIDX Implicit Request auto-accept and Delete OOB Invitation related records by @shaangill025 in #2642
- Add ConnectionProblemReport handler by @usingtechnology in #2600
- Update integration tests for anoncreds-rs by @ianco in #2651
- Connection and DIDX Problem Reports by @usingtechnology in #2653
- feat: support resolving did:peer:1 received in did exchange by @dbluhm in #2611
- Slight improvement to credx proof validation error message by @ianco in #2655
- Update snyk workflow to execute on Pull Request by @usingtechnology in #2658
- refactor: make ldp_vc logic reusable by @dbluhm in #2533
- Additional anoncreds integration tests by @ianco in #2660
- Tweak scope of GHA integration tests by @ianco in #2662
- fix: link to raw content change from master to main by @Ennovate-com in #2663
- Ensure "preserve_exchange_records" flags are set. by @usingtechnology in #2664
- fix: open-api generator script by @dbluhm in #2661
- Anoncreds - Add unit testing by @jamshale in #2672
- Fix: Change To Use Timezone Aware UTC datetime by @Ennovate-com in #2679
- Cache TAA by wallet name by @jamshale in #2676
- Improve Per Tenant Logging: Fix issues around default log file path by @shaangill025 in #2659
- Return 404 when schema not found by @jamshale in #2683
- Update dependencies by @andrewwhitehead in #2686
- Add unit tests for anoncreds revocation by @jamshale in #2688
- chore(deps): Bump jwcrypto from 1.5.0 to 1.5.1 by @dependabot in #2689
- Emit did:peer:2 for didexchange by @Jsyro in #2687
- did peer 4 resolution by @Jsyro in #2692
- Remove if condition which checks if the
credential.type
array is equal to 1 by @PatStLouis in #2670 - Improve api documentation and error handling by @jamshale in #2690
- Add did web method type as a default option by @PatStLouis in #2684
- fix: update constants in TransactionRecord by @amanji in #2698
- Remove tiny-vim from being added to the container image to reduce reported vulnerabilities from scanning by @swcurran in #2699
- fix: save multi_use to the DB for OOB invitations by @frostyfrog in #2694
- Update legacy bcgovimages references. by @WadeBarnes in #2700
- Feature/emit did peer 4 by @Jsyro in #2696
- feat: inject profile by @dbluhm in #2705
- chore(deps): Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in #2707
- feat: make VcLdpManager pluggable by @dbluhm in #2706
- Update RTD requirements after security vulnerability recorded by @swcurran in #2712
- fix: minor type hint corrections for VcLdpManager by @dbluhm in #2704
- Integration test for did:peer by @ianco in #2713
- Fix subwallet record removal by @andrewwhitehead in #2721
- Remove exception on connectionless presentation problem report handler by @loneil in #2723
- Fix incorrect Sphinx search library version reference by @swcurran in #2716
- Update the SupportedRFCs Document to be up to date by @swcurran in #2722
- Upgrade anoncreds to 0.2.0.dev7 by @jamshale in #2719
- Update devcontainer documentation by @jamshale in #2729
- 0.12.0rc0 by @swcurran in #2732
- docs: create design doc for adding W3C VC format support by @tra371 in #2674
- Upgrade anoncred-rs to version 0.2.0-dev8 by @jamshale in #2734
- bump pydid to v 0.4.3 by @PatStLouis in #2737
- Enable presentation issuance/verification through vc-api endpoints by @PatStLouis in https://github.com/hyperledger/aries-cloudag...
0.12.0rc1
Release 0.12.0 is a relative large release but currently with no breaking changes. We expect there will be breaking changes (at least in the handling of endorsement) before the 0.12.0 release is finalized, hence the minor version update.
The first 0.12.0
release candidate, rc0
, introduced a regression via PR #2705 that has been reverted in PR #2789. Further investigation is needed to determine how to accomplish the goal of PR #2705 ("feat: inject profile") without the regression.
Much progress was made on did:peer
support in this release, with the handling of inbound DID Peer 1 added, and inbound and outbound support for DID Peer 2 and 4. The goal of that work is to eliminate the remaining places where "unqualified" DIDs remain. Work continues in supporting ledger agnostic AnonCreds, and the new Hyperledger AnonCreds Rust library. Attention was also given in the release to the handling of JSON-LD Data Integrity Verifiable Credentials, with more expected before the release is finalized. In addition to those updates, there were fixes and improvements across the codebase.
The most visible change in this release is the re-organization of the ACA-Py documentation, moving the vast majority of the documents to the folders within the docs
folder -- a long overdue change that will allow us to soon publish the documents on https://aca-py.org directly from the ACA-Py repository, rather than from the separate aries-acapy-docs currently being used.
A big developer improvement is a revampling of the test handling to eliminate ~2500 warnings that were previously generated in the test suite. Nice job @ff137!
0.12.0rc1 Breaking Changes
There are no breaking changes in 0.12.0rc1.
What's Changed
- Initial code migration from anoncreds-rs branch by @ianco in #2596
- Bump aiohttp from 3.8.6 to 3.9.0 by @dependabot in #2635
- Feature Suggestion: Include a Reason When Constraints Cannot Be Applied by @Ennovate-com in #2630
- Fix: RevRegEntry Transaction Endorsement by @shaangill025 in #2558
- fix: update broken demo dependency by @mrkaurelius in #2638
- Bump cryptography from 41.0.5 to 41.0.6 by @dependabot in #2636
- Integrate Anoncreds rs into credential and presentation endpoints by @ianco in #2632
- Initial migration of anoncreds revocation code by @ianco in #2643
- feat: add did:jwk resolver by @dbluhm in #2645
- Feat: DIDX Implicit Request auto-accept and Delete OOB Invitation related records by @shaangill025 in #2642
- Add ConnectionProblemReport handler by @usingtechnology in #2600
- Update integration tests for anoncreds-rs by @ianco in #2651
- Connection and DIDX Problem Reports by @usingtechnology in #2653
- feat: support resolving did:peer:1 received in did exchange by @dbluhm in #2611
- Slight improvement to credx proof validation error message by @ianco in #2655
- Update snyk workflow to execute on Pull Request by @usingtechnology in #2658
- refactor: make ldp_vc logic reusable by @dbluhm in #2533
- Additional anoncreds integration tests by @ianco in #2660
- Tweak scope of GHA integration tests by @ianco in #2662
- fix: link to raw content change from master to main by @Ennovate-com in #2663
- Ensure "preserve_exchange_records" flags are set. by @usingtechnology in #2664
- fix: open-api generator script by @dbluhm in #2661
- Anoncreds - Add unit testing by @jamshale in #2672
- Fix: Change To Use Timezone Aware UTC datetime by @Ennovate-com in #2679
- Cache TAA by wallet name by @jamshale in #2676
- Improve Per Tenant Logging: Fix issues around default log file path by @shaangill025 in #2659
- Return 404 when schema not found by @jamshale in #2683
- Update dependencies by @andrewwhitehead in #2686
- Add unit tests for anoncreds revocation by @jamshale in #2688
- chore(deps): Bump jwcrypto from 1.5.0 to 1.5.1 by @dependabot in #2689
- Emit did:peer:2 for didexchange by @Jsyro in #2687
- did peer 4 resolution by @Jsyro in #2692
- Remove if condition which checks if the
credential.type
array is equal to 1 by @PatStLouis in #2670 - Improve api documentation and error handling by @jamshale in #2690
- Add did web method type as a default option by @PatStLouis in #2684
- fix: update constants in TransactionRecord by @amanji in #2698
- Remove tiny-vim from being added to the container image to reduce reported vulnerabilities from scanning by @swcurran in #2699
- fix: save multi_use to the DB for OOB invitations by @frostyfrog in #2694
- Update legacy bcgovimages references. by @WadeBarnes in #2700
- Feature/emit did peer 4 by @Jsyro in #2696
- feat: inject profile by @dbluhm in #2705
- chore(deps): Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in #2707
- feat: make VcLdpManager pluggable by @dbluhm in #2706
- Update RTD requirements after security vulnerability recorded by @swcurran in #2712
- fix: minor type hint corrections for VcLdpManager by @dbluhm in #2704
- Integration test for did:peer by @ianco in #2713
- Fix subwallet record removal by @andrewwhitehead in #2721
- Remove exception on connectionless presentation problem report handler by @loneil in #2723
- Fix incorrect Sphinx search library version reference by @swcurran in #2716
- Update the SupportedRFCs Document to be up to date by @swcurran in #2722
- Upgrade anoncreds to 0.2.0.dev7 by @jamshale in #2719
- Update devcontainer documentation by @jamshale in #2729
- 0.12.0rc0 by @swcurran in #2732
- docs: create design doc for adding W3C VC format support by @tra371 in #2674
- Upgrade anoncred-rs to version 0.2.0-dev8 by @jamshale in #2734
- bump pydid to v 0.4.3 by @PatStLouis in #2737
- Enable presentation issuance/verification through vc-api endpoints by @PatStLouis in #2710
- Upgrade anoncreds to 0.2.0-dev9 by @jamshale in #2741
- Relax validation of holder DID when submitting a credential request by @ianco in #2731
- chore(deps): Bump aiohttp from 3.9.1 to 3.9.2 by @dependabot in https://github.co...
0.12.0rc0
Release 0.12.0 is a relatively large release (53 PRs and counting...) but currently with no breaking changes. We expect there will be breaking changes (at least in the handling of Indy transaction endorsement) before the 0.12.0 release is finalized, hence the minor version update.
Much progress was made on did:peer
support in this release, with the handling of inbound DID Peer 1 added, and inbound and outbound support for DID Peer 2 and 4. The goal of that work is to eliminate the remaining places where "unqualified" DIDs remain. Work continues in supporting ledger agnostic AnonCreds, and the new Hyperledger AnonCreds Rust library. Attention was also given in the release to the handling of JSON-LD Data Integrity Verifiable Credentials, with more expected before the release is finalized. In addition to those updates, there were fixes and improvements across the codebase.
0.12.0rc0 Breaking Changes
There are no breaking changes in 0.12.0rc0.
What's Changed
- Initial code migration from anoncreds-rs branch by @ianco in #2596
- Bump aiohttp from 3.8.6 to 3.9.0 by @dependabot in #2635
- Feature Suggestion: Include a Reason When Constraints Cannot Be Applied by @Ennovate-com in #2630
- Fix: RevRegEntry Transaction Endorsement by @shaangill025 in #2558
- fix: update broken demo dependency by @mrkaurelius in #2638
- Bump cryptography from 41.0.5 to 41.0.6 by @dependabot in #2636
- Integrate Anoncreds rs into credential and presentation endpoints by @ianco in #2632
- Initial migration of anoncreds revocation code by @ianco in #2643
- feat: add did:jwk resolver by @dbluhm in #2645
- Feat: DIDX Implicit Request auto-accept and Delete OOB Invitation related records by @shaangill025 in #2642
- Add ConnectionProblemReport handler by @usingtechnology in #2600
- Update integration tests for anoncreds-rs by @ianco in #2651
- Connection and DIDX Problem Reports by @usingtechnology in #2653
- feat: support resolving did:peer:1 received in did exchange by @dbluhm in #2611
- Slight improvement to credx proof validation error message by @ianco in #2655
- Update snyk workflow to execute on Pull Request by @usingtechnology in #2658
- refactor: make ldp_vc logic reusable by @dbluhm in #2533
- Additional anoncreds integration tests by @ianco in #2660
- Tweak scope of GHA integration tests by @ianco in #2662
- fix: link to raw content change from master to main by @Ennovate-com in #2663
- Ensure "preserve_exchange_records" flags are set. by @usingtechnology in #2664
- fix: open-api generator script by @dbluhm in #2661
- Anoncreds - Add unit testing by @jamshale in #2672
- Fix: Change To Use Timezone Aware UTC datetime by @Ennovate-com in #2679
- Cache TAA by wallet name by @jamshale in #2676
- Improve Per Tenant Logging: Fix issues around default log file path by @shaangill025 in #2659
- Return 404 when schema not found by @jamshale in #2683
- Update dependencies by @andrewwhitehead in #2686
- Add unit tests for anoncreds revocation by @jamshale in #2688
- chore(deps): Bump jwcrypto from 1.5.0 to 1.5.1 by @dependabot in #2689
- Emit did:peer:2 for didexchange by @Jsyro in #2687
- did peer 4 resolution by @Jsyro in #2692
- Remove if condition which checks if the
credential.type
array is equal to 1 by @PatStLouis in #2670 - Improve api documentation and error handling by @jamshale in #2690
- Add did web method type as a default option by @PatStLouis in #2684
- fix: update constants in TransactionRecord by @amanji in #2698
- Remove tiny-vim from being added to the container image to reduce reported vulnerabilities from scanning by @swcurran in #2699
- fix: save multi_use to the DB for OOB invitations by @frostyfrog in #2694
- Update legacy bcgovimages references. by @WadeBarnes in #2700
- Feature/emit did peer 4 by @Jsyro in #2696
- feat: inject profile by @dbluhm in #2705
- chore(deps): Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in #2707
- feat: make VcLdpManager pluggable by @dbluhm in #2706
- Update RTD requirements after security vulnerability recorded by @swcurran in #2712
- fix: minor type hint corrections for VcLdpManager by @dbluhm in #2704
- Integration test for did:peer by @ianco in #2713
- Fix subwallet record removal by @andrewwhitehead in #2721
- Remove exception on connectionless presentation problem report handler by @loneil in #2723
- Fix incorrect Sphinx search library version reference by @swcurran in #2716
- Update the SupportedRFCs Document to be up to date by @swcurran in #2722
- Upgrade anoncreds to 0.2.0.dev7 by @jamshale in #2719
- Update devcontainer documentation by @jamshale in #2729
- 0.12.0rc0 by @swcurran in #2732
New Contributors
- @mrkaurelius made their first contribution in #2638
- @jamshale made their first contribution in #2672
- @PatStLouis made their first contribution in #2670
Full Changelog: 0.11.0...0.12.0rc0
0.11.0
Release 0.11.0 is a relatively large release of new features, fixes, and internal updates. 0.11.0 is planned to be the last significant update before we begin the transition to using the ledger agnostic AnonCreds Rust in a release that is expected to bring Admin/Controller API changes. We plan to do patches to the 0.11.x branch while the transition is made to using [Anoncreds Rust].
An important addition to ACA-Py is support for signing and verifying SD-JWT verifiable credentials. We expect this to be the first of the changes to extend ACA-Py to support OpenID4VC protocols.
This release and Release 0.10.5 contain a high priority fix to correct an issue with the handling of the JSON-LD presentation verifications, where the status of the verification of the presentation.proof
in the Verifiable Presentation was not included when determining the verification value (true
or false
) of the overall presentation. A forthcoming security advisory will cover the details. Anyone using JSON-LD presentations is recommended to upgrade to one of these versions of ACA-Py as soon as possible.
In the CI/CD realm, substantial changes were applied to the source base in switching from:
pip
to Poetry for packaging and dependency management,- Flake8 to Ruff for linting,
asynctest
toIsolatedAsyncioTestCase
andAsyncMock
objects now included in Python's builtinunittest
package for unit testing.
These are necessary and important modernization changes, with the latter two triggering many (largely mechanical) changes to the codebase.
0.11.0 Breaking Changes
In addition to the impacts of the change for developers in switching from pip
to Poetry, the only significant breaking change is the (overdue) transition of ACA-Py to always use the new DIDComm message type prefix, changing the DID Message prefix from the old hardcoded did:sov:BzCbsNYhMrjHiqZDTUASHg;spec
to the new hardcoded https://didcomm.org
value, and using the new DIDComm MIME type in place of the old. The vast majority (all?) Aries deployments have long since been updated to accept both values, so this change just forces the use of the newer value in sending messages. In updating this, we retained the old configuration parameters most deployments were using (--emit-new-didcomm-prefix
and --emit-new-didcomm-mime-type
) but updated the
code to set the configuration parameters to true
even if the parameters were not set. See PR #2517.
The JSON-LD verifiable credential handling of JSON-LD contexts has been updated to pre-load the base contexts into the repository code so they are not fetched at run time. This is a security best practice for JSON-LD, and prevents errors in production when, from time to time, the JSON-LD contexts are unavailable because of outages of the web servers where they are hosted. See PR #2587.
A Problem Report message is now sent when a request for a credential is received and there is no associated Credential Exchange Record. This may happen, for example, if an issuer decides to delete a Credential Exchange Record that has not be answered for a long time, and the holder responds after the delete. See PR #2577.
What's Changed
- #2289 Migrate to Poetry by @Gavinok in #2436
- Swap out flake8 in favor of Ruff by @dbluhm in #2438
- Update Python image version to 3.9.18 by @WadeBarnes in #2456
- chore: add black back in as a dev dep by @dbluhm in #2465
- feat: add timeout to did resolver resolve method by @dbluhm in #2464
- Remove old routing protocol code by @dbluhm in #2466
- fix: issue #2434: Change DIDExchange States to Match rfc160 by @anwalker293 in #2461
- fix: version should be set by pyproject.toml by @dbluhm in #2471
- fix: unique ids for services in legacy peer by @dbluhm in #2476
- peer did 2/3 resolution by @Jsyro in #2472
- Bugfix: Issue with write ledger pool when performing Accumulator sync by @shaangill025 in #2480
- Update steps for Manually Creating Revocation Registries by @WadeBarnes in #2491
- Issue #2419 InvalidClientTaaAcceptanceError time too precise error if container timezone is not UTC by @Ennovate-com in #2420
- Update devcontainer to read version from aries-cloudagent package by @usingtechnology in #2483
- Issue #2488 KeyError raised when Subject ID is not a URI by @Ennovate-com in #2490
- fix: run tests script copying local env by @dbluhm in #2495
- Feat/sd jwt implementation by @cjhowland in #2487
- Use correct rust log level in dockerfiles by @loneil in #2499
- Remove unused dependencies by @andrewwhitehead in #2510
- Feat: Upgrade from tags and fix issue with legacy IssuerRevRegRecords [<=
v0.5.2
] by @shaangill025 in #2486 - Change arg_parse to always set --emit-new-didcomm-prefix and --emit-new-didcomm-mime-type to true by @swcurran in #2517
- Fix: Problem Report Before Exchange Established by @Ennovate-com in #2519
- refactor: drop mediator_terms and recipient_terms by @dbluhm in #2515
- Avoid multiple open wallet connections by @andrewwhitehead in #2521
- chore(deps): Bump urllib3 from 2.0.5 to 2.0.6 by @dependabot in #2525
- chore(deps): Bump urllib3 from 2.0.2 to 2.0.6 in /demo/playground/scripts by @dependabot in #2524
- chore: update pydid by @dbluhm in #2527
- 🎨 clarify LedgerError message when TAA is required and not accepted by @ff137 in #2545
- fix: correct minor typos by @Ennovate-com in #2544
- Update .readthedocs.yaml by @swcurran in #2547
- Update .readthedocs.yaml by @swcurran in #2548
- fix: routing behind mediator by @dbluhm in #2536
- Feat: Support subwallet upgradation using the Upgrade command by @shaangill025 in #2529
- chore(deps): Bump urllib3 from 2.0.6 to 2.0.7 by @dependabot in #2552
- fix: taa rough timestamp timezone from datetime by @dbluhm in #2554
- refactor: replace multiformats library by @dbluhm in #2559
- fix: mediation routing keys as did key by @dbluhm in #2516
- chore(deps): Bump urllib3 from 2.0.6 to 2.0.7 in /demo/playground/scripts by @dependabot in #2551
- fix: clean up requests and invites by @dbluhm in #2560
- Update demo/playground scripts by @usingtechnology in #2562
- refactor: use did-peer-2 instead of peerdid by @dbluhm in #2561
- Issue 2555 playground scripts readme by @usingtechnology in #2563
- Playground needs optionally external network by @usingtechnology in #2564
- chore: dependency updates by @dbluhm in #2565
- fix: drop asynctest by @dbluhm in #2566
- 0.11.0-rc0 by @swcurran in #2575
- chore: point to official sd-jwt lib release by @dbluhm in #2573
- 0.11.0-rc1 by @swcurran in #2576
- Dockerfile.indy - Incl...
0.10.5
Release 0.10.5 is a high priority patch release to correct an issue with the handling of the JSON-LD presentation verifications, where the status of the verification of the presentation.proof
in the Verifiable Presentation was not included when determining the verification value (true
or false
) of the overall presentation. A forthcoming security advisory will cover the details.
Anyone using JSON-LD presentations is recommended to upgrade to this version of ACA-Py as soon as possible.
What's Changed
Full Changelog: 0.10.4...0.10.5
0.11.0rc2
Release 0.11.0 is a relatively large release of new features, fixes, and internal updates. 0.11.0 is planned to be the last major update before we transition to using the ledger agnostic AnonCreds Rust in a release that is expected to bring some Admin/Controller API changes. We plan to do patches to the 0.11.xbranch while the transition is made to the upcoming release to transition to using [Anoncreds Rust].
A significant addition to ACA-Py is support for signing and verifying SD-JWT verifiable credentials. We expect this to be the first of the changes to extend ACA-Py to support OpenID4VC protocols.
In the CI/CD realm, substantial changes were applied to the source base in switching from:
pip
to Poetry for packaging and dependency management,- Flake8 to Ruff for linting,
asynctest
toIsolatedAsyncioTestCase
andAsyncMock
objects now included in Python's builtinunittest
package for unit testing.
These are necessary and important modernization changes, with the latter two triggering many (largely mechanical) changes to the codebase.
NOTE: In addition to these PRs in the 0-11.0-rc0 release, we also expect to include at least those ACA-Py PRs labelled "0.11.0" in the release.
0.11.0 Breaking Changes
In addition to the impacts of the change for developers in switching from pip
to Poetry, the only significant breaking change is the (overdue) transition of ACA-Py to always use the new DIDComm message type prefix, changing the DID Message prefix from the old hardcoded did:sov:BzCbsNYhMrjHiqZDTUASHg;spec
to the new hardcoded https://didcomm.org
value, and using the new DIDComm MIME type in place of the old. The vast majority (all?) Aries deployments have long since been updated to accept both values, so this change just forces the use of the newer value in sending messages. In updating this, we retained the old configuration parameters most deployments were using (--emit-new-didcomm-prefix
and --emit-new-didcomm-mime-type
) but updated the
code to set the configuration parameters to true
even if the parameters were not set. See PR #2517.
The JSON-LD verifiable credential handling of JSON-LD contexts has been updated to pre-load the base contexts into the repository code so they are not fetched at run time. This is a security best practice for JSON-LD, and prevents errors in production when, from time to time, the JSON-LD contexts are unavailable because of outages of the web servers where they are hosted. See PR #2587.
A Problem Report message is now sent when a request for a credential is received and there is no associated Credential Exchange Record. This may happen, for example, if an issuer decides to delete a Credential Exchange Record that has not be answered for a long time, and the holder responds after the delete. See PR #2577.
The versioning scheme for Release Candidates has been changed to drop the -
in the version string. This means the older style of 0.11.0-rc0
has been changed to the newer style of 0.11.0rc2
.
What's Changed
- #2289 Migrate to Poetry by @Gavinok in #2436
- Swap out flake8 in favor of Ruff by @dbluhm in #2438
- Update Python image version to 3.9.18 by @WadeBarnes in #2456
- chore: add black back in as a dev dep by @dbluhm in #2465
- feat: add timeout to did resolver resolve method by @dbluhm in #2464
- Remove old routing protocol code by @dbluhm in #2466
- fix: issue #2434: Change DIDExchange States to Match rfc160 by @anwalker293 in #2461
- fix: version should be set by pyproject.toml by @dbluhm in #2471
- fix: unique ids for services in legacy peer by @dbluhm in #2476
- peer did 2/3 resolution by @Jsyro in #2472
- Bugfix: Issue with write ledger pool when performing Accumulator sync by @shaangill025 in #2480
- Update steps for Manually Creating Revocation Registries by @WadeBarnes in #2491
- Issue #2419 InvalidClientTaaAcceptanceError time too precise error if container timezone is not UTC by @Ennovate-com in #2420
- Update devcontainer to read version from aries-cloudagent package by @usingtechnology in #2483
- Issue #2488 KeyError raised when Subject ID is not a URI by @Ennovate-com in #2490
- fix: run tests script copying local env by @dbluhm in #2495
- Feat/sd jwt implementation by @cjhowland in #2487
- Use correct rust log level in dockerfiles by @loneil in #2499
- Remove unused dependencies by @andrewwhitehead in #2510
- Feat: Upgrade from tags and fix issue with legacy IssuerRevRegRecords [<=
v0.5.2
] by @shaangill025 in #2486 - Change arg_parse to always set --emit-new-didcomm-prefix and --emit-new-didcomm-mime-type to true by @swcurran in #2517
- Fix: Problem Report Before Exchange Established by @Ennovate-com in #2519
- refactor: drop mediator_terms and recipient_terms by @dbluhm in #2515
- Avoid multiple open wallet connections by @andrewwhitehead in #2521
- chore(deps): Bump urllib3 from 2.0.5 to 2.0.6 by @dependabot in #2525
- chore(deps): Bump urllib3 from 2.0.2 to 2.0.6 in /demo/playground/scripts by @dependabot in #2524
- chore: update pydid by @dbluhm in #2527
- 🎨 clarify LedgerError message when TAA is required and not accepted by @ff137 in #2545
- fix: correct minor typos by @Ennovate-com in #2544
- Update .readthedocs.yaml by @swcurran in #2547
- Update .readthedocs.yaml by @swcurran in #2548
- fix: routing behind mediator by @dbluhm in #2536
- Feat: Support subwallet upgradation using the Upgrade command by @shaangill025 in #2529
- chore(deps): Bump urllib3 from 2.0.6 to 2.0.7 by @dependabot in #2552
- fix: taa rough timestamp timezone from datetime by @dbluhm in #2554
- refactor: replace multiformats library by @dbluhm in #2559
- fix: mediation routing keys as did key by @dbluhm in #2516
- chore(deps): Bump urllib3 from 2.0.6 to 2.0.7 in /demo/playground/scripts by @dependabot in #2551
- fix: clean up requests and invites by @dbluhm in #2560
- Update demo/playground scripts by @usingtechnology in #2562
- refactor: use did-peer-2 instead of peerdid by @dbluhm in #2561
- Issue 2555 playground scripts readme by @usingtechnology in #2563
- Playground needs optionally external network by @usingtechnology in #2564
- chore: dependency updates by @dbluhm in #2565
- fix: drop asynctest by @dbluhm in #2566
- 0.11.0-rc0 by @swcurran in #2575
- chore: point to official sd-jwt lib release by @dbluhm in #2573
- 0.11.0-rc1 by @swcurran in #2576
- Dockerfile.indy - Include aries_cloudagent code into build by @usingtechnology in https://github.com/hyperledger/aries-cloudagent-python/pull...
0.11.0-rc1
Release 0.11.0 is a relatively large release of new features, fixes, and internal updates. 0.11.0 is planned to be the last major update before we transition to using the AnonCreds Rust in a release that is expected to bring some Admin/Controller API changes. We plan to do patches to 0.11.0 while the transition is made to the next breaking release.
Release 0.11.0-rc0 failed to publish because of a reference to a dependency via its GitHub repository rather than to its published artifact.
A significant addition to ACA-Py is support for signing and verifying SD-JWT verifiable credentials. We expect this to be the first of the changes to extend ACA-Py to support OpenID4VC protocols.
In the CI/CD realm, substantial changes were applied to the source base in switching from:
pip
to Poetry for packaging and dependency management,- Flake8 to Ruff for linting,
asynctest
toIsolatedAsyncioTestCase
andAsyncMock
objects now included in Python's builtinunittest
package for unit testing.
These are necessary and important modernization changes, with the latter two triggering many (largely mechanical) changes to the codebase.
NOTE: In addition to these PRs in the 0-11.0-rc0 release, we also expect to include at least those ACA-Py PRs labelled "0.11.0" in the release.
0.11.0 Breaking Changes
In addition to the impacts of the change for developers in switching from pip
to Poetry, the only significant breaking change is the (overdue) transition of ACA-Py to always use the new DIDComm message type prefix, changing the DID Message prefix from the old hardcoded did:sov:BzCbsNYhMrjHiqZDTUASHg;spec
to the new hardcoded https://didcomm.org
value, and using the new DIDComm MIME type in place of the old. The vast majority (all?) Aries deployments have long since been updated to accept both values, so this change just forces the use of the newer value in sending messages. In updating this, we retained the old configuration parameters most deployments were using (--emit-new-didcomm-prefix
and --emit-new-didcomm-mime-type
) but updated the code to set the configuration parameters to true
even if the parameters were not set. See PR #2517.
What's Changed
- #2289 Migrate to Poetry by @Gavinok in #2436
- Swap out flake8 in favor of Ruff by @dbluhm in #2438
- Update Python image version to 3.9.18 by @WadeBarnes in #2456
- chore: add black back in as a dev dep by @dbluhm in #2465
- feat: add timeout to did resolver resolve method by @dbluhm in #2464
- Remove old routing protocol code by @dbluhm in #2466
- fix: issue #2434: Change DIDExchange States to Match rfc160 by @anwalker293 in #2461
- fix: version should be set by pyproject.toml by @dbluhm in #2471
- fix: unique ids for services in legacy peer by @dbluhm in #2476
- peer did 2/3 resolution by @Jsyro in #2472
- Bugfix: Issue with write ledger pool when performing Accumulator sync by @shaangill025 in #2480
- Update steps for Manually Creating Revocation Registries by @WadeBarnes in #2491
- Issue #2419 InvalidClientTaaAcceptanceError time too precise error if container timezone is not UTC by @Ennovate-com in #2420
- Update devcontainer to read version from aries-cloudagent package by @usingtechnology in #2483
- Issue #2488 KeyError raised when Subject ID is not a URI by @Ennovate-com in #2490
- fix: run tests script copying local env by @dbluhm in #2495
- Feat/sd jwt implementation by @cjhowland in #2487
- Use correct rust log level in dockerfiles by @loneil in #2499
- Remove unused dependencies by @andrewwhitehead in #2510
- Feat: Upgrade from tags and fix issue with legacy IssuerRevRegRecords [<=
v0.5.2
] by @shaangill025 in #2486 - Change arg_parse to always set --emit-new-didcomm-prefix and --emit-new-didcomm-mime-type to true by @swcurran in #2517
- Fix: Problem Report Before Exchange Established by @Ennovate-com in #2519
- refactor: drop mediator_terms and recipient_terms by @dbluhm in #2515
- Avoid multiple open wallet connections by @andrewwhitehead in #2521
- chore(deps): Bump urllib3 from 2.0.5 to 2.0.6 by @dependabot in #2525
- chore(deps): Bump urllib3 from 2.0.2 to 2.0.6 in /demo/playground/scripts by @dependabot in #2524
- chore: update pydid by @dbluhm in #2527
- 🎨 clarify LedgerError message when TAA is required and not accepted by @ff137 in #2545
- fix: correct minor typos by @Ennovate-com in #2544
- Update .readthedocs.yaml by @swcurran in #2547
- Update .readthedocs.yaml by @swcurran in #2548
- fix: routing behind mediator by @dbluhm in #2536
- Feat: Support subwallet upgradation using the Upgrade command by @shaangill025 in #2529
- chore(deps): Bump urllib3 from 2.0.6 to 2.0.7 by @dependabot in #2552
- fix: taa rough timestamp timezone from datetime by @dbluhm in #2554
- refactor: replace multiformats library by @dbluhm in #2559
- fix: mediation routing keys as did key by @dbluhm in #2516
- chore(deps): Bump urllib3 from 2.0.6 to 2.0.7 in /demo/playground/scripts by @dependabot in #2551
- fix: clean up requests and invites by @dbluhm in #2560
- Update demo/playground scripts by @usingtechnology in #2562
- refactor: use did-peer-2 instead of peerdid by @dbluhm in #2561
- Issue 2555 playground scripts readme by @usingtechnology in #2563
- Playground needs optionally external network by @usingtechnology in #2564
- chore: dependency updates by @dbluhm in #2565
- fix: drop asynctest by @dbluhm in #2566
- 0.11.0-rc0 by @swcurran in #2575
- chore: point to official sd-jwt lib release by @dbluhm in #2573
- 0.11.0-rc1 by @swcurran in #2576
New Contributors
- @Ennovate-com made their first contribution in #2420
Full Changelog: 0.10.1...0.11.0-rc1