From 54ce86a70f89c9a914d5f37785968cf7d358917b Mon Sep 17 00:00:00 2001 From: Stephen Curran Date: Sat, 17 Feb 2024 00:42:24 +0000 Subject: [PATCH 1/5] 0.12.0rc1 Signed-off-by: Stephen Curran --- CHANGELOG.md | 48 +++++++++++++++++++++++++++++----- PUBLISHING.md | 48 +++++++++++++++------------------- docs/conf.py | 5 +++- docs/features/DIDResolution.md | 2 +- docs/features/SupportedRFCs.md | 4 ++- open-api/openapi.json | 20 +++++--------- open-api/swagger.json | 19 +++++--------- pyproject.toml | 2 +- scripts/generate-open-api-spec | 3 +-- 9 files changed, 84 insertions(+), 67 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a0f30a8ec..397f0934b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,24 +1,30 @@ # Aries Cloud Agent Python Changelog -## 0.12.0rc0 +## 0.12.0rc1 -### January 23, 2024 +### February 17, 2024 -Release 0.12.0 is a relative 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 endorsement) before the 0.12.0 release is finalized, hence the minor version update. +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 `rc0` 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. + +[PR \#2705]: https://github.com/hyperledger/aries-cloudagent-python/pull/2705 +[PR \#2789]: https://github.com/hyperledger/aries-cloudagent-python/pull/2789 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](https://aca-py.org) directly from the ACA-Py repository, rather than from the separate [aries-acapy-docs](https://github.com/hyperledger/aries-acapy-docs) currently being used. + [DID Peer]: https://identity.foundation/peer-did-method-spec/ [AnonCreds]: https://www.hyperledger.org/projects/anoncreds [Hyperledger AnonCreds Rust]: https://github.com/hyperledger/anoncreds-rs [Data Integrity Verifiable Credentials]: https://www.w3.org/TR/vc-data-integrity/ -### 0.12.0rc0 Breaking Changes +### 0.12.0rc1 Breaking Changes -There are no breaking changes in 0.12.0rc0. +There are no breaking changes in 0.12.0rc1. - -#### 0.12.0rc0 Categorized List of Pull Requests +#### 0.12.0rc1 Categorized List of Pull Requests - DID Handling and Connection Establishment Updates/Fixes - fix: save multi_use to the DB for OOB invitations [\#2694](https://github.com/hyperledger/aries-cloudagent-python/pull/2694) [frostyfrog](https://github.com/frostyfrog) @@ -35,6 +41,12 @@ There are no breaking changes in 0.12.0rc0. - feat: support resolving did:peer:1 received in did exchange [\#2611](https://github.com/hyperledger/aries-cloudagent-python/pull/2611) [dbluhm](https://github.com/dbluhm) - Ledger Agnostic AnonCreds RS Changes + - 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) + - Update anoncreds to 0.2.0-dev10 [\#2758](https://github.com/hyperledger/aries-cloudagent-python/pull/2758) [jamshale](https://github.com/jamshale) + - Anoncreds - Cred Def and Revocation Endorsement [\#2752](https://github.com/hyperledger/aries-cloudagent-python/pull/2752) [jamshale](https://github.com/jamshale) + - Upgrade anoncreds to 0.2.0-dev9 [\#2741](https://github.com/hyperledger/aries-cloudagent-python/pull/2741) [jamshale](https://github.com/jamshale) + - Upgrade anoncred-rs to version 0.2.0-dev8 [\#2734](https://github.com/hyperledger/aries-cloudagent-python/pull/2734) [jamshale](https://github.com/jamshale) - Upgrade anoncreds to 0.2.0.dev7 [\#2719](https://github.com/hyperledger/aries-cloudagent-python/pull/2719) [jamshale](https://github.com/jamshale) - Improve api documentation and error handling [\#2690](https://github.com/hyperledger/aries-cloudagent-python/pull/2690) [jamshale](https://github.com/jamshale) - Add unit tests for anoncreds revocation [\#2688](https://github.com/hyperledger/aries-cloudagent-python/pull/2688) [jamshale](https://github.com/jamshale) @@ -52,6 +64,9 @@ There are no breaking changes in 0.12.0rc0. - Fix: RevRegEntry Transaction Endorsement 0.11.0 [\#2558](https://github.com/hyperledger/aries-cloudagent-python/pull/2558) [shaangill025](https://github.com/shaangill025) - JSON-LD Verifiable Credential/DIF Presentation Exchange updates + - Revert profile injection for VcLdpManager on vc-api endpoints [\#2794](https://github.com/hyperledger/aries-cloudagent-python/pull/2794) [PatStLouis](https://github.com/PatStLouis) + - Add cached copy of BBS v1 context [\#2749](https://github.com/hyperledger/aries-cloudagent-python/pull/2749) [andrewwhitehead](https://github.com/andrewwhitehead) + - Update BBS+ context to bypass redirections [\#2739](https://github.com/hyperledger/aries-cloudagent-python/pull/2739) [swcurran](https://github.com/swcurran) - feat: make VcLdpManager pluggable [\#2706](https://github.com/hyperledger/aries-cloudagent-python/pull/2706) [dbluhm](https://github.com/dbluhm) - fix: minor type hint corrections for VcLdpManager [\#2704](https://github.com/hyperledger/aries-cloudagent-python/pull/2704) [dbluhm](https://github.com/dbluhm) - Remove if condition which checks if the credential.type array is equal to 1 [\#2670](https://github.com/hyperledger/aries-cloudagent-python/pull/2670) [PatStLouis](https://github.com/PatStLouis) @@ -65,9 +80,13 @@ There are no breaking changes in 0.12.0rc0. - Add ConnectionProblemReport handler [\#2600](https://github.com/hyperledger/aries-cloudagent-python/pull/2600) [usingtechnology](https://github.com/usingtechnology) - Multitenancy Updates and Fixes + - feature/per tenant settings [\#2790](https://github.com/hyperledger/aries-cloudagent-python/pull/2790) [amanji](https://github.com/amanji) - Improve Per Tenant Logging: Fix issues around default log file path [\#2659](https://github.com/hyperledger/aries-cloudagent-python/pull/2659) [shaangill025](https://github.com/shaangill025) - Other Fixes, Demo, DevContainer and Documentation Fixes + - Demo description of reuse in establishing a connection [\#2787](https://github.com/hyperledger/aries-cloudagent-python/pull/2787) [swcurran](https://github.com/swcurran) + - Reorganize the ACA-Py Documentation Files [\#2765](https://github.com/hyperledger/aries-cloudagent-python/pull/2765) [swcurran](https://github.com/swcurran) + - Tweaks to MD files to enable aca-py.org publishing [\#2771](https://github.com/hyperledger/aries-cloudagent-python/pull/2771) [swcurran](https://github.com/swcurran) - Update devcontainer documentation [\#2729](https://github.com/hyperledger/aries-cloudagent-python/pull/2729) [jamshale](https://github.com/jamshale) - Update the SupportedRFCs Document to be up to date [\#2722](https://github.com/hyperledger/aries-cloudagent-python/pull/2722) [swcurran](https://github.com/swcurran) - Fix incorrect Sphinx search library version reference [\#2716](https://github.com/hyperledger/aries-cloudagent-python/pull/2716) [swcurran](https://github.com/swcurran) @@ -78,6 +97,12 @@ There are no breaking changes in 0.12.0rc0. - 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 + - Revert profile inject [\#2789](https://github.com/hyperledger/aries-cloudagent-python/pull/2789) [jamshale](https://github.com/jamshale) + + - Move emit events to profile and delay sending until after commit [\#2760](https://github.com/hyperledger/aries-cloudagent-python/pull/2760) [ianco](https://github.com/ianco) + - fix: partial revert of ConnRecord schema change 1.0.0 [\#2746](https://github.com/hyperledger/aries-cloudagent-python/pull/2746) [dbluhm](https://github.com/dbluhm) + - chore(deps): Bump aiohttp from 3.9.1 to 3.9.2 dependencies [\#2745](https://github.com/hyperledger/aries-cloudagent-python/pull/2745) [dependabot bot](https://github.com/dependabot bot) + - bump pydid to v 0.4.3 [\#2737](https://github.com/hyperledger/aries-cloudagent-python/pull/2737) [PatStLouis](https://github.com/PatStLouis) - Fix subwallet record removal [\#2721](https://github.com/hyperledger/aries-cloudagent-python/pull/2721) [andrewwhitehead](https://github.com/andrewwhitehead) - chore(deps): Bump jinja2 from 3.1.2 to 3.1.3 dependencies [\#2707](https://github.com/hyperledger/aries-cloudagent-python/pull/2707) [dependabot bot](https://github.com/dependabot bot) - feat: inject profile [\#2705](https://github.com/hyperledger/aries-cloudagent-python/pull/2705) [dbluhm](https://github.com/dbluhm) @@ -90,10 +115,19 @@ There are no breaking changes in 0.12.0rc0. - Bump aiohttp from 3.8.6 to 3.9.0 dependencies [\#2635](https://github.com/hyperledger/aries-cloudagent-python/pull/2635) [dependabot bot](https://github.com/dependabot bot) - CI/CD, Testing, and Developer Tools/Productivity Updates + - chore(deps): Bump the all-actions group with 10 updates dependencies [\#2784](https://github.com/hyperledger/aries-cloudagent-python/pull/2784) [dependabot bot](https://github.com/dependabot bot) + - Add Dependabot configuration [\#2783](https://github.com/hyperledger/aries-cloudagent-python/pull/2783) [WadeBarnes](https://github.com/WadeBarnes) + - Implement B006 rule [\#2775](https://github.com/hyperledger/aries-cloudagent-python/pull/2775) [jamshale](https://github.com/jamshale) + - ⬆️ Upgrade pytest to 8.0 [\#2773](https://github.com/hyperledger/aries-cloudagent-python/pull/2773) [ff137](https://github.com/ff137) + - ⬆️ Update pytest-asyncio to 0.23.4 [\#2764](https://github.com/hyperledger/aries-cloudagent-python/pull/2764) [ff137](https://github.com/ff137) + - Remove asynctest dependency and fix "coroutine not awaited" warnings [\#2755](https://github.com/hyperledger/aries-cloudagent-python/pull/2755) [ff137](https://github.com/ff137) + - Fix pytest collection errors when anoncreds package is not installed [\#2750](https://github.com/hyperledger/aries-cloudagent-python/pull/2750) [andrewwhitehead](https://github.com/andrewwhitehead) + - chore: pin black version [\#2747](https://github.com/hyperledger/aries-cloudagent-python/pull/2747) [dbluhm](https://github.com/dbluhm) - Tweak scope of GHA integration tests [\#2662](https://github.com/hyperledger/aries-cloudagent-python/pull/2662) [ianco](https://github.com/ianco) - 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.0rc1 [\#2798](https://github.com/hyperledger/aries-cloudagent-python/pull/2798) [swcurran](https://github.com/swcurran) - 0.12.0rc0 [\#2732](https://github.com/hyperledger/aries-cloudagent-python/pull/2732) [swcurran](https://github.com/swcurran) ## 0.11.0 diff --git a/PUBLISHING.md b/PUBLISHING.md index e44c2dfdee..4aa7c91003 100644 --- a/PUBLISHING.md +++ b/PUBLISHING.md @@ -91,7 +91,9 @@ Once you have the list of PRs: - Organize the list into suitable categories, update (if necessary) the PR description and add notes to clarify the changes. See previous release entries to understand the style -- a format that should help developers. - Add a narrative about the release above the PR that highlights what has gone into the release. -4. Update the ReadTheDocs in the `/docs` folder by following the instructions in +4. Check to see if there are any other PRs that should be included in the release. + +5. Update the ReadTheDocs in the `/docs` folder by following the instructions in the `docs/README.md` file. That will likely add a number of new and modified files to the PR. Eliminate all of the errors in the generation process, either by mocking external dependencies or by fixing ACA-Py code. If @@ -99,44 +101,36 @@ Once you have the list of PRs: developer. Experience has demonstrated to use that documentation generation errors should be fixed in the code. -5. Regenerate openapi.json and swagger.json by running - `./scripts/generate-open-api-spec`. - -6. Update the version number listed in - [pyproject.toml](https://github.com/hyperledger/aries-cloudagent-python/tree/main/pyproject.toml) and, prefixed with - a "v" in [open-api/openapi.json](https://github.com/hyperledger/open-api/tree/main/openapi.json) and - [open-api/swagger.json](https://github.com/hyperledger/open-api/tree/main/swagger.json) (e.g. "0.7.2" in the - pyproject.toml file and "v0.7.2" in the openapi.json file). The incremented - version number should adhere to the [Semantic Versioning +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 is **MUST**. 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 have dropped the previously used `-` in the release candidate version - string to better follow the semver rules. - -7. An extra search of the repo for the existing tag is recommended to see if - there are any other instances of the tag in the repo. If any are found to be - required (other than in CHANGELOG.md and the examples in this file, of - course), finding a way to not need them is best, but if they are needed, - please update this document to note where the tag can be found. - -8. Check to see if there are any other PRs that should be included in the release. - -9. Double check all of these steps above, and then submit a PR from the branch. + Candidates, the form of the tag is "0.11.0rc2". As of release `0.11.0` we + have dropped the previously used `-` in the release candidate version string + to better follow the semver rules. + +7. Regenerate openapi.json and swagger.json by running + `./scripts/generate-open-api-spec`. + +8. Double check all of these steps above, and then submit a PR from the branch. Add this new PR to CHANGELOG.md so that all the PRs are included. If there are still further changes to be merged, mark the PR as "Draft", repeat **ALL** of the steps again, and then mark this PR as ready and then wait until it is merged. It's embarrassing when you have to do a whole new release just because you missed something silly...I know! -10. Immediately after it is merged, create a new GitHub tag representing the +9. Immediately after it is merged, create a new GitHub tag representing the version. The tag name and title of the release should be the same as the version in [pyproject.toml](https://github.com/hyperledger/aries-cloudagent-python/tree/main/pyproject.toml). Use the "Generate Release Notes" capability to get a sequential listing of the PRs in the release, to complement the manually curated Changelog. Verify on PyPi that the version is published. -11. New images for the release are automatically published by the GitHubAction +10. 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 @@ -150,11 +144,11 @@ Once you have the list of PRs: [publish.yml]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/.github/workflows/publish.yml [publish-indy.yml]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/.github/workflows/publish-indy.yml -12. Update the ACA-Py Read The Docs site by building the new "latest" (main +11. Update the ACA-Py Read The Docs site by building the new "latest" (main branch) and activating and building the new release. Appropriate permissions are required to publish the new documentation version. -13. Update the [https://aca-py.org] website with the latest documentation by +12. Update the [https://aca-py.org] website with the latest documentation by creating a PR and tag of the latest documentation from this site. Details are provided in the [aries-acapy-docs] repository. diff --git a/docs/conf.py b/docs/conf.py index 5199e18ab5..336d7e620d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -57,6 +57,9 @@ "pytz", "multiformats", "sd_jwt", + "anoncreds", + "did_peer_2", + "did_peer_4", ] # "aries_cloudagent.tests.test_conductor", @@ -101,7 +104,7 @@ # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # -source_suffix = [".rst", ".md"] +source_suffix = [".rst"] # source_suffix = '.rst' # The master toctree document. diff --git a/docs/features/DIDResolution.md b/docs/features/DIDResolution.md index cd84ecbc91..30e8f9210a 100644 --- a/docs/features/DIDResolution.md +++ b/docs/features/DIDResolution.md @@ -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.0rc0 +FROM ghcr.io/hyperledger/aries-cloudagent-python:py3.9-0.12.0rc1 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"] diff --git a/docs/features/SupportedRFCs.md b/docs/features/SupportedRFCs.md index 245f881cea..022999fcf1 100644 --- a/docs/features/SupportedRFCs.md +++ b/docs/features/SupportedRFCs.md @@ -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-01-17, Release 0.12.0rc0 +**Last Update**: 2024-02-17, Release 0.12.0rc1 > 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. @@ -129,6 +129,8 @@ are fully supported in ACA-Py **EXCEPT** as noted in the table below. | [0587-encryption-envelope-v2](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0587-encryption-envelope-v2) | :construction: | Supporting the DIDComm v2 encryption envelope does not make sense until DIDComm v2 is to be supported. | | [0317-please-ack](https://github.com/hyperledger/aries-rfcs/tree/main/features/0317-please-ack) | :x: | An investigation was done into supporting `please-ack` and a number of complications were found. As a result, we expect that `please-ack` will be dropped from AIP 2.0. It has not been implemented by any Aries frameworks or deployments. | +There is a [PR to the Aries RFCs repository](https://github.com/hyperledger/aries-rfcs/pull/814) to remove those RFCs from AIP 2.0. If that PR is removed, the RFCs will be removed from the table above. + ### Other Supported RFCs | RFC | Supported | Notes | diff --git a/open-api/openapi.json b/open-api/openapi.json index 9302c73f2d..c83a1fe881 100644 --- a/open-api/openapi.json +++ b/open-api/openapi.json @@ -2,7 +2,7 @@ "openapi" : "3.0.1", "info" : { "title" : "Aries Cloud Agent", - "version" : "v0.12.0rc0" + "version" : "v0.12.0rc1" }, "servers" : [ { "url" : "/" @@ -376,7 +376,7 @@ "in" : "query", "name" : "state", "schema" : { - "enum" : [ "active", "error", "invitation", "start", "init", "completed", "request", "response", "abandoned" ], + "enum" : [ "abandoned", "invitation", "active", "response", "request", "start", "error", "completed", "init" ], "type" : "string" } }, { @@ -5649,13 +5649,6 @@ "schema" : { "type" : "string" } - }, { - "description" : "Endorser will write the transaction after endorsing it", - "in" : "query", - "name" : "endorser_write_txn", - "schema" : { - "type" : "boolean" - } } ], "requestBody" : { "content" : { @@ -8382,9 +8375,8 @@ "type" : "string" }, "prover_did" : { - "description" : "Prover DID", - "example" : "WgWxqztrNooG92RXvxSTWv", - "pattern" : "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", + "description" : "Prover DID/Random String/UUID", + "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type" : "string" } }, @@ -11512,8 +11504,8 @@ "type" : "string" }, "endorser_write_txn" : { - "description" : "If True, Endorser will write the transaction after endorsing it", - "example" : true, + "description" : "Request Endorser to write the ledger transaction, this parameter is deprecated and no longer supported.", + "example" : false, "type" : "boolean" }, "formats" : { diff --git a/open-api/swagger.json b/open-api/swagger.json index 619c433e58..a1982cf310 100644 --- a/open-api/swagger.json +++ b/open-api/swagger.json @@ -1,7 +1,7 @@ { "swagger" : "2.0", "info" : { - "version" : "v0.12.0rc0", + "version" : "v0.12.0rc1", "title" : "Aries Cloud Agent" }, "tags" : [ { @@ -339,7 +339,7 @@ "description" : "Connection state", "required" : false, "type" : "string", - "enum" : [ "active", "error", "invitation", "start", "init", "completed", "request", "response", "abandoned" ] + "enum" : [ "abandoned", "invitation", "active", "response", "request", "start", "error", "completed", "init" ] }, { "name" : "their_did", "in" : "query", @@ -4635,12 +4635,6 @@ "description" : "Transaction identifier", "required" : true, "type" : "string" - }, { - "name" : "endorser_write_txn", - "in" : "query", - "description" : "Endorser will write the transaction after endorsing it", - "required" : false, - "type" : "boolean" } ], "responses" : { "200" : { @@ -7210,9 +7204,8 @@ }, "prover_did" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv", - "description" : "Prover DID", - "pattern" : "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$" + "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "description" : "Prover DID/Random String/UUID" } } }, @@ -10333,8 +10326,8 @@ }, "endorser_write_txn" : { "type" : "boolean", - "example" : true, - "description" : "If True, Endorser will write the transaction after endorsing it" + "example" : false, + "description" : "Request Endorser to write the ledger transaction, this parameter is deprecated and no longer supported." }, "formats" : { "type" : "array", diff --git a/pyproject.toml b/pyproject.toml index d206d36eb1..11b85f1f63 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "aries_cloudagent" -version = "0.12.0rc0" +version = "0.12.0rc1" 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 "] license = "Apache-2.0" diff --git a/scripts/generate-open-api-spec b/scripts/generate-open-api-spec index 496fa80098..64399f3f3e 100755 --- a/scripts/generate-open-api-spec +++ b/scripts/generate-open-api-spec @@ -38,8 +38,7 @@ ACA_PY_CMD_OPTIONS=" \ --multitenant \ --multitenant-admin \ --jwt-secret test \ - --no-ledger \ - --log-file /usr/src/app/logs/agent.log" + --no-ledger" # Specify openAPI JSON config file and shared directory OPEN_API_JSON_CONFIG="openAPIJSON.config" From b5fe27190f669978370d17ec7caf5813d08b9f63 Mon Sep 17 00:00:00 2001 From: Stephen Curran Date: Sat, 17 Feb 2024 00:44:17 +0000 Subject: [PATCH 2/5] Update PR number for this PR Signed-off-by: Stephen Curran --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 397f0934b4..1257dfb888 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -127,7 +127,7 @@ There are no breaking changes in 0.12.0rc1. - 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.0rc1 [\#2798](https://github.com/hyperledger/aries-cloudagent-python/pull/2798) [swcurran](https://github.com/swcurran) + - 0.12.0rc1 [\#2799](https://github.com/hyperledger/aries-cloudagent-python/pull/2799) [swcurran](https://github.com/swcurran) - 0.12.0rc0 [\#2732](https://github.com/hyperledger/aries-cloudagent-python/pull/2732) [swcurran](https://github.com/swcurran) ## 0.11.0 From af4b8d3ca84b3eadb7552c03e4e36e52fcb9adcb Mon Sep 17 00:00:00 2001 From: Stephen Curran Date: Sun, 18 Feb 2024 15:36:22 +0000 Subject: [PATCH 3/5] Add latest PRs to Changelog Signed-off-by: Stephen Curran --- CHANGELOG.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1257dfb888..2d28aa53c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ Much progress was made on `did:peer` support in this release, with the handling 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](https://aca-py.org) directly from the ACA-Py repository, rather than from the separate [aries-acapy-docs](https://github.com/hyperledger/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](https://github.com/ff137)! + [DID Peer]: https://identity.foundation/peer-did-method-spec/ [AnonCreds]: https://www.hyperledger.org/projects/anoncreds [Hyperledger AnonCreds Rust]: https://github.com/hyperledger/anoncreds-rs @@ -24,6 +26,8 @@ The most visible change in this release is the re-organization of the ACA-Py doc There are no breaking changes in 0.12.0rc1. + + #### 0.12.0rc1 Categorized List of Pull Requests - DID Handling and Connection Establishment Updates/Fixes @@ -59,6 +63,7 @@ There are no breaking changes in 0.12.0rc1. - Initial code migration from anoncreds-rs branch AnonCreds [\#2596](https://github.com/hyperledger/aries-cloudagent-python/pull/2596) [ianco](https://github.com/ianco) - Hyperledger Indy ledger related updates and fixes + - Add known issues section to Multiledger.md documentation [\#2788](https://github.com/hyperledger/aries-cloudagent-python/pull/2788) [esune](https://github.com/esune) - fix: update constants in TransactionRecord [\#2698](https://github.com/hyperledger/aries-cloudagent-python/pull/2698) [amanji](https://github.com/amanji) - Cache TAA by wallet name [\#2676](https://github.com/hyperledger/aries-cloudagent-python/pull/2676) [jamshale](https://github.com/jamshale) - Fix: RevRegEntry Transaction Endorsement 0.11.0 [\#2558](https://github.com/hyperledger/aries-cloudagent-python/pull/2558) [shaangill025](https://github.com/shaangill025) @@ -97,8 +102,8 @@ There are no breaking changes in 0.12.0rc1. - 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 + - Bump pyld version to 2.0.4 [\#2795](https://github.com/hyperledger/aries-cloudagent-python/pull/2795) [PatStLouis](https://github.com/PatStLouis) - Revert profile inject [\#2789](https://github.com/hyperledger/aries-cloudagent-python/pull/2789) [jamshale](https://github.com/jamshale) - - Move emit events to profile and delay sending until after commit [\#2760](https://github.com/hyperledger/aries-cloudagent-python/pull/2760) [ianco](https://github.com/ianco) - fix: partial revert of ConnRecord schema change 1.0.0 [\#2746](https://github.com/hyperledger/aries-cloudagent-python/pull/2746) [dbluhm](https://github.com/dbluhm) - chore(deps): Bump aiohttp from 3.9.1 to 3.9.2 dependencies [\#2745](https://github.com/hyperledger/aries-cloudagent-python/pull/2745) [dependabot bot](https://github.com/dependabot bot) @@ -115,6 +120,7 @@ There are no breaking changes in 0.12.0rc1. - Bump aiohttp from 3.8.6 to 3.9.0 dependencies [\#2635](https://github.com/hyperledger/aries-cloudagent-python/pull/2635) [dependabot bot](https://github.com/dependabot bot) - CI/CD, Testing, and Developer Tools/Productivity Updates + - Fix deprecation warnings [\#2756](https://github.com/hyperledger/aries-cloudagent-python/pull/2756) [ff137](https://github.com/ff137) - chore(deps): Bump the all-actions group with 10 updates dependencies [\#2784](https://github.com/hyperledger/aries-cloudagent-python/pull/2784) [dependabot bot](https://github.com/dependabot bot) - Add Dependabot configuration [\#2783](https://github.com/hyperledger/aries-cloudagent-python/pull/2783) [WadeBarnes](https://github.com/WadeBarnes) - Implement B006 rule [\#2775](https://github.com/hyperledger/aries-cloudagent-python/pull/2775) [jamshale](https://github.com/jamshale) From 78eef9d82d79f98cc54b9af20fa380135da3fb09 Mon Sep 17 00:00:00 2001 From: Stephen Curran Date: Mon, 19 Feb 2024 08:45:59 -0800 Subject: [PATCH 4/5] Adding capability to publish docs to a documentation site Signed-off-by: Stephen Curran --- .github/workflows/publish-docs.yml | 53 ++++++++++ docs/aca-py.org.md | 29 ++++++ docs/assets/aries-favicon.png | 89 +++++++++++++++++ mkdocs-requirements.txt | 3 + mkdocs.yml | 150 +++++++++++++++++++++++++++++ 5 files changed, 324 insertions(+) create mode 100644 .github/workflows/publish-docs.yml create mode 100644 docs/aca-py.org.md create mode 100644 docs/assets/aries-favicon.png create mode 100644 mkdocs-requirements.txt create mode 100644 mkdocs.yml diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml new file mode 100644 index 0000000000..5ed82add33 --- /dev/null +++ b/.github/workflows/publish-docs.yml @@ -0,0 +1,53 @@ +name: publish-docs + +on: + push: + # Publish `main` as latest + branches: + - main + + # Publish `v1.2.3` tags as releases + tags: + - v* + +permissions: + contents: write + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # fetch all commits/branches + - uses: actions/setup-python@v4 + with: + python-version: 3.x + - uses: actions/cache@v2 + with: + key: ${{ github.ref }} + path: .cache + - name: Install Python dependencies + run: pip install -r ./mkdocs-requirements.txt + - name: Configure git user + run: | + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + + - name: Deploy docs + run: | + # Strip git ref prefix from version + echo "${{ github.ref }}" + VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') + # Strip "v" prefix from tag name + [[ "${{ github.ref }}" == "refs/tags/"* ]] && ALIAS=$(echo $VERSION | sed -e 's/^v//') + # Copy all of the root level md files into the docs folder for deployment, tweaking the relative paths + for i in *.md; do sed -e "s#docs/#./#g" $i >docs/$i; done + # Create overrides folder, populate it for version, and then move to not apply if VERSION is main branch + mkdir overrides + echo -e "{% extends "base.html" %}\n\n{% block outdated %}\n You are viewing the documentation for ACA-Py Release $VERSION.\n{% endblock %}" >overrides/base.html + # If building from main, use latest as ALIAS + [ "$VERSION" == "main" ] && ALIAS=latest && mv overrides/base.html overrides/base.txt + echo $VERSION $ALIAS + mike deploy --push --update-aliases $VERSION $ALIAS + mike set-default latest diff --git a/docs/aca-py.org.md b/docs/aca-py.org.md new file mode 100644 index 0000000000..5c6c394712 --- /dev/null +++ b/docs/aca-py.org.md @@ -0,0 +1,29 @@ +# Welcome! + +![Hyperledger Aries](https://raw.githubusercontent.com/hyperledger/aries-acapy-docs/main/assets/Hyperledger_Aries_Logo_Color.png) + +Welcome to the Aries Cloud Agent Python documentation site. On this site you +will find documentation for recent releases of ACA-Py. You'll find a few of the +older versions of ACA-Py (pre-`0.8.0`), all versions since `0.8.0`, and the +`main` branch, which is the latest and greatest. + +All of the documentation here is extracted from the [Aries Cloud Agent Python repository]. +If you want to contribute to the documentation, please start there. + +Ready to go? Scan the tabs in the page header to find the documentation you need now! + +## Code Internals Documentation + +In addition to this documentation site, the ACA-Py community also maintains an +ACA-Py internals documentation site. The internals documentation consists of the +`docstrings` extracted from the ACA-Py Python code and covers all of the +(non-test) modules in the codebase. Check it out on the [Aries Cloud +Agent-Python ReadTheDocs site](https://aries-cloud-agent-python.readthedocs.io/en/latest/). +As with this site, the ReadTheDocs documentation is version specific. + +Got questions? + +- Join us on the [Hyperledger Discord Server](https://chat.hyperledger.org), in the `#aries-cloudagent-python` channel. +- Add an issue in the [Aries Cloud Agent Python repository]. + +[Aries Cloud Agent Python repository]: https://github.com/hyperledger/aries-cloudagent-python diff --git a/docs/assets/aries-favicon.png b/docs/assets/aries-favicon.png new file mode 100644 index 0000000000..5b10050e05 --- /dev/null +++ b/docs/assets/aries-favicon.png @@ -0,0 +1,89 @@ + + + + + + Page not found · GitHub Pages + + + + +
+ +

