0.10.0-rc2
Pre-releaseRelease 0.10.0 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 PR #2409, which includes some of the best pull request documentation ever created.
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 file 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
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.0-rc2