Skip to content

Commit 481021a

Browse files
authored
Merge branch 'main' into feature/keylist-webhooks
2 parents 9b519cb + f0b2719 commit 481021a

48 files changed

Lines changed: 1100 additions & 512 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/codeql.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ jobs:
1010
CodeQL-Build:
1111
# CodeQL runs on ubuntu-latest and windows-latest
1212
runs-on: ubuntu-latest
13+
if: (github.event_name == 'pull_request' && github.repository == 'hyperledger/aries-cloudagent-python') || (github.event_name != 'pull_request')
1314

1415
steps:
1516
- name: Checkout repository

.github/workflows/pip-audit.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: pip-audit
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
selftest:
11+
runs-on: ubuntu-latest
12+
if: (github.event_name == 'pull_request' && github.repository == 'hyperledger/aries-cloudagent-python') || (github.event_name != 'pull_request')
13+
steps:
14+
- uses: actions/checkout@v3
15+
- name: install
16+
run: |
17+
python -m venv env/
18+
source env/bin/activate
19+
python -m pip install .
20+
- uses: trailofbits/gh-action-pip-audit@v0.0.4
21+
with:
22+
virtual-environment: env/
23+
local: true

CHANGELOG.md

Lines changed: 68 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,34 @@
1-
# 0.7.4-RC4
1+
# 0.7.4
22

3-
## June 21, 2022
3+
## June 30, 2022
44

5-
**NOTE:** 0.7.4-rc4 contains a fix for a revocation-related issue introduced in
6-
0.7.4-rc3. We recommend updating to 0.7.4-rc4 immediately if you have been using
7-
0.7.4-rc3.
5+
0.7.4 is a significant release focused on stability and production deployments.
6+
As the "patch" release number indicates, there were no breaking changes in the
7+
Admin API, but a huge volume of updates and improvements. Highlights of this
8+
release include:
89

