Skip to content

Releases: openwallet-foundation/acapy

0.8.2-rc1

27 Jun 14:51
15ff792
Compare
Choose a tag to compare
0.8.2-rc1 Pre-release
Pre-release

Release 0.8.2 contains a number of minor fixes and updates to ACA-Py, including the correction of a regression in Release 0.8.0 related to the use of plugins (see [https://github.com//pull/2255]). Highlights include making it easier to use tracing in a development environment to collect detailed performance information about what is going in within ACA-Py.

There are no breaking changes in this release.

For more about this release, please see the CHANGELOG.md file.

What's Changed

New Contributors

Full Changelog: 0.8.1...0.8.2-rc1

0.8.2-rc0

08 Jun 21:36
8b22ed3
Compare
Choose a tag to compare
0.8.2-rc0 Pre-release
Pre-release

Release 0.8.2 contains a number of minor fixes and updates to ACA-Py, including the correction of a regression in Release 0.8.0 related to the use of plugins (see [#2255]). Highlights include making it easier to use tracing in a development environment to collect detailed performance information about what is going in within ACA-Py.

There are no breaking changes in this release.

For more about this release, please see the CHANGELOG.md file.

What's Changed

New Contributors

Full Changelog: 0.8.1...0.8.2-rc0

1.0.0-rc2

05 Jun 15:52
6422622
Compare
Choose a tag to compare
1.0.0-rc2 Pre-release
Pre-release

ACA-Py 1.0.0 will be a breaking update to ACA-Py with the version number indicating the maturity of the implementation. The final 1.0.0 release will be Aries Interop Profile 2.0-complete, and based on Python 3.9 or higher. The decision to start tagging early 1.0.0 releases was probably a bad one given the subsequent focus in the community on optimization of what we have vs. completing the to-do list for AIP 2.0. However, some organizations are using 1.0.0-rc1, so with this release of 1.0.0-rc2, we are providing an update that incorporates the many, many enhancements, improvements, and fixes that are in releases 0.8.0 and 0.8.1.

Breaking Changes

See the breaking changes documented in Releases 0.8.1 and 0.8.0. There are no breaking changes in the merged pull requests listed below--those merged since Release 0.8.1.

What's Changed

  • fix: run only on main, forks ok by @anwalker293 in #2166
  • Add support for JsonWebKey2020 for the connection invitations by @dkulic in #2173
  • Update Alice Wants a JSON-LD Credential to fix invocation by @swcurran in #2219
  • Disable webhook trigger on initial response to multi-use connection invitation by @esune in #2223
  • Fix broken link in README by @ff137 in #2221
  • Fix formatting and grammatical errors in different readme's by @ff137 in #2222
  • Connection target should not be limited only to indy dids by @dkulic in #2229
  • Multi-tenant self-managed mediation verkey lookup by @usingtechnology in #2232
  • stand up multiple agents (single and multi) for local development and testing by @usingtechnology in #2230
  • Fix multitenant/mediation in demo by @ianco in #2075
  • Upgrade codegen tools in scripts/generate-open-api-spec and publish Swagger 2.0 and OpenAPI 3.0 specs by @ff137 in #2246
  • fix: route multitenant connectionless oob invitation by @TimoGlastra in #2243
  • Add updated ELK stack for demos. by @usingtechnology in #2236
  • ./run_demo performance -c 1 --mediation --timing --trace-log by @usingtechnology in #2245
  • Bump requests from 2.30.0 to 2.31.0 in /demo/playground/scripts by @dependabot in #2238
  • Pass document loader to jsonld.expand by @andrewwhitehead in #2175
  • fix: only cache completed connection targets by @dbluhm in #2240
  • 1.0.0-rc2 Updates by @swcurran in #2253

New Contributors

Full Changelog: 0.8.1...1.0.0-rc2

0.8.1

06 Apr 14:41
e07e4fd
Compare
Choose a tag to compare

Version 0.8.1 is an urgent update to Release 0.8.0 to address an inability to execute the upgrade command. The upgrade command is needed for 0.8.0 Pull Request #2116 - "UPGRADE: Fix multi-use invitation performance", which is useful for (at least) deployments of ACA-Py as a mediator. In the release, the upgrade process is revamped, and documented in Upgrading ACA-Py.

Key points about upgrading for those with production, pre-0.8.1 ACA-Py deployments:

  • Upgrades now happen automatically on startup, when needed.
  • The version of the last executed upgrade, even if it is a "no change" upgrade, is put into secure storage and is used to detect when future upgrades are needed.
    • Upgrades are needed when the running version is greater than the version is secure storage.
  • If you have an existing, pre-0.8.1 deployment with many connection records, there may be a delay in starting as an upgrade will be run that loads and saves every connection record, updating the data in the record in the process.
    • A mechanism is to be added (see Issue #2201) for preventing an upgrade running if it should not be run automatically, and requires using the upgrade command. To date, there has been no need for this feature.
  • See the Upgrading ACA-Py document for more details.

Postgres Support with Aries Askar

Recent changes to Aries Askar have resulted in Askar supporting Postgres version 11 and greater. If you are on Postgres 10 or earlier and want to upgrade to use Askar, you must migrate your database to Postgres 10.

We have also noted that in some container orchestration environments such as Red Hat's OpenShift and possibly other Kubernetes distributions, Askar using Postgres versions greater than 14 do not install correctly. Please monitor Issue #2199 for an update to this limitation. We have found that Postgres 15 does install correctly in other environments (such as in docker compose setups).

What's Changed

New Contributors

Full Changelog: 0.8.0...0.8.1

0.8.1-rc2

04 Apr 14:17
0b61c98
Compare
Choose a tag to compare
0.8.1-rc2 Pre-release
Pre-release

An urgent update to Release 0.8.1 to address an inability to execute the upgrade command. The upgrade command is needed for Pull Request #2116 - "UPGRADE: Fix multi-use invitation performance", which is necessary for (at least) deployments of ACA-Py as a mediator. The important updates are Pull Requests #2185 and #2196 (listed below). Documentation on upgrades in ACA-Py will be included before the final 0.8.1 release is tagged.

What's Changed

Full Changelog: 0.8.0...0.8.1-rc2

0.8.0-rc1

31 Mar 21:33
0dea75a
Compare
Choose a tag to compare
0.8.0-rc1 Pre-release
Pre-release

An urgent update to Release 0.8.1 to address an inability to execute the upgrade command. The upgrade command is needed for Pull Request #2116 - "UPGRADE: Fix multi-use invitation performance", which is necessary for (at least) deployments of ACA-Py as a mediator. The important update is Pull Request #2185 (listed below).

What's Changed

Full Changelog: 0.8.0...0.8.1-rc1

0.8.1-rc0

31 Mar 03:53
04fa9f2
Compare
Choose a tag to compare
0.8.1-rc0 Pre-release
Pre-release

An urgent update to Release 0.8.1 to address an inability to execute the upgrade command. The upgrade command is needed for Pull Request #2116 - "UPGRADE: Fix multi-use invitation performance", which is necessary for (at least) deployments of ACA-Py as a mediator. The important update is Pull Request #2185 (listed below).

What's Changed

Full Changelog: 0.8.0...0.8.1-rc0

0.8.0

15 Mar 21:09
dab1f30
Compare
Choose a tag to compare

0.8.0 is a breaking change that contains all updates since release 0.7.5. It extends the previously tagged 1.0.0-rc1 release because it is not clear when the 1.0.0 release will be finalized. Many of the PRs in this release were previously included in the 1.0.0-rc1 release. The categorized list of PRs in the CHANGELOG.md separates those that are new from those in the 1.0.0-rc1 release candidate.

There are not a lot of new Aries Framework features in this release, as the focus has been on cleanup and optimization. The biggest addition is the inclusion with ACA-Py of a universal resolver interface, allowing an instance to have both local resolvers for some DID Methods and a call out to an external universal resolver for other DID Methods. Another significant new capability is full support for Hyperledger Indy transaction endorsement for Authors and Endorsers. A new repo aries-endorser-service has been created that is a pre-configured instance of ACA-Py for use as an Endorser service.

A recently completed feature that is outside of ACA-Py is a script to migrate existing ACA-Py storage from Indy SDK format to Aries Askar format. This enables existing deployments to switch to using the newer Aries Askar components. For details see the converter in the aries-acapy-tools repository.

Container Publishing Updated

With this release, a new automated process publishes container images in the Hyperledger container image repository. New images for the release are automatically published by the GitHubAction Workflows: publish.yml and publish-indy.yml. The actions are triggered when a release is tagged, so no manual action is needed. The images are published in the Hyperledger Package Repository under aries-cloudagent-python and a link to the packages added to the repositories main page (under "Packages"). Additional information about the container image publication process can be found in the document Container Images and Github Actions.

The ACA-Py container images are based on Python 3.6 and 3.9 slim-bullseye images, and are designed to support linux/386 (x86), linux/amd64 (x64), and linux/arm64. However, for this release, the publication of multi-architecture containers is disabled. We are working to enable that through the updating of some dependencies that lack that capability. There are two flavors of image built for each Python version. One contains only the Indy/Aries Shared Libraries only (Aries Askar, Indy VDR and Indy Shared RS, supporting only the use of--wallet-type askar). The other (labelled indy) contains the Indy/Aries shared libraries and the Indy SDK (considered deprecated). For new deployments, we recommend using the Python 3.9 Shared Library images. For existing deployments, we recommend migrating to those images.

Those currently using the container images published by BC Gov on Docker Hub should change to use those published to the Hyperledger Package Repository under aries-cloudagent-python.

Breaking Changes and Upgrades

BREAKING PR #2034 -- Implicit connections
The break impacts existing deployments that support implicit connections, those initiated by another agent using a Public DID for this instance instead of an explicit invitation. Such deployments need to add the configuration parameter --requests-through-public-did to continue to support that feature. The use case is that an ACA-Py instance publishes a public DID on a ledger with a DIDComm service in the DIDDoc. Other agents resolve that DID, and attempt to establish a connection with the ACA-Py instance using the service endpoint. This is called an "implicit" connection in RFC 0023 DID Exchange.

BREAKING PR #1913 -- Unrevealed attributes in presentations
Updates the handling of "unrevealed attributes" during verification of AnonCreds presentations, allowing them to be used in a presentation, with additional data that can be checked if for unrevealed attributes. As few implementations of Aries wallets support unrevealed attributes in an AnonCreds presentation, this is unlikely to impact any deployments.

BREAKING PR #2145 - Update webhook message to terse form by default, added startup flag --debug-webhooks for full form
The default behavior in ACA-Py has been to keep the full text of all messages in the protocol state object, and include the full protocol state object in the webhooks sent to the controller. When the messages include an object that is very large in all the messages, the webhook may become too big to be passed via HTTP. For example, issuing a credential with a photo as one of the claims may result in a number of copies of the photo in the protocol state object and hence, very large webhooks. This change reduces the size of the webhook message by eliminating redundant data in the protocol state of the "Issue Credential" message as the default, and adds a new parameter to use the old behavior.

UPGRADE PR #2116 - UPGRADE: Fix multi-use invitation performance
The way that multiuse invitations in previous versions of ACA-Py caused performance to degrade over time. An update was made to add state into the tag names that eliminated the need to scan the tags when querying storage for the invitation.

If you are using multiuse invitations in your existing (pre-0.8.0 deployment of ACA-Py, you can run an upgrade to apply this change. To run upgrade from previous versions, use the following command using the 0.8.0 version of ACA-Py, adding you wallet settings:

aca-py upgrade <other wallet config settings> --from-version=v0.7.5 --upgrade-config-path ./upgrade.yml

What's Changed

Read more

0.8.0-rc

10 Feb 23:30
0f66da2
Compare
Choose a tag to compare
0.8.0-rc Pre-release
Pre-release

0.8.0-rc0

February 8, 2023

0.8.0 is a breaking change release that contains all updates since release 0.7.5. It extends the previously tagged 1.0.0-rc1 release because it is not clear when that release will be finalized. Many of the PRs in this release were previously included in the 1.0.0-rc1 release. The categorized list of PRs separates those that are new from those in the 1.0.0-rc1 release candidate. See the Changelog for v0.8.0-rc0 for all changes since v0.7.5.

There are not a lot of new Aries Framework features in the release, as the focus has been on cleanup and optimization. The biggest addition is the inclusion with ACA-Py of a universal resolver interface, allowing an instance to have both local resolvers for some DID Methods and a call out to an external universal resolver for other DID Methods. Another significant new capability is full support for Hyperledger Indy transaction endorsement for Authors and Endorsers. A new repo aries-endorser-service has been created that is a pre-configured instance of ACA-Py for use as an Endorser service.

Container Publishing Updated

With this release, a new automated process publishes container images in the Hyperledger container image repository. New images for the release are automatically published by the GitHubAction Workflows: publish.yml and publish-indy.yml. The actions are triggered when a release is tagged, so no manual action is needed. The images are published in the Hyperledger Package Repository under aries-cloudagent-python and a link to the packages added to the repositories main page (under "Packages"). Additional information about the container image publication process can be found in the document Container Images and Github Actions.

The ACA-Py container images are based on Python 3.6 and 3.9 slim-bullseye images, and are built to support linux/386 (x86), linux/amd64 (x64), and linux/arm64. There are two flavors of image built for each Python version. One contains only the Indy/Aries Shared Libraries only (Aries Askar, Indy VDR and Indy Shared RS, supporting only the use of --wallet-type askar). The other (labelled indy) contains the Indy/Aries shared libraries and the Indy SDK (considered deprecated). For new deployments, we recommend using the Python 3.9 Shared Library images. For existing deployments, we recommend migrating to those images. For those migrating an Indy SDK deployment, a new secure storage database migration capability from Indy SDK to Aries Askar is available--contact the ACA-Py maintainers on Hyperledger Discord for details.

Those currently using the container images published by BC Gov on Docker Hub should change to use those published to the Hyperledger Package Repository under aries-cloudagent-python.

Full Changelog: 0.7.5...0.8.0-rc0

1.0.0-rc1

04 Nov 22:31
de04b9d
Compare
Choose a tag to compare
1.0.0-rc1 Pre-release
Pre-release

1.0.0 is a breaking update to ACA-Py whose version is intended to indicate the
maturity of the implementation. The final 1.0.0 release will be Aries Interop
Profile 2.0-complete, and based on Python 3.7 or higher.

In rc1, there are not a lot of new features, as the focus is on cleanup and
optimization. The biggest is the inclusion with ACA-Py of a universal resolver
interface, allowing an instance to have both local resolvers for some DID
Methods and a call out to an external universal resolver for other DID Methods.
Another significant feature is full support for Hyperledger Indy transaction
endorsement for Authors and Endorsers. A new repo
aries-endorser-service
has been created that is a pre-configured instance of ACA-Py for use as an
Endorser service. While some work has been done on moving the default Python
version beyond 3.6, more work is still to be done on that before the final
v1.0.0 release.

Breaking Changes

As of release candidate 1.0.0-rc1, the only identified breaking change is the
handling of "unrevealed attributes" during verification (see
#1913 for
details). As few implementations of Aries Wallets support unrevealed attributes
in an AnonCreds presentation, this is unlikely to impact any deployments.

What's Changed Since 1.0.0-rc0

See the Changelog for v1.0.0-rc1 for all changes since v0.7.4.