Skip to content

Commit

Permalink
Merge pull request #2338 from swcurran/0.9.0-rc0
Browse files Browse the repository at this point in the history
0.9.0-rc0
  • Loading branch information
swcurran authored Jul 21, 2023
2 parents 6bd7994 + 066e4a7 commit 73ba85d
Show file tree
Hide file tree
Showing 7 changed files with 160 additions and 11 deletions.
113 changes: 113 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,116 @@
# 0.9.0-rc0

## July 21, 2023

Release 0.9.0 is an important upgrade that changes (PR [\#2302]) the dependency
on the now archived Hyperledger Ursa project to its updated, improved
replacement, [AnonCreds CL-Signatures]. This important change is ONLY available
when using [Aries Askar] as the wallet type, which brings in both [Indy VDR] and
the CL-Signatures via the latest version of [CredX from the indy-shared-rs
repository]. The update is **NOT** available to those that are using the [Indy
SDK]. All new deployments of ACA-Py SHOULD use [Aries Askar]. Further, we
**strongly** recommend that all deployments using the [Indy SDK] with ACA-Py
upgrade their installation to use [Aries Askar] and the related components using
the migration scripts available. An [Indy SDK to Askar migration document] added
to the [aca-py.org] documentation site, and a deprecation warning added to the
ACA-Py startup.

[AnonCreds CL-Signatures]: https://github.com/hyperledger/anoncreds-rs
[Aries Askar]: https://github.com/hyperledger/aries-askar
[CredX from the indy-shared-rs repository]: https://github.com/hyperledger/indy-shared-rs
[Indy SDK]: https://github.com/hyperledger/indy-sdk
[Indy SDK to Askar migration document]: https://aca-py.org/main/deploying/IndySDKtoAskarMigration/
[aca-py.org]: https://aca-py.org

The second big change in this release is that we have upgraded the primary
Python version from 3.6 to 3.9 (PR [\#2247]). In this case, primary means that
Python 3.9 is used to run the unit and integration tests on all Pull Requests.
We also do nightly runs of the main branch using Python 3.10. As
of this release we have **dropped** Python 3.6, 3.7 and 3.8, and introduced new
dependencies that are not supported in those versions of Python. For those that
use the published ACA-Py container images, the upgrade should be easily handled.
If you are pulling ACA-Py into your own image, or a non-containerized
environment, this is a breaking change that you will need to address.

Please see the next section for all breaking changes, and the subsequent section
for a categorized list of all pull requests in this release.

## Breaking Changes

In addition to the breaking Python 3.6 to 3.9 upgrade, there are two other
breaking changes that may impact some deployments.

[\#2034] allows for additional flexibility in using public DIDs in invitations,
and adds a restriction that "implicit" invitations must be proactively enabled
using a flag (`--requests-through-public-did`). Previously, such requests
would always be accepted if `--auto-accept` was enabled, which could lead to
unexpected connections being established.

[\#2170] is a change to improve message handling in the face of delivery errors
when using a persistent queue implementation such as the [ACA-Py Redis Plugin].
If you are using the Redis plugin, you **MUST** upgrade to [Redis Plugin Release
0.1.0] in conjunction with deploying this ACA-Py release. For those using their
own persistent queue solution, see the PR [\#2170] comments for information
about changes you might need to make to your deployment.

[ACA-Py Redis Plugin]: https://github.com/bcgov/aries-acapy-plugin-redis-events
[Redis Plugin Release 0.1.0]: https://github.com/bcgov/aries-acapy-plugin-redis-events/releases/tag/v0.1.0

[\#2302]: https://github.com/hyperledger/aries-cloudagent-python/pull/2302
[\#2034]: https://github.com/hyperledger/aries-cloudagent-python/pull/2034
[\#2247]: https://github.com/hyperledger/aries-cloudagent-python/pull/2247
[\#2170]: https://github.com/hyperledger/aries-cloudagent-python/pull/2170

### Categorized List of Pull Requests

- DIDComm Messaging Improvements/Fixes
- BREAKING: feat: get queued outbound message in transport handle message [\#2170](https://github.com/hyperledger/aries-cloudagent-python/pull/2170) [dbluhm](https://github.com/dbluhm)
- DID Handling and Connection Establishment Updates/Fixes
- Allow any did to be public [\#2295](https://github.com/hyperledger/aries-cloudagent-python/pull/2295) [mkempa](https://github.com/mkempa)
- Feat: Added support for Ed25519Signature2020 signature type and Ed25519VerificationKey2020 [\#2241](https://github.com/hyperledger/aries-cloudagent-python/pull/2241) [dkulic](https://github.com/dkulic)
- Add Goal and Goal Code to OOB and DIDex Request [\#2294](https://github.com/hyperledger/aries-cloudagent-python/pull/2294) [usingtechnology](https://github.com/usingtechnology)
- Fix routing in set public did [\#2288](https://github.com/hyperledger/aries-cloudagent-python/pull/2288) [mkempa](https://github.com/mkempa) - Fix: Do not replace public verkey on mediator [\#2269](https://github.com/hyperledger/aries-cloudagent-python/pull/2269) [mkempa](https://github.com/mkempa) - BREAKING: Allow multi-use public invites and public invites with metadata [\#2034](https://github.com/hyperledger/aries-cloudagent-python/pull/2034) [mepeltier](https://github.com/mepeltier)
- fix: public did mediator routing keys as did keys [\#1977](https://github.com/hyperledger/aries-cloudagent-python/pull/1977) [dbluhm](https://github.com/dbluhm)
- Credential Exchange (Issue, Present) Updates
- Add revocation registry rotate to faber demo [\#2333](https://github.com/hyperledger/aries-cloudagent-python/pull/2333) [usingtechnology](https://github.com/usingtechnology)
- Update to indy-credx 1.0 [\#2302](https://github.com/hyperledger/aries-cloudagent-python/pull/2302) [andrewwhitehead](https://github.com/andrewwhitehead)
- feat(anoncreds): Implement automated setup of revocation [\#2292](https://github.com/hyperledger/aries-cloudagent-python/pull/2292) [dbluhm](https://github.com/dbluhm)
- fix: schema class can set Meta.unknown [\#1885](https://github.com/hyperledger/aries-cloudagent-python/pull/1885) [dbluhm](https://github.com/dbluhm)
- Respect auto-verify-presentation flag in present proof v1 and v2 [\#2097](https://github.com/hyperledger/aries-cloudagent-python/pull/2097) [dbluhm](https://github.com/dbluhm)
- Feature: JWT Sign and Verify Admin Endpoints with DID Support [\#2300](https://github.com/hyperledger/aries-cloudagent-python/pull/2300) [burdettadam](https://github.com/burdettadam)
- Multitenancy Updates and Fixes
- Fix: Track endorser and author roles in per-tenant settings [\#2331](https://github.com/hyperledger/aries-cloudagent-python/pull/2331) [shaangill025](https://github.com/shaangill025)
- Added base wallet provisioning details to Multitenancy.md [\#2328](https://github.com/hyperledger/aries-cloudagent-python/pull/2328) [esune](https://github.com/esune)
- Other Fixes, Demo, and Documentation Fixes
- chore: add indy deprecation warnings [\#2332](https://github.com/hyperledger/aries-cloudagent-python/pull/2332) [dbluhm](https://github.com/dbluhm)
- Fix alice/faber demo execution [\#2305](https://github.com/hyperledger/aries-cloudagent-python/pull/2305) [andrewwhitehead](https://github.com/andrewwhitehead)
- Add .indy_client folder to Askar only image. [\#2308](https://github.com/hyperledger/aries-cloudagent-python/pull/2308) [WadeBarnes](https://github.com/WadeBarnes)
- Add build step for indy-base image in run_demo [\#2299](https://github.com/hyperledger/aries-cloudagent-python/pull/2299) [usingtechnology](https://github.com/usingtechnology)
- Webhook over websocket clarification [\#2287](https://github.com/hyperledger/aries-cloudagent-python/pull/2287) [dbluhm](https://github.com/dbluhm)
- ACA-Py Deployment Upgrade Changes
- Add Explicit/Offline marking mechanism for Upgrade [\#2204](https://github.com/hyperledger/aries-cloudagent-python/pull/2204) [shaangill025](https://github.com/shaangill025)
- Plugin Handling Updates
- Feature: Add the ability to deny specific plugins from loading 0.7.4 [\#1737](https://github.com/hyperledger/aries-cloudagent-python/pull/1737) [frostyfrog](https://github.com/frostyfrog)
- Dependencies and Internal Updates
- upgrade requests to latest [\#2336](https://github.com/hyperledger/aries-cloudagent-python/pull/2336) [ff137](https://github.com/ff137)
- upgrade packaging to latest [\#2334](https://github.com/hyperledger/aries-cloudagent-python/pull/2334) [ff137](https://github.com/ff137)
- chore: update PyYAML [\#2329](https://github.com/hyperledger/aries-cloudagent-python/pull/2329) [dbluhm](https://github.com/dbluhm)
- chore(deps): Bump aiohttp from 3.8.4 to 3.8.5 in /demo/playground/scripts dependencies [\#2325](https://github.com/hyperledger/aries-cloudagent-python/pull/2325) [dependabot bot](https://github.com/dependabot bot)
- ⬆️ upgrade marshmallow to latest [\#2322](https://github.com/hyperledger/aries-cloudagent-python/pull/2322) [ff137](https://github.com/ff137)
- fix: use python 3.9 in run_docker [\#2291](https://github.com/hyperledger/aries-cloudagent-python/pull/2291) [dbluhm](https://github.com/dbluhm)
- BREAKING!: drop python 3.6 support [\#2247](https://github.com/hyperledger/aries-cloudagent-python/pull/2247) [dbluhm](https://github.com/dbluhm)
- Minor revisions to the README.md and DevReadMe.md [\#2272](https://github.com/hyperledger/aries-cloudagent-python/pull/2272) [swcurran](https://github.com/swcurran)
- ACA-Py Administrative Updates
- Updating Maintainers list to be accurate and using the TOC format [\#2258](https://github.com/hyperledger/aries-cloudagent-python/pull/2258) [swcurran](https://github.com/swcurran)
- CI/CD and Developer Tools/Productivity Updates
- Cancel in-progress workflows when PR is updated [\#2303](https://github.com/hyperledger/aries-cloudagent-python/pull/2303) [andrewwhitehead](https://github.com/andrewwhitehead)
- ci: add gha for pr-tests [\#2058](https://github.com/hyperledger/aries-cloudagent-python/pull/2058) [dbluhm](https://github.com/dbluhm)
- Add devcontainer for ACA-Py [\#2267](https://github.com/hyperledger/aries-cloudagent-python/pull/2267) [usingtechnology](https://github.com/usingtechnology)
- Docker images and GHA for publishing images help wanted [\#2076](https://github.com/hyperledger/aries-cloudagent-python/pull/2076) [dbluhm](https://github.com/dbluhm)
- ci: test additional versions of python nightly [\#2059](https://github.com/hyperledger/aries-cloudagent-python/pull/2059) [dbluhm](https://github.com/dbluhm)
- Release management pull requests
- 0.9.0-rc0 [\#2338](https://github.com/hyperledger/aries-cloudagent-python/pull/2338) [swcurran](https://github.com/swcurran)

# 0.8.2

## June 29, 2023
Expand Down
36 changes: 28 additions & 8 deletions PUBLISHING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,26 @@ Once ready to do a release, create a local branch that includes the following up
closed issues in the Change Log.

In some cases, the approach above fails because of too many API calls. An
alternate approach to getting the list of PRs in the right format is to use this
scary `sed` pipeline process to get the same output.¥
alternate approach to getting the list of PRs in the right format is to use [OpenAI ChatGPT].

Prepare the following ChatGPT request. Don't hit enter yet--you have to add the data.

`Generate from this the github pull request number, the github id of the author and the title of the pull request in a tab-delimited list`

Get a list of the merged PRs since the last release by displaying the PR list in
the GitHub UI, highlighting/copying the PRs and pasting them below the ChatGPT
request, one page after another. Hit `<Enter>`, let the AI magic work, and you
should have a list of the PRs in a nice table with a `Copy` link that you should click.

Once you have that, open this [Google Sheet] and highlight the `A1` cell and
paste in the ChatGPT data. A formula in column `E` will have the properly
formatted changelog entries. Double check the list with the GitHub UI to make
sure that ChatGPT isn't messing with you and you have the needed data.

[OpenAI ChatGPT]: https://chat.openai.com
[Google Sheet]: https://docs.google.com/spreadsheets/d/1gIjPirZ42g5eM-JBtVt8xN5Jm0PQuEv91a8woRAuDEg/edit?usp=sharing

If using ChatGPT doesn't appeal to you, try this scary `sed`/command line approach:

- Put the following commands into a file called `changelog.sed`

Expand Down Expand Up @@ -70,7 +88,7 @@ s/^/- /

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 should help developers.
- 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
Expand All @@ -97,21 +115,23 @@ Once you have the list of PRs:
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.

7. Double check all of these steps above, and then submit a PR from the branch.
7. Check to see if there are any other PRs that should be included in the release.

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!

8. 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 [aries_cloudagent/version.py](aries_cloudagent/version.py). 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.

9. 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
Expand All @@ -126,11 +146,11 @@ Once you have the list of PRs:
[publish-indy.yml]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/.github/workflows/publish-indy.yml
[Container Images and Github Actions]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/ContainerImagesAndGithubActions.md

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

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

Expand Down
2 changes: 1 addition & 1 deletion aries_cloudagent/version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Library version information."""

__version__ = "0.8.2"
__version__ = "0.9.0-rc0"
RECORD_TYPE_ACAPY_VERSION = "acapy_version"
8 changes: 8 additions & 0 deletions docs/generated/aries_cloudagent.vc.ld_proofs.suites.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,14 @@ aries\_cloudagent.vc.ld\_proofs.suites.ed25519\_signature\_2018 module
:undoc-members:
:show-inheritance:

aries\_cloudagent.vc.ld\_proofs.suites.ed25519\_signature\_2020 module
----------------------------------------------------------------------

.. automodule:: aries_cloudagent.vc.ld_proofs.suites.ed25519_signature_2020
:members:
:undoc-members:
:show-inheritance:

aries\_cloudagent.vc.ld\_proofs.suites.jws\_linked\_data\_signature module
--------------------------------------------------------------------------

Expand Down
8 changes: 8 additions & 0 deletions docs/generated/aries_cloudagent.wallet.rst
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,14 @@ aries\_cloudagent.wallet.indy module
:undoc-members:
:show-inheritance:

aries\_cloudagent.wallet.jwt module
-----------------------------------

.. automodule:: aries_cloudagent.wallet.jwt
:members:
:undoc-members:
:show-inheritance:

aries\_cloudagent.wallet.key\_pair module
-----------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion 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.8.2"
"version" : "v0.9.0-rc0"
},
"servers" : [ {
"url" : "/"
Expand Down
2 changes: 1 addition & 1 deletion open-api/swagger.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"swagger" : "2.0",
"info" : {
"version" : "v0.8.2",
"version" : "v0.9.0-rc0",
"title" : "Aries Cloud Agent"
},
"tags" : [ {
Expand Down

0 comments on commit 73ba85d

Please sign in to comment.