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

1.0.1rc0 #3254

Merged
merged 2 commits into from
Sep 26, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
99 changes: 99 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,104 @@
# Aries Cloud Agent Python Changelog

## 1.0.1rc0

### September 25, 2024

Release 1.0.1 _might_ be the last release of ACA-Py from the Hyperledger
organization before the repository moves to the [OpenWallet Foundation] (OWF). As
noted in the repository [README.md](README.md), the ACA-Py project will soon be
moving soon to the OWF's GitHub organization as the [new "acapy"
project](https://github.com/openwallet-foundation/project-proposals/pull/42).

[OpenWallet Foundation]: https://openwallet.foundation/

For details on what this means for ACA-Py users, including steps for updating deployments, please follow the updates in [GitHub Issue #3250]. We'll keep you informed about the approach, timeline, and progress of the move. Stay tuned!

[GitHub Issue #3250]: https://github.com/hyperledger/aries-cloudagent-python/issues/3250

The release contains mostly internal clean ups, technical debt elimination, and
a revision to the integration testing approach, incorporating the [Aries Agent Test Harness] tests in the ACA-Py continuous integration testing process.

[Aries Agent Test Harness]: https://github.com/hyperledger/aries-agent-test-harness

There are several important **[deprecation notices](#deprecation-notices)**
in this release in preparation for the next ACA-Py release. Please review these notifications carefully!

In an attempt to shorten the categorized list of PRs in the release, rather than
listing all of the `dependabot` PRs in the release, we've included a link to a
list of those PRs.

#### Deprecation Notices

- ACA-Py will soon be moved from the Hyperledger GitHub organization to that of the [OpenWallet Foundation]. As such, there will be changes in the names and locations of the artifacts produced -- the [PyPi] project and the container images in the [GitHub Container Registry]. We will retain the ability to publish LTS releases of ACA-Py for the current LTS versions (0.11, 0.12) in the current locations. For details, guidance, timing, and progress on the move, please monitor the description of [GitHub Issue #3250] that will be maintained throughout the process.

[PyPi]: https://pypi.org
[GitHub Container Registry]: https://ghcr.io

- In the next ACA-Py release, we will be dropping from the core ACA-Py
repository the AIP 1.0 [RFC 0160 Connections], [RFC 0037 Issue Credentials
v1.0] and [RFC 0037 Present Proof v1.0] DIDComm protocols. Each of the
protocols will be moved to the [ACA-Py Plugins] repo. All deployers that use
those protocols **SHOULD** update to the [AIP 2.0] versions of those protocols
([RFC
0434 Out of Band]+[RFC 0023 DID Exchange], [RFC 0453 Issue Credential v2.0]
and [RFC 0454 Present Proof v2.0], respectively). Once the protocols are
removed from ACA-Py, anyone still using those protocols must adjust their
configuration to load those protocols from the respective plugins.

[RFC 0160 Connections]: https://hyperledger.github.io/aries-rfcs/latest/features/0160-connection-protocol/
[RFC 0037 Issue Credentials]: https://hyperledger.github.io/aries-rfcs/latest/features/0036-issue-credential/
[RFC 0037 Present Proof]: https://hyperledger.github.io/aries-rfcs/latest/features/0037-present-proof/
[AIP 2.0]: https://hyperledger.github.io/aries-rfcs/latest/aip2/0003-protocols/
[RFC 0434 Out of Band]: https://hyperledger.github.io/aries-rfcs/latest/aip2/0434-outofband/
[RFC 0023 DID Exchange]: https://hyperledger.github.io/aries-rfcs/latest/aip2/0023-did-exchange/
[RFC 0453 Issue Credential v2.0]: https://hyperledger.github.io/aries-rfcs/latest/aip2/0453-issue-credential-v2/
[RFC 0454 Present Proof v2.0]: https://hyperledger.github.io/aries-rfcs/latest/aip2/0454-present-proof-v2/

### 1.0.1rc0 Breaking Changes

There are no breaking changes in ACA-Py Release 1.0.1.

#### 1.0.1rc0 Categorized List of Pull Requests

- Wallet and Key Handling Updates
- Feature multikey management [\#3246](https://github.com/hyperledger/aries-cloudagent-python/pull/3246) [PatStLouis](https://github.com/PatStLouis)
- chore: delete unused keypair storage manager [\#3245](https://github.com/hyperledger/aries-cloudagent-python/pull/3245) [dbluhm](https://github.com/dbluhm)

- Credential Exchange Updates
- feat: verify creds signed with Ed25519VerificationKey2020 [\#3244](https://github.com/hyperledger/aries-cloudagent-python/pull/3244) [dbluhm](https://github.com/dbluhm)
- Add anoncreds profile basic scenario test [\#3232](https://github.com/hyperledger/aries-cloudagent-python/pull/3232) [jamshale](https://github.com/jamshale)
- fix: anoncreds revocation notification when revoking [\#3226](https://github.com/hyperledger/aries-cloudagent-python/pull/3226) [thiagoromanos](https://github.com/thiagoromanos)

- OpenAPI Updates
- :art: fix type hints for optional method parameters [\#3234](https://github.com/hyperledger/aries-cloudagent-python/pull/3234) [ff137](https://github.com/ff137)

- Documentation and GHA Test Updates
- Fix scenario tests [\#3231](https://github.com/hyperledger/aries-cloudagent-python/pull/3231) [jamshale](https://github.com/jamshale)
- Only run integration tests on correct file changes [\#3230](https://github.com/hyperledger/aries-cloudagent-python/pull/3230) [jamshale](https://github.com/jamshale)
- Update docs for outstanding anoncreds work [\#3229](https://github.com/hyperledger/aries-cloudagent-python/pull/3229) [jamshale](https://github.com/jamshale)
- Only change interop testing fork on pull requests [\#3218](https://github.com/hyperledger/aries-cloudagent-python/pull/3218) [jamshale](https://github.com/jamshale)
- Remove the RC from the versions table [\#3213](https://github.com/hyperledger/aries-cloudagent-python/pull/3213) [swcurran](https://github.com/swcurran)
- Document the documentation site generation process [\#3212](https://github.com/hyperledger/aries-cloudagent-python/pull/3212) [swcurran](https://github.com/swcurran)
- Remove 1.0.0rc6 documentation from gh-pages [\#3211](https://github.com/hyperledger/aries-cloudagent-python/pull/3211) [swcurran](https://github.com/swcurran) - Adjust nightly and release workflows [\#3210](https://github.com/hyperledger/aries-cloudagent-python/pull/3210) [jamshale](https://github.com/jamshale)
- Change interop tests to critical on PRs [\#3209](https://github.com/hyperledger/aries-cloudagent-python/pull/3209) [jamshale](https://github.com/jamshale)
- Change integration testing [\#3194](https://github.com/hyperledger/aries-cloudagent-python/pull/3194) [jamshale](https://github.com/jamshale)

- Dependencies and Internal Fixes/Updates:
- Removing padding from url invitations [\#3238](https://github.com/hyperledger/aries-cloudagent-python/pull/3238) [jamshale](https://github.com/jamshale)
- Ensure that DAP_PORT is always an int [\#3241](https://github.com/hyperledger/aries-cloudagent-python/pull/3241) [Gavinok](https://github.com/Gavinok)
- Fix logic to send verbose webhooks [\#3193](https://github.com/hyperledger/aries-cloudagent-python/pull/3193) [ianco](https://github.com/ianco)
- fixes #3186: handler_timed_file_handler [\#3187](https://github.com/hyperledger/aries-cloudagent-python/pull/3187) [rngadam](https://github.com/rngadam)
- issue #3182: replace deprecated ptvsd debugger by debugpy [\#3183](https://github.com/hyperledger/aries-cloudagent-python/pull/3183) [rngadam](https://github.com/rngadam)
- 👷Publish `aries-cloudagent-bbs` Docker image [\#3175](https://github.com/hyperledger/aries-cloudagent-python/pull/3175) [rblaine95](https://github.com/rblaine95)
- [ POST v1.0.0 ] Adjust message queue error handling [\#3170](https://github.com/hyperledger/aries-cloudagent-python/pull/3170) [jamshale](https://github.com/jamshale)

- Release management pull requests:
- 1.0.1rc0 [\#3254](https://github.com/hyperledger/aries-cloudagent-python/pull/3254) [swcurran](https://github.com/swcurran)

- Dependabot PRs
- [Link to list of Dependabot PRs in this release](https://github.com/hyperledger/aries-cloudagent-python/pulls?q=is%3Apr+is%3Amerged+merged%3A2024-08-15..2024-09-25+author%3Aapp%2Fdependabot+)

## 1.0.0

### August 16, 2024
Expand Down
4 changes: 2 additions & 2 deletions Managing-ACA-Py-Doc-Site.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ and mkdocs configuration.

When the GitHub Action fires, it runs a container that carries out the following steps:

- Checks out the triggering branch, either `main` or `docs-v<version>` (e.g `docs-v1.0.0`).
- Checks out the triggering branch, either `main` or `docs-v<version>` (e.g `docs-v1.0.1rc0`).
- Runs the script [scripts/prepmkdocs.sh], which moves and updates some of the
markdown files so that they fit into the generated site. See the comments in
the scripts for details about the copying and editing done via the script. In
Expand Down Expand Up @@ -97,7 +97,7 @@ To delete the documentation version, do the following:
- Check your `git status` and make sure there are no changes in the branch --
e.g., new files that shouldn't be added to the `gh-pages` branch. If there are
any -- delete the files so they are not added.
- Remove the folder for the RC. For example `rm -rf 1.0.0rc4`
- Remove the folder for the RC. For example `rm -rf 1.0.1rc0`
- Edit the `versions.json` file and remove the reference to the RC release in
the file.
- Push the changes via a PR to the ACA-Py `gh-pages` branch (don't PR them into
Expand Down
84 changes: 57 additions & 27 deletions PUBLISHING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ a major, minor or patch release, per [semver](https://semver.org/) rules.

Once ready to do a release, create a local branch that includes the following updates:

1. Create a PR branch from an updated `main` branch.
1. Create a local PR branch from an updated `main` branch, e.g. "1.0.1rc0".

2. See if there are any Document Site `mkdocs` changes needed. Run the script
`./scripts/prepmkdocs.sh; mkdocs`. Watch the log, noting particularly if
Expand All @@ -22,32 +22,60 @@ Once ready to do a release, create a local branch that includes the following up
transitioning from one release candidate to the next, or to an official
release, just update the title and date of the change log section.

4. Collect the details of the merged PRs included in this release -- a list of PR
title, number, link to PR, author's github ID, and a link to the author's
github account. Gathering that data can be painful. Here are is the current
easiest way to do this -- using [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
4. Collect the details of the merged PRs included in this release -- a list of
PR title, number, link to PR, author's github ID, and a link to the author's
github account. Do not include `dependabot` PRs. For those, we put a live
link for the date range of the release (guidance below).

To generate the list, run the script `genChangeLog.sh` command (requires you
have [gh] and [jq] installed), with the date of the day before the last
release. The day before is picked to make sure you get all of the changes.
The script generates the list of all PRs, minus the dependabot ones, merged since
the last release in the required markdown format for the ChangeLog. At the end
of the list is some markdown for putting a link into the ChangeLog to see the
dependabot PRs merged in the release.

**Note**: The output of the script is _roughly_ what you need for the
ChangeLog, but use your discretion in getting the list right, and making
sure the dates for the dependabot PRs is correct. For example, when doing a
follow up to an RC release, the date range in the dependabot link should
be the day before the last non-RC release, which won't be generated correctly
in this release.

[gh]: https://github.com/cli/cli
[jq]: https://jqlang.github.io/jq/download/

From the root of the repository folder, run:

```bash
./scripts/genChangeLog.sh <date>
```

Leave off the date argument to get usage information.

The output should look like this -- and what you see in [CHANGELOG.md](CHANGELOG.md):

```text

- chore(deps): Bump mkdocs-material from 9.5.34 to 9.5.36 [\#3249](https://github.com/hyperledger/aries-cloudagent-python/pull/3249) [app/dependabot](https://github.com/app/dependabot)
- chore(deps-dev): Bump ruff from 0.6.5 to 0.6.7 [\#3248](https://github.com/hyperledger/aries-cloudagent-python/pull/3248) [app/dependabot](https://github.com/app/dependabot)
- Feature multikey management [\#3246](https://github.com/hyperledger/aries-cloudagent-python/pull/3246) [PatStLouis](https://github.com/PatStLouis)

```

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.
- Organize the list into suitable categories in the [CHANGELOG.md](CHANGELOG.md) file, update (if necessary) the PR title 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.
- To cover the `dependabot` PRs without listing them all, add to the end of the
categorized list of PRs the lat two lines of the script output. Make sure the dates are right! The text will look like this:

```text
- Dependabot PRs
- [List of Dependabot PRs in this release](https://github.com/hyperledger/aries-cloudagent-python/pulls?q=is%3Apr+is%3Amerged+merged%3A2024-08-16..2024-09-16+author%3Aapp%2Fdependabot+)
```

Include a PR for this soon-to-be PR. You can guess at the number of the PR by using this command `gh issue list -s all -L 2; gh pr ls -s all -L 2` to see the highest PR and issues, but you still might have to correct the number after you create the PR if someone sneaks one in before you submit your PR.

5. Check to see if there are any other PRs that should be included in the release.

Expand Down Expand Up @@ -77,21 +105,23 @@ Once you have the list of PRs:

Command: `cd aries_cloudagent;../scripts/generate-open-api-spec;cd ..`

Folders may not be cleaned up by the script, so the following can be run, likely with `sudo` -- `rm -rf open-api/.build`. The folder is `.gitignore`d, so there is not a danger they will be pushed, even if they are not deleted.

9. 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
10. 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
11. 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 @@ -108,8 +138,8 @@ 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

1. When a new release is tagged, create a new branch at the same commit with
the branch name in the format `docs-v<version>`, for example, `docs-v1.0.0`.
12. When a new release is tagged, create a new branch at the same commit with
the branch name in the format `docs-v<version>`, for example, `docs-v1.0.1rc0`.
The creation of the branch triggers the execution of the [publish-docs]
GitHub Action which generates the documentation for the new release,
publishing it at [https://aca-py.org]. The GitHub Action also executes when
Expand Down
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Hyperledger Aries Cloud Agent - Python <!-- omit in toc -->

🚨 **ACA-Py is transitioning to the [OpenWallet Foundation] (OWF)!** 🚨

[OpenWallet Foundation]: https://openwallet.foundation/

We’re excited to announce that the ACA-Py project will soon be moving to the OWF's GitHub organization under the [new "acapy" project](https://github.com/openwallet-foundation/project-proposals/pull/42). This is an important transition for the community, and we’ll ensure it's smooth and well-documented.

For details on what this means for ACA-Py users, including steps for updating deployments, please follow the updates in [GitHub Issue #3250]. We'll keep you informed about the approach, timeline, and progress of the move. Stay tuned!

[GitHub Issue #3250]: https://github.com/hyperledger/aries-cloudagent-python/issues/3250

<p float="left">
<a href="https://pypi.org/project/aries-cloudagent/"><img src="https://img.shields.io/pypi/v/aries_cloudagent" width="100" height="20" />
<img src="https://sonarcloud.io/images/project_badges/sonarcloud-white.svg" width="120" height="20" />
Expand All @@ -12,7 +22,7 @@
> An easy to use Aries agent for building SSI services using any language that supports sending/receiving HTTP requests.

Full access to an organized set of all of the ACA-Py documents is available at [https://aca-py.org](https://aca-py.org).
Check it out! It's much easier to navigate than this GitHub repo for reading the documentation.
Check it out! It's much easier to navigate than the ACA-Py GitHub repo for reading the documentation.

:new: ACA-Py Plugins have their own store! Visit [https://plugins.aca-py.org](https://plugins.aca-py.org) to find ready-to-use functionality to add to your ACA-Py deployment, and to learn how to build your own plugins.

Expand Down
Loading