9-
- See issue: [\#1823](https://github.com/hyperledger/aries-cloudagent-python/issues/1823)
10-
- See Pull Request: [\#1827](https://github.com/hyperledger/aries-cloudagent-python/pull/1827)
10+
- A major performance and stability improvement resulting from the now
11+
recommended use of [Aries Askar](https://github.com/bcgov/aries-askar) instead
12+
of the Indy-SDK.
13+
- There are significant improvements and tools for dealing with
14+
revocation-related issues.
15+
- A lot of work has been on the handling of Hyperledger Indy transaction
16+
endorsements.
17+
- ACA-Py now has a pluggable persistent queues mechanism in place, with Redis
18+
and Kafka support available (albeit with work still to come on documentation).
1119

12-
The 0.7.4 release consists largely of internal fixes to ACA-Py, big increases in
13-
performance resulting from the now recommended use of [Aries
14-
Askar](https://github.com/bcgov/aries-askar) instead of the Indy-SDK, tools for
15-
dealing with revocation-related issues, plus a number of enhancements. There have been
16-
a lot of groups exercising ACA-Py and the updates made in this release are a
17-
reflection of those efforts. We have PRs that have been contributed by 20
18-
different people, which is likely a record for a single ACA-Py release.
20+
In addition, there are a significant number of general enhancements, bug fixes,
21+
documentation updates and code management improvements.
1922

20-
The largest enhancement is in the area of the Hyperledger Indy endorser,
21-
enabling an instance of ACA-Py to act as an Endorser for Indy authors needed
22-
endorsing to write objects to an Indy ledger. We're hoping to see an
23-
"aries-endorser-service" come from that work, an Endorser to be easily operated
24-
by an organization, ideally with a controller starter kit to allow an approvals
25-
business flow.
23+
This release is a reflection of the many groups stressing ACA-Py in production
24+
environments, reporting issues and the resulting solutions. We also have a very
25+
large number of contributors to ACA-Py, with this release having PRs from 22
26+
different individuals. A big thank you to all of those using ACA-Py, raising
27+
issues and providing solutions.
2628

27-
A focus towards the end of the 0.7.4 development and release cycle was on the
28-
handling of AnonCreds revocation in ACA-Py. Most important, a production issue
29-
was uncovered where by an ACA-Py issuer's local Revocation Registry data could
30-
get out of sync with what was published on an Indy ledger, resulting in an
31-
inability to publish new RevRegEntry transactions -- making new revocations
32-
impossible. As a result, we have added some new endpoints to enable an update to
33-
the RevReg storage such that RevRegEntry transactions can again be published to
34-
the ledger. Other changes were added related to revocation in general
35-
and in the handling of tails files in particular.
29+
### Major Enhancements
3630

37-
A lot of work has been put in for this release related to performance and load
31+
A lot of work has been put into this release related to performance and load
3832
testing, with significant updates being made to the key "shared component"
3933
ACA-Py dependencies ([Aries Askar](https://github.com/bcgov/aries-askar), [Indy
4034
VDR](https://github.comyperledger/indy-vdr)) and [Indy Shared RS (including
@@ -48,15 +42,36 @@ especially the team at LISSI for creating the
4842
to make load testing so easy! And of course to the core ACA-Py team for
4943
addressing the findings.
5044

45+
The largest enhancement is in the area of the endorsing of Hyperledger Indy
46+
ledger transactions, enabling an instance of ACA-Py to act as an Endorser for
47+
Indy authors needing endorsements to write objects to an Indy ledger. We're
48+
working on an [Aries Endorser
49+
Service](https://github.com/bcgov/aries-endorser-service) based on the new
50+
capabilities in ACA-Py, an Endorser to be easily operated by an organization,
51+
ideally with a controller starter kit supporting a basic human and automated
52+
approvals business workflow. Contributions welcome!
53+
54+
A focus towards the end of the 0.7.4 development and release cycle was on the
55+
handling of AnonCreds revocation in ACA-Py. Most important, a production issue
56+
was uncovered where by an ACA-Py issuer's local Revocation Registry data could
57+
get out of sync with what was published on an Indy ledger, resulting in an
58+
inability to publish new RevRegEntry transactions -- making new revocations
59+
impossible. As a result, we have added some new endpoints to enable an update to
60+
the RevReg storage such that RevRegEntry transactions can again be published to
61+
the ledger. Other changes were added related to revocation in general
62+
and in the handling of tails files in particular.
63+
5164
The team has worked a lot on evolving the persistent queue (PQ) approach
52-
available in ACA-Py. We have landed on a design whereby the ability to use
53-
queues for inbound and outbound messages is within ACA-Py, with a default
54-
in-memory implementation, and the implementations of external persistent queues
55-
solutions is handled by referencing a plugin from a separate repository. There
56-
will shortly be two concrete, out-of-the-box solutions available, one for Kafka
57-
and one for Redis, and anyone else can implement their own PQ plugin as long as
58-
it uses the same ACA-Py queuing interface. Look for the new PQ repos shortly
59-
within Hyperledger Aries.
65+
available in ACA-Py. We have landed on a design for the queues for inbound and
66+
outbound messages using a default in-memory implementation, and the ability to
67+
replace the default method with implementations created via an ACA-Py plugin.
68+
There are two concrete, out-of-the-box external persistent queuing solutions
69+
available for [Redis](https://github.com/bcgov/aries-acapy-plugin-redis-events)
70+
and [Kafka](https://github.com/sicpa-dlab/aries-acapy-plugin-kafka-events).
71+
Those ACA-Py persistent queue implementation repositories will soon be migrated
72+
to the Aries project within the Hyperledger Foundation's GitHub organization.
73+
Anyone else can implement their own queuing plugin as long as it uses the same
74+
interface.
6075

6176
Several new ways to control ACA-Py configurations were added, including new
6277
startup parameters, Admin API parameters to control instances of protocols, and
@@ -68,7 +83,9 @@ there no changes in the APIs.
6883

6984
As well there were a number of internal fixes, dependency updates, documentation
7085
and demo changes, developer tools and release management updates. All the usual
71-
stuff needed for a growing codebase.
86+
stuff needed for a healthy, growing codebase.
87+
88+
### Categorized List of Pull Requests
7289

7390
- Hyperledger Indy Endorser related updates:
7491
- Fix order of operations connecting faber to endorser [\#1716](https://github.com/hyperledger/aries-cloudagent-python/pull/1716) ([ianco](https://github.com/ianco))
@@ -82,6 +99,7 @@ stuff needed for a growing codebase.
8299
- Use provided connection_id if provided [\#1726](https://github.com/hyperledger/aries-cloudagent-python/pull/1726) ([ianco](https://github.com/ianco))
83100

84101
- Additions to the startup parameters, Admin API and Web Hooks
102+
- Improve typing of settings and add plugin settings object [\#1833](https://github.com/hyperledger/aries-cloudagent-python/pull/1833) ([dbluhm](https://github.com/dbluhm))
85103
- feat: accept taa using startup parameter --accept-taa [\#1643](https://github.com/hyperledger/aries-cloudagent-python/pull/1643) ([TimoGlastra](https://github.com/TimoGlastra))
86104
- Add auto_verify flag in present-proof protocol [\#1702](https://github.com/hyperledger/aries-cloudagent-python/pull/1702) ([DaevMithran](https://github.com/DaevMithran))
87105
- feat: query connections by their_public_did [\#1637](https://github.com/hyperledger/aries-cloudagent-python/pull/1637) ([TimoGlastra](https://github.com/TimoGlastra))
@@ -96,6 +114,7 @@ stuff needed for a growing codebase.
96114
- Redis PQ Cleanup in preparation for enabling the uses of plugin PQ implementations \[Issue\#1659\] [\#1659](https://github.com/hyperledger/aries-cloudagent-python/pull/1690) ([shaangill025](https://github.com/shaangill025))
97115

98116
- Credential Revocation and Tails File Handling
117+
- Fix handling of non-revocable credential when timestamp is specified \(askar/credx\) [\#1847](https://github.com/hyperledger/aries-cloudagent-python/pull/1847) ([andrewwhitehead](https://github.com/andrewwhitehead))
99118
- Additional endpoints to get revocation details and fix "published" status [\#1783](https://github.com/hyperledger/aries-cloudagent-python/pull/1783) ([ianco](https://github.com/ianco))
100119
- Fix IssuerCredRevRecord state update on revocation publish [\#1827](https://github.com/hyperledger/aries-cloudagent-python/pull/1827) ([andrewwhitehead](https://github.com/andrewwhitehead))
101120
- Fix put_file when the server returns a redirect [\#1808](https://github.com/hyperledger/aries-cloudagent-python/pull/1808) ([andrewwhitehead](https://github.com/andrewwhitehead))
@@ -133,6 +152,7 @@ stuff needed for a growing codebase.
133152

134153
- Multitenacy updates and fixes
135154
- feat: create new JWT tokens and invalidate older for multitenancy [\#1725](https://github.com/hyperledger/aries-cloudagent-python/pull/1725) ([TimoGlastra](https://github.com/TimoGlastra))
155+
- Multi-tenancy stale wallet clean up [\#1692](https://github.com/hyperledger/aries-cloudagent-python/pull/1692) ([dbluhm](https://github.com/dbluhm))
136156

137157
- Dependencies and internal code updates/fixes
138158
- Update pyjwt to 2.4 [\#1829](https://github.com/hyperledger/aries-cloudagent-python/pull/1829) ([andrewwhitehead](https://github.com/andrewwhitehead))
@@ -152,13 +172,9 @@ stuff needed for a growing codebase.
152172
- Replace async workaround within document loader [\#1774](https://github.com/hyperledger/aries-cloudagent-python/pull/1774) ([frostyfrog](https://github.com/frostyfrog))
153173

154174
- Documentation and Demo Updates
155-
- Changelog, version and ReadTheDocs updates for 0.7.4-rc3 release [\#1817](https://github.com/hyperledger/aries-cloudagent-python/pull/1817) ([swcurran](https://github.com/swcurran))
156-
- 0.7.4-rc2 update [\#1771](https://github.com/hyperledger/aries-cloudagent-python/pull/1771) ([swcurran](https://github.com/swcurran))
157-
- Some ReadTheDocs File updates [\#1770](https://github.com/hyperledger/aries-cloudagent-python/pull/1770) ([swcurran](https://github.com/swcurran))
158-
- 0.7.4-RC1 Changelog intro paragraph - fix copy/paste error [\#1753](https://github.com/hyperledger/aries-cloudagent-python/pull/1753) ([swcurran](https://github.com/swcurran))
159-
- Fixing the intro paragraph and heading in the changelog of this 0.7.4RC1 [\#1752](https://github.com/hyperledger/aries-cloudagent-python/pull/1752) ([swcurran](https://github.com/swcurran))
160-
- Updates to Changelog for 0.7.4. RC1 release [\#1747](https://github.com/hyperledger/aries-cloudagent-python/pull/1747) ([swcurran](https://github.com/swcurran))
161-
- Prep for adding the 0.7.4-rc0 tag [\#1722](https://github.com/hyperledger/aries-cloudagent-python/pull/1722) ([swcurran](https://github.com/swcurran))
175+
- Use default wallet type askar for alice/faber demo and bdd tests [\#1761](https://github.com/hyperledger/aries-cloudagent-python/pull/1761) ([ianco](https://github.com/ianco))
176+
- Update the Supported RFCs document for 0.7.4 release [\#1846](https://github.com/hyperledger/aries-cloudagent-python/pull/1846) ([swcurran](https://github.com/swcurran))
177+
- Fix a typo in DevReadMe.md [\#1844](https://github.com/hyperledger/aries-cloudagent-python/pull/1844) ([feknall](https://github.com/feknall))
162178
- Add troubleshooting document, include initial examples - ledger connection, out-of-sync RevReg [\#1818](https://github.com/hyperledger/aries-cloudagent-python/pull/1818) ([swcurran](https://github.com/swcurran))
163179
- Update POST /present-proof/send-request to POST /present-proof-2.0/send-request [\#1824](https://github.com/hyperledger/aries-cloudagent-python/pull/1824) ([lineko](https://github.com/lineko))
164180
- Fetch from --genesis-url likely to fail in composed container [\#1746](https://github.com/hyperledger/aries-cloudagent-python/pull/1739) ([tdiesler](https://github.com/tdiesler))
@@ -171,13 +187,19 @@ stuff needed for a growing codebase.
171187
- Document impact of multi-ledger on TAA acceptance [\#1778](https://github.com/hyperledger/aries-cloudagent-python/pull/1778) ([ianco](https://github.com/ianco))
172188

173189
- Code management and contributor/developer support updates
190+
- Set prefix for integration test demo agents; some code cleanup [\#1840](https://github.com/hyperledger/aries-cloudagent-python/pull/1840) ([andrewwhitehead](https://github.com/andrewwhitehead))
174191
- Pin markupsafe at version 2.0.1 [\#1642](https://github.com/hyperledger/aries-cloudagent-python/pull/1642) ([andrewwhitehead](https://github.com/andrewwhitehead))
175192
- style: format with stable black release [\#1615](https://github.com/hyperledger/aries-cloudagent-python/pull/1615) ([TimoGlastra](https://github.com/TimoGlastra))
176193
- Remove references to play with von [\#1688](https://github.com/hyperledger/aries-cloudagent-python/pull/1688) ([ianco](https://github.com/ianco))
177194
- Add pre-commit as optional developer tool [\#1671](https://github.com/hyperledger/aries-cloudagent-python/pull/1671) ([dbluhm](https://github.com/dbluhm))
178195
- run_docker start - pass environment variables [\#1715](https://github.com/hyperledger/aries-cloudagent-python/pull/1715) ([shaangill025](https://github.com/shaangill025))
196+
- Use local deps only [\#1834](https://github.com/hyperledger/aries-cloudagent-python/pull/1834) ([ryjones](https://github.com/ryjones))
197+
- Enable pip-audit [\#1831](https://github.com/hyperledger/aries-cloudagent-python/pull/1831) ([ryjones](https://github.com/ryjones))
198+
- Only run pip-audit on main repo [\#1845](https://github.com/hyperledger/aries-cloudagent-python/pull/1845) ([ryjones](https://github.com/ryjones))
179199

180200
- Release management pull requests
201+
- 0.7.4 Release Changelog and version update [\#1849](https://github.com/hyperledger/aries-cloudagent-python/pull/1849) ([swcurran](https://github.com/swcurran))
202+
- 0.7.4-rc5 changelog, version and ReadTheDocs updates [\#1838](https://github.com/hyperledger/aries-cloudagent-python/pull/1838) ([swcurran](https://github.com/swcurran))
181203
- Update changelog and version for 0.7.4-rc4 [\#1830](https://github.com/hyperledger/aries-cloudagent-python/pull/1830) ([swcurran](https://github.com/swcurran))
182204
- Changelog, version and ReadTheDocs updates for 0.7.4-rc3 release [\#1817](https://github.com/hyperledger/aries-cloudagent-python/pull/1817) ([swcurran](https://github.com/swcurran))
183205
- 0.7.4-rc2 update [\#1771](https://github.com/hyperledger/aries-cloudagent-python/pull/1771) ([swcurran](https://github.com/swcurran))

DevReadMe.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ To enable the [ptvsd](https://github.com/Microsoft/ptvsd) Python debugger for Vi
149149
Any ports you will be using from the docker container should be published using the `PORTS` environment variable. For example:
150150

151151
```bash
152-
PORTS="5000:5000 8000:8000 1000:1000" ./scripts/run_docker start --inbound-transport http 0.0.0.0 10000 --outbound-transport http --debug --log-level DEBUG
152+
PORTS="5000:5000 8000:8000 10000:10000" ./scripts/run_docker start --inbound-transport http 0.0.0.0 10000 --outbound-transport http --debug --log-level DEBUG
153153
```
154154

155155
Refer to [the previous section](#Running) for instructions on how to run the software.

PUBLISHING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Once ready to do a release, create a local branch that includes the following up
88

99
1. Create a PR branch from an updated `main` branch.
1010

11-
2. Update the CHANGELOG.md to add the new release. If transitioning for a Release Candidate to the final release for the tag, do not create a new section -- just drop the "RC" designation. Check the date of the new release.
11+
2. Update the CHANGELOG.md to add the new release. Only create a new section when working on the first release candidate for a new release. When transitioning from one release candidate to the next, or to an official release, just update the title and date of the change log section.
1212

1313
3. Include details of the merged PRs included in this release. General process to follow:
1414

0 commit comments

Comments
 (0)