Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.12.0 #2882

Merged
merged 1 commit into from
Apr 11, 2024
Merged

0.12.0 #2882

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 19 additions & 12 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
# Aries Cloud Agent Python Changelog

## 0.12.0rc3
## 0.12.0

### April 8, 2024
### April 11, 2024

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 v20], 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.
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 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.
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.

[Qualified DIDs]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/docs/features/QualifiedDIDs.md
[Qualified DIDs]: https://aca-py.org/latest/features/QualifiedDIDs/
[Credo-TS]: https://github.com/openwallet-foundation/credo-ts
[Aries Interop Profile v2.0]: https://github.com/hyperledger/aries-rfcs/tree/main/concepts/0302-aries-interop-profile#aries-interop-profile-version-20

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.

Expand All @@ -24,11 +25,15 @@ A big developer improvement is a revamping of the test handling to eliminate ~25
[Hyperledger AnonCreds Rust]: https://github.com/hyperledger/anoncreds-rs
[Data Integrity Verifiable Credentials]: https://www.w3.org/TR/vc-data-integrity/

### 0.12.0rc3 Breaking Changes
### 0.12.0 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.
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.

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.
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.

[Issue \#2879]: https://github.com/hyperledger/aries-cloudagent-python/pull/2880

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
Expand All @@ -39,11 +44,10 @@ New deprecation notices were added to ACA-Py on startup and in the OpenAPI/Swagg
- The use of `did:sov:...` as a Protocol Doc URI
- Migrate to use `https://didcomm.org/`.

<!-- Latest: 2872 -->

#### 0.12.0rc3 Categorized List of Pull Requests
#### 0.12.0 Categorized List of Pull Requests

- DID Handling and Connection Establishment Updates/Fixes
- fix: conn proto in invite webhook if known [\#2880](https://github.com/hyperledger/aries-cloudagent-python/pull/2880) [dbluhm](https://github.com/dbluhm)
- Emit the OOB done event even for multi-use invites [\#2872](https://github.com/hyperledger/aries-cloudagent-python/pull/2872) [ianco](https://github.com/ianco)
- refactor: introduce use_did and use_did_method [\#2862](https://github.com/hyperledger/aries-cloudagent-python/pull/2862) [dbluhm](https://github.com/dbluhm)
- fix(credo-interop): various didexchange and did:peer related fixes 1.0.0 [\#2748](https://github.com/hyperledger/aries-cloudagent-python/pull/2748) [dbluhm](https://github.com/dbluhm)
Expand All @@ -68,7 +72,8 @@ New deprecation notices were added to ACA-Py on startup and in the OpenAPI/Swagg
- Prevent revocable cred def being created without tails server [\#2849](https://github.com/hyperledger/aries-cloudagent-python/pull/2849) [jamshale](https://github.com/jamshale)
- Anoncreds - support for anoncreds and askar wallets concurrently [\#2822](https://github.com/hyperledger/aries-cloudagent-python/pull/2822) [jamshale](https://github.com/jamshale)
- Send revocation list instead of rev_list object - Anoncreds [\#2821](https://github.com/hyperledger/aries-cloudagent-python/pull/2821) [jamshale](https://github.com/jamshale)
- Fix anoncreds non-endorsement revocation [\#2814](https://github.com/hyperledger/aries-cloudagent-python/pull/2814) [jamshale](https://github.com/jamshale) - Get and create anoncreds profile when using anoncreds subwallet [\#2803](https://github.com/hyperledger/aries-cloudagent-python/pull/2803) [jamshale](https://github.com/jamshale)
- Fix anoncreds non-endorsement revocation [\#2814](https://github.com/hyperledger/aries-cloudagent-python/pull/2814) [jamshale](https://github.com/jamshale)
- Get and create anoncreds profile when using anoncreds subwallet [\#2803](https://github.com/hyperledger/aries-cloudagent-python/pull/2803) [jamshale](https://github.com/jamshale)
- Add anoncreds multitenant endorsement integration tests [\#2801](https://github.com/hyperledger/aries-cloudagent-python/pull/2801) [jamshale](https://github.com/jamshale)
- Anoncreds revoke and publish-revocations endorsement [\#2782](https://github.com/hyperledger/aries-cloudagent-python/pull/2782) [jamshale](https://github.com/jamshale)
- Upgrade anoncreds to version 0.2.0-dev11 [\#2763](https://github.com/hyperledger/aries-cloudagent-python/pull/2763) [jamshale](https://github.com/jamshale)
Expand Down Expand Up @@ -145,6 +150,7 @@ New deprecation notices were added to ACA-Py on startup and in the OpenAPI/Swagg
- Update the ReadTheDocs config in case we do another 0.10.x release [\#2629](https://github.com/hyperledger/aries-cloudagent-python/pull/2629) [swcurran](https://github.com/swcurran)

- Dependencies and Internal Updates
- Add wallet.type config to /settings endpoint [\#2877](https://github.com/hyperledger/aries-cloudagent-python/pull/2877) [jamshale](https://github.com/jamshale)
- chore(deps): Bump pillow from 10.2.0 to 10.3.0 dependencies python [\#2869](https://github.com/hyperledger/aries-cloudagent-python/pull/2869) [dependabot bot](https://github.com/dependabot bot)
- Fix run_tests script [\#2866](https://github.com/hyperledger/aries-cloudagent-python/pull/2866) [ianco](https://github.com/ianco)
- fix: states for discovery record to emit webhook [\#2858](https://github.com/hyperledger/aries-cloudagent-python/pull/2858) [dbluhm](https://github.com/dbluhm)
Expand Down Expand Up @@ -187,6 +193,7 @@ New deprecation notices were added to ACA-Py on startup and in the OpenAPI/Swagg
- Update snyk workflow to execute on Pull Request [\#2658](https://github.com/hyperledger/aries-cloudagent-python/pull/2658) [usingtechnology](https://github.com/usingtechnology)

- Release management pull requests
- 0.12.0 [\#2882](https://github.com/hyperledger/aries-cloudagent-python/pull/2882) [swcurran](https://github.com/swcurran)
- 0.12.0rc3 [\#2878](https://github.com/hyperledger/aries-cloudagent-python/pull/2878) [swcurran](https://github.com/swcurran)
- 0.12.0rc2 [\#2825](https://github.com/hyperledger/aries-cloudagent-python/pull/2825) [swcurran](https://github.com/swcurran)
- 0.12.0rc1 [\#2800](https://github.com/hyperledger/aries-cloudagent-python/pull/2800) [swcurran](https://github.com/swcurran)
Expand Down
11 changes: 6 additions & 5 deletions PUBLISHING.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,12 @@ Once you have the list of PRs:
errors should be fixed in the code.

6. Search across the repository for the previous version number and update it
everywhere that makes sense. The CHANGELOG.md is a likely exception, and the
`pyproject.toml` in the root **MUST** be updated. You can skip (although it won't
hurt) to update the files in the `open-api` folder as they will be
automagically updated by the next step in publishing. The incremented version
number **MUST** adhere to the [Semantic Versioning
everywhere that makes sense. The CHANGELOG.md entry for the previous release
is a likely exception, and the `pyproject.toml` in the root **MUST** be
updated. You can skip (although it won't hurt) to update the files in the
`open-api` folder as they will be automagically updated by the next step in
publishing. The incremented version number **MUST** adhere to the [Semantic
Versioning
Specification](https://semver.org/#semantic-versioning-specification-semver)
based on the changes since the last published release. For Release
Candidates, the form of the tag is "0.11.0rc2". As of release `0.11.0` we
Expand Down
2 changes: 1 addition & 1 deletion docs/features/DIDResolution.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ plugin:
The following is a fully functional Dockerfile encapsulating this setup:

```dockerfile=
FROM ghcr.io/hyperledger/aries-cloudagent-python:py3.9-0.12.0rc3
FROM ghcr.io/hyperledger/aries-cloudagent-python:py3.9-0.12.0
RUN pip3 install git+https://github.com/dbluhm/acapy-resolver-github

CMD ["aca-py", "start", "-it", "http", "0.0.0.0", "3000", "-ot", "http", "-e", "http://localhost:3000", "--admin", "0.0.0.0", "3001", "--admin-insecure-mode", "--no-ledger", "--plugin", "acapy_resolver_github"]
Expand Down
2 changes: 1 addition & 1 deletion docs/features/SupportedRFCs.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ACA-Py or the repository `main` branch. Reminders (and PRs!) to update this page
welcome! If you have any questions, please contact us on the #aries channel on
[Hyperledger Discord](https://discord.gg/hyperledger) or through an issue in this repo.

**Last Update**: 2024-04-08, Release 0.12.0rc3
**Last Update**: 2024-04-11, Release 0.12.0

> The checklist version of this document was created as a joint effort
> between [Northern Block](https://northernblock.io/), [Animo Solutions](https://animo.id/) and the Ontario government, on behalf of the Ontario government.
Expand Down
4 changes: 2 additions & 2 deletions open-api/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"openapi" : "3.0.1",
"info" : {
"title" : "Aries Cloud Agent",
"version" : "v0.12.0rc3"
"version" : "v0.12.0"
},
"servers" : [ {
"url" : "/"
Expand Down Expand Up @@ -1122,7 +1122,7 @@
"in" : "query",
"name" : "state",
"schema" : {
"enum" : [ "response", "active", "request", "init", "error", "invitation", "completed", "start", "abandoned" ],
"enum" : [ "abandoned", "init", "active", "start", "invitation", "completed", "request", "response", "error" ],
"type" : "string"
}
}, {
Expand Down
4 changes: 2 additions & 2 deletions open-api/swagger.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"swagger" : "2.0",
"info" : {
"version" : "v0.12.0rc3",
"version" : "v0.12.0",
"title" : "Aries Cloud Agent"
},
"tags" : [ {
Expand Down Expand Up @@ -956,7 +956,7 @@
"description" : "Connection state",
"required" : false,
"type" : "string",
"enum" : [ "response", "active", "request", "init", "error", "invitation", "completed", "start", "abandoned" ]
"enum" : [ "abandoned", "init", "active", "start", "invitation", "completed", "request", "response", "error" ]
}, {
"name" : "their_did",
"in" : "query",
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "aries_cloudagent"
version = "0.12.0rc3"
version = "0.12.0"
description = "Hyperledger Aries Cloud Agent Python (ACA-Py) is a foundation for building decentralized identity applications and services running in non-mobile environments. "
authors = ["Hyperledger Aries <[email protected]>"]
license = "Apache-2.0"
Expand Down