Releases: openwallet-foundation/acapy
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
0.10.4
Release 0.10.4 is a patch release to correct an issue with the handling of did:key
routing keys in some mediator scenarios, notably with the use of Aries Framework Kotlin. See the details in the PR and Issue #2531 Routing for agents behind a aca-py based mediator is broken.
Thanks to codespree for raising the issue and providing the fix.
What's Changed
Full Changelog: 0.10.3...0.10.4
0.10.3
Release 0.10.3 is a patch release to add an upgrade process for very old versions of Aries Cloud Agent Python (circa 0.5.2). If you have a long time deployment of an issuer that uses revocation, this release could correct internal data (tags in secure storage) related to revocation registries. Details of the about the triggering problem can be found in Issue #2485.
The upgrade is applied by running the following command for the ACA-Py instance to be upgraded:
./scripts/run_docker upgrade --force-upgrade --named-tag fix_issue_rev_reg
What's Changed
- 0.10.3 by @swcurran in #2522
- Feat: Upgrade from tags and fix issue with legacy IssuerRevRegRecords [<=v0.5.2] @shaangill025 #2486
Full Changelog: 0.10.2...0.10.3
0.10.2
Release 0.10.2 is a patch release for 0.10.1 that addresses three specific regressions found in deploying Release 0.10.1. The regressions are to fix:
- An ACA-Py instance upgraded to 0.10.1 that had an existing connection to another Aries agent where the connection has both an http and ws (websocket) service endpoint with the same ID cannot message that agent. A scenario is an ACA-Py issuer connecting to an Endorser with both http and ws service endpoints. The updates made in 0.10.1 to improve ACA-Py DID resolution did not account for this scenario and needed a tweak to work (Issue #2474, #2476).
- The "fix revocation registry" endpoint used to fix scenarios an Issuer's local revocation registry state is out of sync with the ledger was broken by some code being added to support a single ACA-Py instance writing to different ledgers (Issue #2477, #2480).
- The version of the PyDID library we were using did not handle some unexpected DID resolution use cases encountered with mediators. The PyDID library version dependency was updated in #2500.
What's Changed
- 0.10.2 Patch Release - fix issue #2475, #2477 by @shaangill025 in #2482
- 0.10.2-rc0 by @swcurran in #2484
- fix: update pydid by @dbluhm in #2500
- 0.10.2 by @swcurran in #2509
Full Changelog: 0.10.1...0.10.2
0.10.2-rc0
Release 0.10.2 is a patch release for 0.10.1 that addresses two specific regressions found
in deploying Release 0.10.1. The regressions are to fix:
- An ACA-Py instance upgraded to 0.10.1 that had an existing connection to another Aries agent
where the connection has both anhttp
andws
(websocket) service endpoint with the same ID cannot
message that agent. A scenario is an ACA-Py issuer connecting to an Endorser with bothhttp
and
ws
service endpoints. The updates made in 0.10.1 to improve ACA-Py DID resolution did not account
for this scenario and needed a tweak to work (Issue #2474, PR #2475). - The "fix revocation registry" endpoint used to fix scenarios an Issuer's local revocation registry
state is out of sync with the ledger was broken by some code being added to support a single
ACA-Py instance writing to different ledgers (Issue #2477, PR #2480).
What's Changed
- 0.10.2 Patch Release - fix issue #2475, #2477 by @shaangill025 in #2482
- 0.10.2 by @swcurran in #2484
Full Changelog: 0.10.1...0.10.2-rc0
0.10.1
Release 0.10.1 contains a breaking change, an important fix for a regression introduced in 0.8.2 that impacts certain deployments, and a number of fixes and updates. Included in the updates is a significant internal reorganization of the DID and connection management code that was done to enable more flexible uses of different DID Methods, such as being able to use did:web DIDs for DIDComm messaging connections. The work also paves the way for coming updates related to support for did:peer DIDs for DIDComm. For details on the change see #2409, which includes some of the best pull request documentation ever created.
Release 0.10.1 has the same contents as 0.10.0. An error on PyPi prevented the 0.10.0 release from being properly uploaded because of an existing file of the same name. We immediately released 0.10.1 as a replacement.
The regression fix is for ACA-Py deployments that use multi-use invitations but do NOT use the --auto-accept-connection-requests flag/processing. A change in 0.8.2 (PR #2223) suppressed an extra webhook event firing during the processing after receiving a connection request. An unexpected side effect of that change was that the subsequent webhook event also did not fire, and as a result, the controller did not get any event signalling a new connection request had been received via the multi-use invitation. The update in this release ensures the proper event fires and the controller receives the webhook.
See below for the breaking changes and the CHANGELOG for a categorized list of the pull requests included in this release.
Updates in the CI/CD area include adding the publishing of a nightly container image that includes any changes in the main branch since the last nightly was published. This allows getting the "latest and greatest" code via a container image vs. having to install ACA-Py from the repository. In addition, Snyk scanning was added to the CI pipeline, and Indy SDK tests were removed from the pipeline.
0.10.1 Breaking Changes
#2352 is a breaking change related to the storage of presentation exchange records in ACA-Py. In previous releases, presentation exchange protocol state data records were retained in ACA-Py secure storage after the completion of protocol instances. With this release the default behavior changes to deleting those records by default, unless the ----preserve-exchange-records flag is set in the configuration. This extends the use of that flag that previously applied only to issue credential records. The extension matches the initial intention of the flag--that it cover both issue credential and present proof exchanges. The "best practices" for ACA-Py is that the controller (business logic) store any long-lasting business information needed for the service that is using the Aries Agent, and ACA-Py storage should be used only for data necessary for the operation of the agent. In particular, protocol state data should be held in ACA-Py only as long as the protocol is running (as it is needed by ACA-Py), and once a protocol instance completes, the controller should extract and store the business information from the protocol state before it is deleted from ACA-Py storage.
What's Changed
- Add workaround for ARM based macs by @finnformica in #2313
- chore(deps): Bump certifi from 2023.5.7 to 2023.7.22 in /demo/playground/scripts by @dependabot in #2354
- Extend
--preserve-exchange-records
to include Presentation Exchange. by @usingtechnology in #2352 - Corrected typo on mediator invitation configuration argument by @jorgefl0 in #2365
- Fix empty ServiceDecorator in OobRecord causing 422 Unprocessable Entity Error by @ff137 in #2362
- Correct the response type in
send_rev_reg_def
by @ff137 in #2355 - fix: additional tweaks for did:web and other methods as public DIDs by @dbluhm in #2392
- fix: keylist update response race condition by @dbluhm in #2391
- Feat: Support Selectable Write Ledger by @shaangill025 in #2339
- fix: outbound send status missing on path by @dbluhm in #2393
- Multitenant check endorser_info before saving by @usingtechnology in #2395
- Chore: fix marshmallow warnings by @ff137 in #2398
- Upgrade pre-commit and flake8 dependencies; fix flake8 warnings by @ff137 in #2399
- feat: add DID Exchange specific problem reports and reject endpoint by @dbluhm in #2394
- Fix: Ensure event/webhook is emitted for multi-use invitations by @esune in #2413
- 0.10.0-rc0 by @swcurran in #2414
- fix: ensure request matches offer, if sent by @dbluhm in #2341
- Remove Indy tests from workflows by @dbluhm in #2415
- Enable Snyk scanning by @ryjones in #2418
- feat: add legacy peer did resolver by @dbluhm in #2404
- Issue #2250 Nightly publish workflow by @Gavinok in #2421
- Don't run Snyk on forks by @ryjones in #2429
- Fix for nightly tests failing on Python 3.10 by @Gavinok in #2435
- feat: resolve connection targets and permit connecting via public DID by @dbluhm in #2409
- 0.10.0-rc1 by @swcurran in #2442
- fix: more doc corrections by @dbluhm in #2446
- Add symlink to /home/indy/.indy_client for backwards compatibility by @esune in #2443
- fix: ignore duplicate record errors on add key by @dbluhm in #2447
- 0.10.0-rc2 by @swcurran in #2448
- fix: handle stored afgo and findy docs in corrections by @dbluhm in #2450
- chore: relax connections filter DID format by @chumbert in #2451
- 0.10.0 by @swcurran in #2452
- 0.10.1 by @swcurran in #2454
New Contributors
- @finnformica made their first contribution in #2313
- @jorgefl0 made their first contribution in #2365
- @Gavinok made their first contribution in #2421
Full Changelog: 0.9.0...0.10.1