404

+

File not found

+ +

+ The site configured at this address does not + contain the requested file. +

+ +

+ If this is your site, make sure that the filename case matches the URL + as well as any file permissions.
+ For root URLs (like http://example.com/) you must provide an + index.html file. +

+ +

+ Read the full documentation + for more information about using GitHub Pages. +

+ + + + + + +
+ + diff --git a/mkdocs-requirements.txt b/mkdocs-requirements.txt new file mode 100644 index 0000000000..734a4b2c1f --- /dev/null +++ b/mkdocs-requirements.txt @@ -0,0 +1,3 @@ +mkdocs-material +mike +tzdata \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000000..1c9a9b0667 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,150 @@ +site_name: Hyperledger Aries ACA-Py Docs +repo_name: hyperledger/aries-cloudagent-python +repo_url: https://github.com/hyperledger/aries-cloudagent-python +theme: + name: material + custom_dir: overrides + logo: https://raw.githubusercontent.com/hyperledger/aries-acapy-docs/main/assets/Hyperledger_Aries_Logo_White.png + favicon: https://raw.githubusercontent.com/hyperledger/aries-cloudagent-python/main/docs/assets/aries-favicon.png + icon: + repo: fontawesome/brands/github + palette: + # Palette toggle for light mode + - media: "(prefers-color-scheme: light)" + scheme: default + toggle: + icon: material/brightness-7 + name: Switch to dark mode + # Palette toggle for dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + toggle: + icon: material/brightness-4 + name: Switch to light mode + features: + - content.code.copy + - navigation.expand + - navigation.footer + - navigation.instant + - navigation.tabs + - navigation.tabs.sticky + - navigation.top + - navigation.tracking + - toc.follow +# - toc.integrate +markdown_extensions: + - abbr + - admonition + - attr_list + - def_list + - footnotes + - md_in_html + - toc: + permalink: true + toc_depth: 3 + - pymdownx.arithmatex: + generic: true + - pymdownx.betterem: + smart_enable: all + - pymdownx.caret + - pymdownx.details + - pymdownx.emoji: + emoji_generator: !!python/name:materialx.emoji.to_svg + emoji_index: !!python/name:materialx.emoji.twemoji + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.keys + - pymdownx.magiclink: + repo_url_shorthand: true + user: squidfunk + repo: mkdocs-material + - pymdownx.mark + - pymdownx.smartsymbols + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.tilde +plugins: + - search + - mike +extra: + version: + provider: mike +nav: +- Welcome!: + - Welcome: aca-py.org.md + - ACA-Py README: README.md + - Release Notes: CHANGELOG.md +- Features: + - Developer Introduction: features/DevReadMe.md + - DevContainer Support: features/devcontainer.md + - Supported Aries Interop Profiles and RFCs: features/SupportedRFCs.md + - The Admin API: features/AdminAPI.md + - ACA-Py Plugins: features/PlugIns.md + - Multitenant ACA-Py: features/Multitenancy.md + - DID Methods: features/DIDMethods.md + - DID Resolution: features/DIDResolution.md + - Configuring Multiple Indy Ledgers: features/Multiledger.md + - Automatically Endorsing Indy Transations: features/Endorser.md + - Using W3C JSON-LD Signed Credentials: features/JsonLdCredentials.md + - Using SD-JWTs: features/SelectiveDisclosureJWTs.md + - AnonCreds Presentation Validation: features/AnoncredsProofValidation.md + - Multiple Credential Types: features/Multicredentials.md + - Code Generation with the Open API: features/UsingOpenAPI.md + - ACA-Py as a DIDComm Mediator: features/Mediation.md +- Demos: + - The Alice-Faber Demo: demo/README.md + - Open API Tutorial: demo/AriesOpenAPIDemo.md + - Alice Gets a Phone: demo/AliceGetsAPhone.md + - Hyperledger Indy Endorser In Action: demo/Endorser.md + - Using W3C JSON-LD Credentials: demo/AliceWantsAJsonCredential.md + - DIY -- ACME Controller Workshop: demo/AcmeDemoWorkshop.md + - Aries Using Postman Demo: demo/AriesPostmanDemo.md +- Getting Started: + - Becoming an Indy/Aries Developer: gettingStarted/README.md + - Hyperledger Indy Basics: gettingStarted/IndyBasics.md + - Hyperledger Aries Basics: gettingStarted/AriesBasics.md + - Decentralized Identity Demos: gettingStarted/DecentralizedIdentityDemos.md + - Aries - The Big Picture: gettingStarted/AriesBigPicture.md + - Aries Architecture: gettingStarted/AriesAgentArchitecture.md + - Aries Messaging: gettingStarted/AriesMessaging.md + - Aries Developer Demos: gettingStarted/AriesDeveloperDemos.md + - Agent Connections: gettingStarted/AgentConnections.md + - Issuing AnonCreds Credentials: gettingStarted/IssuingAnonCredsCredentials.md + - Presenting AnonCreds Proofs: gettingStarted/PresentingAnonCredsProofs.md + - Making Your Own ACA-Py Agent: gettingStarted/YourOwnAriesAgent.md + - Aries Developer Options: gettingStarted/IndyAriesDevOptions.md + - DIDComm Messaging: gettingStarted/DIDcommMsgs.md + - DIDComm Message Routing: gettingStarted/RoutingEncryption.md + - DIDComm Message Routing Example: gettingStarted/AriesRoutingExample.md + - TODO Connecting to an Indy Network: gettingStarted/ConnectIndyNetwork.md + - AnonCreds Credential Revocation: gettingStarted/CredentialRevocation.md +- Deploying: + - Deployment Model: deploying/deploymentModel.md + - Upgrading ACA-Py: deploying/UpgradingACA-Py.md + - Indy SDK to Askar Migration: deploying/IndySDKtoAskarMigration.md + - The Use of Poetry in ACA-Py: deploying/Poetry.md + - ACA-Py Container Images: deploying/ContainerImagesAndGithubActions.md + - Databases: deploying/Databases.md + - Persistent Queues and Caching: deploying/RedisPlugins.md + - The askar-anoncreds Wallet Type: deploying/AnonCredsWalletType.md +- Testing/Troubleshooting: + - Running and Creating Unit Tests: testing/UnitTests.md + - Managing Logging: testing/Logging.md + - ACA-Py Integration Tests: testing/INTEGRATION-TESTS.md + - Protocol Tracing: testing/AgentTracing.md + - Troubleshooting: testing/Troubleshooting.md +- Contributing: + - How to Contribute: CONTRIBUTING.md + - Maintainers: MAINTAINERS.md + - Hyperledger Code of Conduct: CODE_OF_CONDUCT.md + - Security Vulnerability Reporting: SECURITY.md + - Publishing an ACA-Py Release: PUBLISHING.md + - Updating the ACA-Py ReadTheDocs Site: UpdateRTD.md From c842a13e1d5507222c5f68659c6273a148f9ad75 Mon Sep 17 00:00:00 2001 From: Stephen Curran Date: Mon, 19 Feb 2024 12:33:59 -0800 Subject: [PATCH 5/5] Add last merged PR, some tweaks to the mkdocs process Signed-off-by: Stephen Curran --- CHANGELOG.md | 1 + mkdocs-requirements.txt | 6 +++--- overrides/README.md | 6 ++++++ 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 overrides/README.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d28aa53c7..91e081ac98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -102,6 +102,7 @@ There are no breaking changes in 0.12.0rc1. - 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 + - Change middleware registration order [\#2796](https://github.com/hyperledger/aries-cloudagent-python/pull/2796) [PatStLouis](https://github.com/PatStLouis) - Bump pyld version to 2.0.4 [\#2795](https://github.com/hyperledger/aries-cloudagent-python/pull/2795) [PatStLouis](https://github.com/PatStLouis) - Revert profile inject [\#2789](https://github.com/hyperledger/aries-cloudagent-python/pull/2789) [jamshale](https://github.com/jamshale) - Move emit events to profile and delay sending until after commit [\#2760](https://github.com/hyperledger/aries-cloudagent-python/pull/2760) [ianco](https://github.com/ianco) diff --git a/mkdocs-requirements.txt b/mkdocs-requirements.txt index 734a4b2c1f..a64b578cf6 100644 --- a/mkdocs-requirements.txt +++ b/mkdocs-requirements.txt @@ -1,3 +1,3 @@ -mkdocs-material -mike -tzdata \ No newline at end of file + +mkdocs-material==9.5.10 +mike==2.0.0 diff --git a/overrides/README.md b/overrides/README.md new file mode 100644 index 0000000000..568e43f838 --- /dev/null +++ b/overrides/README.md @@ -0,0 +1,6 @@ +# Mkdocs Overrides + +This folder contains any overrides for the mkdocs docs publishing. Most notably, +the `base.html` file that puts a banner on the screen for all versions of the +docs other than the main branch. The `base.html` file is generated on publishing +the docs (in the publishing GitHub Action) -- and does not exist in the main branch.