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

♻️ Sync development with main and ✨ improve logging #8

Merged
merged 182 commits into from
Dec 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
02019c3
:arrow_up: Upgrade python-dateutil
ff137 Nov 14, 2024
d8632ee
:art: Rename class to resolve PytestCollectionWarning
ff137 Nov 14, 2024
36e47ce
:art: Replace deprecated `open_binary` method with `files`
ff137 Nov 14, 2024
573c208
:art: Replace deprecated `scope` keyword with `loop_scope`
ff137 Nov 14, 2024
70364a4
:art: Filter Aries RFC 0160 DeprecationWarning in tests
ff137 Nov 14, 2024
6f967c6
:art: Filter Pydantic UserWarning in test
ff137 Nov 14, 2024
c65f6ce
:arrow_up: Upgrade aiohttp to latest release and update lock file
ff137 Nov 14, 2024
d84a384
:art: Remove unnecessary asyncio pytest markers
ff137 Nov 14, 2024
a41b4fb
Merge pull request #3338 from didx-xyz/fix-deprecations
dbluhm Nov 14, 2024
1d07ede
chore(deps-dev): Bump ruff from 0.7.3 to 0.7.4 (#3341)
dependabot[bot] Nov 18, 2024
2522877
chore(deps): Bump aiohttp from 3.11.0 to 3.11.2 (#3340)
dependabot[bot] Nov 18, 2024
c18f6d1
chore(deps): Bump pyjwt from 2.9.0 to 2.10.0 (#3339)
dependabot[bot] Nov 18, 2024
f5c49b0
did:tdw resolver (#3237)
jamshale Nov 18, 2024
3c7dee8
chore(deps): Bump aiohttp (#3342)
dependabot[bot] Nov 20, 2024
815a0f3
:art: Refactor `register_plugin` steps for maintainability
ff137 Nov 6, 2024
ce9f8b7
:art: improve logging in register_package
ff137 Nov 6, 2024
3e5088e
:art: Rename method and remove redundant main call
ff137 Nov 6, 2024
59e4951
:art:
ff137 Nov 6, 2024
02011a8
:loud_sound: Add debug logging to Context Builder
ff137 Nov 7, 2024
1263191
:art: Deduplicate registering list of plugins
ff137 Nov 7, 2024
24c1426
:art:
ff137 Nov 7, 2024
8264688
:loud_sound: Add debug logging to init_context
ff137 Nov 7, 2024
b539ab0
:loud_sound: Add debug logging to load_protocol_version
ff137 Nov 7, 2024
595d391
:loud_sound: Add debug logging to load_protocols
ff137 Nov 7, 2024
b1a73a0
:loud_sound: Add debug logging to register_admin_routes
ff137 Nov 7, 2024
5e199d1
:loud_sound: Add debug logging to register_protocol_events
ff137 Nov 7, 2024
9cf03f6
:loud_sound: Add debug logging to post_process_routes
ff137 Nov 7, 2024
6330701
:art: Replace print statements with info logs
ff137 Nov 7, 2024
6a8febd
:art: Replace almost all print statements with info logs
ff137 Nov 7, 2024
8f46fdb
:loud_sound: Expand logging for Conductor setup
ff137 Nov 7, 2024
edde403
:art: Correct to uphold previous "Module doesn't exist" log behaviour
ff137 Nov 7, 2024
cc5ceab
:white_check_mark: Fix test by using assertLogs instead of capturing …
ff137 Nov 7, 2024
44e9807
Revert ":art: Rename method and remove redundant main call"
ff137 Nov 7, 2024
cfec6a6
:art:
ff137 Nov 7, 2024
500e4b2
:white_check_mark: Fix test by adding __name__ to mock object
ff137 Nov 7, 2024
5134d16
:art:
ff137 Nov 7, 2024
aa0765a
:sparkles: Add custom trace log level
ff137 Nov 7, 2024
190cc28
:art: Ensure trace level can only be added once
ff137 Nov 7, 2024
63ca170
:art: Add Logger
ff137 Nov 7, 2024
3641e2f
:art: Update newly added logs to be trace level instead of debug
ff137 Nov 7, 2024
bf1295f
:art: Update newly added logs to be trace level instead of debug
ff137 Nov 7, 2024
926eab1
:loud_sound: Expand logging for Conductor start and stop
ff137 Nov 7, 2024
32bb6b4
:white_check_mark: Add unit tests for adding trace level functionality
ff137 Nov 7, 2024
9d0275a
:white_check_mark: Reset the logging states before and after TestLogg…
ff137 Nov 7, 2024
a53b949
:art:
ff137 Nov 7, 2024
e77cf3f
:test_tube: Debug log assertion test failing sporadically
ff137 Nov 7, 2024
4f63240
:white_check_mark: Modify log assertion to be more robust
ff137 Nov 7, 2024
0ff9da4
:art:
ff137 Nov 7, 2024
9058784
:bug: Handle case that load_module return type is Optional
ff137 Nov 7, 2024
ebfbaaf
:loud_sound: Expand logging for ClassLoader
ff137 Nov 7, 2024
4312905
:loud_sound: Log a warning if resource not found, instead of passing
ff137 Nov 11, 2024
9d347bb
:art:
ff137 Nov 11, 2024
06ceea9
:art: Enable trace logs for remaining modules
ff137 Nov 11, 2024
838adcd
:bug: Fix registering and loading of modules
ff137 Nov 12, 2024
f342646
:loud_sound: Expand logging for Ledger Configuration
ff137 Nov 12, 2024
5ec73ac
Fix tails upload for anoncreds multitenancy
jamshale Nov 21, 2024
8a3ad2e
Update unit test
jamshale Nov 21, 2024
8e704bb
Make sonarcloud happy with https in test
jamshale Nov 21, 2024
e27598d
Merge pull request #3346 from jamshale/fix/multitenancy-anoncreds-tai…
swcurran Nov 22, 2024
a00b5f5
Add anoncreds issuance and presentation format (#3331)
jamshale Nov 22, 2024
ddfcfdc
Fix handling of base_wallet_routes startup parameter in auth decorator
esune Nov 20, 2024
84a9f33
Restore --base-wallet-extra-routes argument functionality
esune Nov 21, 2024
0257d78
Correctly handle null value for --base-wallet-routes
esune Nov 21, 2024
88be790
Fix typo
esune Nov 21, 2024
fc6f35d
Merge pull request #3344 from esune/fix/base-wallet-extra-routes
dbluhm Nov 22, 2024
2d4212a
Fix subwallet anoncreds upgrade check (#3345)
jamshale Nov 22, 2024
799cd64
Fix/universal resolver (#3354)
jamshale Nov 25, 2024
b0a1e67
chore(deps-dev): Bump ruff from 0.7.4 to 0.8.0 (#3348)
dependabot[bot] Nov 26, 2024
b5e79fb
chore(deps): Bump mkdocs-material from 9.5.44 to 9.5.46 (#3352)
dependabot[bot] Nov 26, 2024
1613ed0
chore(deps): Bump uuid-utils from 0.9.0 to 0.10.0 (#3351)
dependabot[bot] Nov 26, 2024
b8283d7
chore(deps-dev): Bump debugpy from 1.8.8 to 1.8.9 (#3350)
dependabot[bot] Nov 26, 2024
249ac73
chore(deps): Bump aiohttp from 3.11.2 to 3.11.7 (#3349)
dependabot[bot] Nov 26, 2024
683c1c7
Merge branch 'main' into improve-logging
ff137 Nov 27, 2024
51ba3e7
:rewind: Revert `trace` log changes, and move to debug level
ff137 Nov 27, 2024
523d429
:sparkles: Add caching to ClassLoader.load_module
ff137 Nov 27, 2024
a2b32ce
:art: Improve log
ff137 Nov 27, 2024
eb52b05
:art: Sync Ruff version in configs and apply formatting (#3358)
ff137 Nov 27, 2024
27edc6e
:art: Replace deprecated ABC decorators (#3357)
ff137 Nov 27, 2024
a7e0a69
:art: Reduce log verbosity
ff137 Nov 27, 2024
35e6445
:sparkles: Add `lru_cache` to load_class and set maxsize
ff137 Nov 27, 2024
79c58f2
Merge branch 'main' into improve-logging
ff137 Nov 27, 2024
7ae9138
:zap: Add class caching to DeferLoad
ff137 Nov 28, 2024
31782d4
:rewind: Revert addition of lru caching
ff137 Dec 2, 2024
15d4631
:art: Update logs / reduce verbosity
ff137 Dec 2, 2024
0e41c89
Revert "Don't pass rekey to sub_wallet_profile"
ff137 Nov 14, 2024
3e1029f
Fixes #3202: new suppress banner and replace print by logging statements
rngadam Aug 28, 2024
7e76226
:art: Print agent label and version even if banner suppressed
ff137 Nov 6, 2024
c4b7fc6
:white_check_mark: Fix pagination assertions
ff137 Nov 14, 2024
fb142d8
👷 Upload Python Package to TestPyPI (#4)
ff137 Nov 14, 2024
4ea7b63
Version 1.1.1-20241115
ff137 Nov 14, 2024
eab7271
🎨 Deprecate count/start query params and implement limit/offset (#6)
ff137 Nov 14, 2024
88e614e
sparkles: add `order_by` and `descending` options to query / scan and…
ff137 Aug 16, 2024
5d6dd46
sparkles: add `order_by` and `descending` options to PaginatedQuerySc…
ff137 Aug 16, 2024
c62b7f5
sparkles: modify `get_limit_offset` to `get_paginated_query_params`
ff137 Aug 16, 2024
424a54d
construction: test in-progress aries-askar PR: https://github.com/hyp…
ff137 Aug 16, 2024
6cce359
arrow_up: Update lock file
ff137 Aug 16, 2024
2102f41
art: fix ruff warning
ff137 Aug 16, 2024
362cff7
white_check_mark: fix assertions
ff137 Aug 16, 2024
2a1e5ae
construction: test aries-askar with TestPyPI package
ff137 Aug 20, 2024
42fd632
construction: test latest askar testpypi package
ff137 Aug 21, 2024
6c11a51
art: Update order_by description and default value. Include in schema
ff137 Aug 22, 2024
db8a376
bug: fix deserialisation of descending: bool parameter
ff137 Aug 30, 2024
e1256df
rewind: revert to testing 0.3.3b0 askar test package
ff137 Aug 30, 2024
3691e90
fire: remove unnecessary record sorts (now that askar sorts by id == …
ff137 Aug 30, 2024
99d25ed
white_check_mark: fix test assertions -- wallet_list and connections_…
ff137 Aug 30, 2024
0f5eb33
arrow_up: Update lock file
ff137 Oct 22, 2024
a9d33eb
Merge branch '3173' into sync-development
ff137 Dec 2, 2024
833ff25
art: Modify count/start query params to be Integers, not Strings
ff137 Aug 29, 2024
f9531b5
memo: Update openapi spec
ff137 Aug 29, 2024
df97243
rewind: Revert start/count field to remain String type; mark as depre…
ff137 Nov 12, 2024
f748fb1
sparkles: Implement limit/offset alongside deprecated count/start
ff137 Nov 12, 2024
86ed4a1
art: Standardise naming convention from count/start to limit/offset
ff137 Nov 12, 2024
bf16c9e
rewind: Revert start/count field to remain String type; mark as depre…
ff137 Nov 12, 2024
f2276e4
sparkles: Implement limit/offset alongside deprecated count/start
ff137 Nov 12, 2024
36f7893
art: Remove unused query string schema from `w3c_creds_list`
ff137 Nov 12, 2024
5033770
art: Rename args
ff137 Nov 12, 2024
d50dd42
memo: Update openapi specs
ff137 Nov 12, 2024
908f35a
white_check_mark:
ff137 Nov 12, 2024
d615112
art: Update start/count keywords to offset/limit
ff137 Nov 30, 2024
c984159
Merge branch '3208' into sync-development
ff137 Dec 2, 2024
f476e6b
Merge branch 'improve-logging' into sync-development
ff137 Dec 2, 2024
feba040
Merge branch 'fix-3360' into sync-development
ff137 Dec 2, 2024
98f285d
:bug: Fix IndyVdrLedgerPool RuntimeWarning
ff137 Dec 2, 2024
8d783b0
:test_tube: Update tests
ff137 Dec 2, 2024
9cf64cd
Merge branch 'fix-3328' into sync-development
ff137 Dec 2, 2024
9a144a6
Revert "did:tdw resolver (#3237)"
ff137 Dec 2, 2024
e137138
Merge branch 'development' into sync-development
ff137 Dec 2, 2024
d1920a9
1.1.1b5
ff137 Dec 2, 2024
5147352
:art: Propagate the async changes
ff137 Dec 2, 2024
a363bc2
:art: Propagate the async changes
ff137 Dec 2, 2024
dd17d01
Add test wallet config option (#3355)
jamshale Dec 2, 2024
80cc329
Week 49 Library upgrades (#3368)
jamshale Dec 2, 2024
389e9d2
:zap: Add class caching to DeferLoad (#3361)
ff137 Dec 2, 2024
6e26d0b
fix: check routing keys on endpoint refresh
dbluhm Dec 2, 2024
9a3e93a
1.1.1rc0
swcurran Dec 2, 2024
f8ebb2c
Merge branch 'main' into 1.1.1rc0
swcurran Dec 2, 2024
72bff10
Merge pull request #3371 from dbluhm/fix/endpoint-refresh-checks-keys
dbluhm Dec 3, 2024
18d1dc9
Make vc libraries mandatory (#3356)
jamshale Dec 3, 2024
40a15bc
Merge branch 'main' into 1.1.1rc0
swcurran Dec 3, 2024
4bb6eda
Update the PR for release
swcurran Dec 3, 2024
ce51d71
Repair release bdd tests
jamshale Dec 3, 2024
a6c3b52
Merge pull request #3376 from jamshale/repair-release-bdd-tests
swcurran Dec 3, 2024
3b25e7a
Merge branch 'main' into 1.1.1rc0
swcurran Dec 3, 2024
937ff58
Add in PR to Changelog
swcurran Dec 3, 2024
0283c32
Merge remote-tracking branch 'origin/1.1.1rc0' into 1.1.1rc0
swcurran Dec 3, 2024
4559704
Merge pull request #3372 from swcurran/1.1.1rc0
swcurran Dec 4, 2024
d924d8b
Merge branch 'main' into sync-development
ff137 Dec 4, 2024
6f5634b
Merge branch 'main' into improve-logging
ff137 Dec 4, 2024
909c15a
:art: Reduce repetition
ff137 Dec 4, 2024
31451c0
Fix for demo initial cred_type override (#3378)
ianco Dec 4, 2024
b104401
chore(deps): Bump dawidd6/action-download-artifact (#3370)
dependabot[bot] Dec 4, 2024
33ab9a0
:art: Log warning when StorageNotFoundError encountered, instead of e…
ff137 Dec 5, 2024
340ec9e
:art: Set Shutdown log level to fatal, with exc_info
ff137 Dec 5, 2024
be2f302
:art: Log warning for bad credential format, instead of always except…
ff137 Dec 5, 2024
ce6bf7b
:construction: Add exc_info to error log for debugging
ff137 Dec 5, 2024
3a5927d
Merge branch 'main' into improve-logging
ff137 Dec 5, 2024
f1b3ab9
Merge branch 'improve-logging' into sync-development
ff137 Dec 5, 2024
eb2684b
:art: Make `ensure_supported_did` method public
ff137 Dec 5, 2024
07b9ff3
:bug: Ensure supported DID before calling Rotate
ff137 Dec 5, 2024
655ac12
:white_check_mark: Fix existing tests
ff137 Dec 5, 2024
add68a9
:white_check_mark: Test coverage for new DID validation
ff137 Dec 5, 2024
15222b7
Merge branch 'fix-3379' into sync-development
ff137 Dec 5, 2024
db1c0f2
:art: Shorten config key
ff137 Dec 5, 2024
2708c2c
Merge branch 'main' into fix-3328
ff137 Dec 5, 2024
dc47453
Merge branch 'fix-3328' into sync-development
ff137 Dec 5, 2024
a7870dd
:art: Fix lying method return type
ff137 Dec 5, 2024
63e4b3b
Merge branch 'fix-3379' into sync-development
ff137 Dec 5, 2024
f86406f
:art: Replace AskarError with ProfileError
ff137 Dec 5, 2024
49d56cc
Merge branch 'improve-logging' into sync-development
ff137 Dec 5, 2024
45c910a
:construction: Skip exception log for ProfileError
ff137 Dec 5, 2024
6bf8fc8
:bug: Fix message type class mapping
ff137 Dec 5, 2024
71cb1ed
Merge branch 'fix-3379' into sync-development
ff137 Dec 5, 2024
c9022e2
:construction: Debug message parse error
ff137 Dec 5, 2024
8a39204
:construction: Log warning instead of error for MessageParseError
ff137 Dec 5, 2024
c56fb86
:arrow_up: Bump version
ff137 Dec 5, 2024
d8c6d5b
:arrow_up: Update lock file
ff137 Dec 5, 2024
c55d1d4
:art: Fix model name for consistency
ff137 Dec 5, 2024
4531d8a
Merge branch 'art/rename-anoncred' into sync-development
ff137 Dec 5, 2024
5a3b99a
:art: Set wallet upgrade exception log to warning
ff137 Dec 5, 2024
5806f5c
Update anoncreds format names (#3374)
jamshale Dec 5, 2024
6ddb592
:art: Fix model name for consistency (#3382)
ff137 Dec 5, 2024
3dc077c
Merge branch 'main' into sync-development
ff137 Dec 5, 2024
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
2 changes: 1 addition & 1 deletion .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ jobs:
- name: Ruff Format and Lint Check
uses: chartboost/ruff-action@v1
with:
version: 0.5.7
version: 0.8.0
args: "format --check"
4 changes: 2 additions & 2 deletions .github/workflows/sonar-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
with:
fetch-depth: 0
- name: Download PR number artifact
uses: dawidd6/action-download-artifact@v6
uses: dawidd6/action-download-artifact@v7
with:
workflow: Tests
run_id: ${{ github.event.workflow_run.id }}
Expand All @@ -26,7 +26,7 @@ jobs:
with:
path: ./PR_NUMBER
- name: Download Test Coverage
uses: dawidd6/action-download-artifact@v6
uses: dawidd6/action-download-artifact@v7
with:
workflow: Tests
run_id: ${{ github.event.workflow_run.id }}
Expand Down
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
repos:
- repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
rev: v9.16.0
rev: v9.18.0
hooks:
- id: commitlint
stages: [commit-msg]
args: ["--config", ".commitlint.config.js"]
additional_dependencies: ['@commitlint/config-conventional']
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ensure this is synced with pyproject.toml
rev: v0.5.7
rev: v0.8.1
hooks:
# Run the linter
- id: ruff
Expand Down
74 changes: 74 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,79 @@
# Aries Cloud Agent Python Changelog

## 1.1.1rc0

### December 3, 2024

Release 1.1.1 is a patch update to ACA-Py that contains a lengthy list of adjustments, improvements and fixes, with a focus on removing Technical Debt. The most visible change is the removal of the "in-memory wallet" implementation in favour of using the SQLite in-memory wallet (`sqlite://:memory:`), including removing the logic for handling that extra wallet type. While arguably a breaking change (and we mention it below), we're confident no one is using the in-memory wallet (right?!?) any where other than in tests. In removing the in-memory wallet, all of the unit and integration tests that used the in-memory wallet were updated to use SQLite's in-memory wallet.

The first step to full support of [did:tdw](https://identity.foundation/trustdidweb/) (soon to be renamed to `did:webvh` for "`did:web` + Verifiable History") has been added to ACA-Py -- a resolver. We're working on adding new DID Registration for it and other DID Methods, enabling ACA-Py to be used easily with a variety of DID Methods.

The move to the [OpenWallet Foundation](https://openwallet.foundation/) is now complete. For up to date details on what the repo move means for ACA-Py users, including steps for updating deployments, please see latest in [GitHub Issue #3250].

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

### 1.1.1 Deprecation Notices

The same **[deprecation notices](#101-deprecation-notices)** from the [1.1.0](#110) release about AIP 1.0 protocols still apply. The protocols remain in the 1.1.1 release, but will be moved out of the core and into plugins soon. Please review these notifications carefully!

### 1.1.1 Breaking Changes

While there are no breaking changes in this release that might impact production deployments, the removal of the "in-memory" wallet implementation might be break some test scripts. Rather than using the in-memory wallet, tests should be updated to use SQLite's special `sqlite://:memory:` database instead. This results in a better alignment between tests and a production environment.


#### 1.1.1 Categorized List of Pull Requests

- AnonCreds VC Issuance and Presentation Enhancement / Fixes
- Repair release bdd tests [\#3376](https://github.com/openwallet-foundation/acapy/pull/3376) [jamshale](https://github.com/jamshale)
- Fix tails upload for anoncreds multitenancy [\#3346](https://github.com/openwallet-foundation/acapy/pull/3346) [jamshale](https://github.com/jamshale)
- Fix subwallet anoncreds upgrade check [\#3345](https://github.com/openwallet-foundation/acapy/pull/3345) [jamshale](https://github.com/jamshale)
- Add anoncreds issuance and presentation format [\#3331](https://github.com/openwallet-foundation/acapy/pull/3331) [jamshale](https://github.com/jamshale)
- Fix endorsement setup with existing connection [\#3309](https://github.com/openwallet-foundation/acapy/pull/3309) [jamshale](https://github.com/jamshale)
- Update accumulator value in wallet on repair [\#3299](https://github.com/openwallet-foundation/acapy/pull/3299) [jamshale](https://github.com/jamshale)

- Middleware Handling and Multi-tenancy
- Restore `--base-wallet-routes` flag functionality [\#3344](https://github.com/openwallet-foundation/acapy/pull/3344) [esune](https://github.com/esune)
- :white_check_mark: Re-add ready_middleware unit tests [\#3330](https://github.com/openwallet-foundation/acapy/pull/3330) [ff137](https://github.com/ff137)
- :sparkles: Handle NotFound and UnprocessableEntity errors in middleware [\#3327](https://github.com/openwallet-foundation/acapy/pull/3327) [ff137](https://github.com/ff137)
- :art: Refactor Multitenant Manager errors and exception handling [\#3323](https://github.com/openwallet-foundation/acapy/pull/3323) [ff137](https://github.com/ff137)
- Don't pass rekey to sub_wallet_profile [\#3312](https://github.com/openwallet-foundation/acapy/pull/3312) [jamshale](https://github.com/jamshale)

- DID Registration and Resolution
- fix: check routing keys on indy_vdr endpoint refresh [\#3371](https://github.com/openwallet-foundation/acapy/pull/3371) [dbluhm](https://github.com/dbluhm)
- Fix/universal resolver [\#3354](https://github.com/openwallet-foundation/acapy/pull/3354) [jamshale](https://github.com/jamshale)
- More robust verification method selection by did [\#3279](https://github.com/openwallet-foundation/acapy/pull/3279) [dbluhm](https://github.com/dbluhm)
- did:tdw resolver [\#3237](https://github.com/openwallet-foundation/acapy/pull/3237) [jamshale](https://github.com/jamshale)

- DIDComm Updates and Enhancements
- :bug: Rearrange connection record deletion after hangup [\#3310](https://github.com/openwallet-foundation/acapy/pull/3310) [ff137](https://github.com/ff137)
- :bug: Handle failure to resolve DIDComm services in DIDXManager [\#3298](https://github.com/openwallet-foundation/acapy/pull/3298) [ff137](https://github.com/ff137)

- Test Suite Updates and Artifact Publishing
- Add test wallet config option [\#3355](https://github.com/openwallet-foundation/acapy/pull/3355) [jamshale](https://github.com/jamshale)
- :art: Fix current test warnings [\#3338](https://github.com/openwallet-foundation/acapy/pull/3338) [ff137](https://github.com/ff137)
- :construction_worker: Fix Nightly Publish to not run on forks [\#3333](https://github.com/openwallet-foundation/acapy/pull/3333) [ff137](https://github.com/ff137)

- Internal Improvements / Cleanups / Tech Debt Updates
- :zap: Add class caching to DeferLoad [\#3361](https://github.com/openwallet-foundation/acapy/pull/3361) [ff137](https://github.com/ff137
- :art: Sync Ruff version in configs and apply formatting [\#3358](https://github.com/openwallet-foundation/acapy/pull/3358) [ff137](https://github.com/ff137)
- :art: Replace deprecated ABC decorators [\#3357](https://github.com/openwallet-foundation/acapy/pull/3357) [ff137](https://github.com/ff137)
- :art: Refactor the logging module monolith [\#3319](https://github.com/openwallet-foundation/acapy/pull/3319) [ff137](https://github.com/ff137)
- :wrench: set default fixture scope for pytest-asyncio [\#3318](https://github.com/openwallet-foundation/acapy/pull/3318) [ff137](https://github.com/ff137)
- Docs (devcontainer) Change folder names [\#3317](https://github.com/openwallet-foundation/acapy/pull/3317) [loneil](https://github.com/loneil)
- :art: Refactor string concatenation in model descriptions [\#3313](https://github.com/openwallet-foundation/acapy/pull/3313) [ff137](https://github.com/ff137)
- Remove in memory wallet [\#3311](https://github.com/openwallet-foundation/acapy/pull/3311) [jamshale](https://github.com/jamshale)

- Consolidate Dependabot updates and other library/dependency updates
- Week 49 Library upgrades [\#3368](https://github.com/openwallet-foundation/acapy/pull/3368) [jamshale](https://github.com/jamshale)
- :arrow_up: Update lock file [\#3296](https://github.com/openwallet-foundation/acapy/pull/3296) [ff137](https://github.com/ff137)

- Release management pull requests:
- 1.1.1rc0 [\#3372](https://github.com/openwallet-foundation/acapy/pull/3372) [swcurran](https://github.com/swcurran)

- Dependabot PRs
- [Link to list of Dependabot PRs in this release](https://github.com/openwallet-foundation/acapy/pulls?q=is%3Apr+is%3Amerged+merged%3A2024-10-15..2024-12-03+author%3Aapp%2Fdependabot+)


## 1.1.0

### October 15, 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.1.0`).
- Checks out the triggering branch, either `main` or `docs-v<version>` (e.g `docs-v1.1.1`).
- 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.1.0`
- Remove the folder for the RC. For example `rm -rf 1.1.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
20 changes: 10 additions & 10 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 local PR branch from an updated `main` branch, e.g. "1.1.0".
1. Create a local PR branch from an updated `main` branch, e.g. "1.1.1".

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 @@ -27,7 +27,7 @@ Once ready to do a release, create a local branch that includes the following up
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
To generate the list, run the `./scripts/genChangeLog.sh` scripts (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
Expand Down Expand Up @@ -78,17 +78,17 @@ Once you have the list of PRs:
- Check the dates in the `dependabot` URL to make sure the full period between the previous non-RC release to the date of the non-RC release you are preparing.
- Include a PR in the list for this soon-to-be PR, initially with the "next to be issued" number for PRs/Issues. At the end output of the script is the highest numbered PR and issue. Your PR will be one higher than the highest of those two numbers. Note that you still might have to correct the number after you create the PR if someone sneaks an issue or PR in before you submit your PR.

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

6. Update the ReadTheDocs in the `/docs` folder by following the instructions in
2. Update the ReadTheDocs in the `/docs` folder by following the instructions in
the `docs/UpdateRTD.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
necessary, create an issue with the errors and assign it to the appropriate
developer. Experience has demonstrated to use that documentation generation
errors should be fixed in the code.

7. Search across the repository for the previous version number and update it
3. Search across the repository for the previous version number and update it
everywhere that makes sense. The CHANGELOG.md entry for the previous release
is a likely exception, and the `pyproject.toml` in the root **MUST** be
updated. You can skip (although it won't hurt) to update the files in the
Expand All @@ -101,28 +101,28 @@ Once you have the list of PRs:
have dropped the previously used `-` in the release candidate version string
to better follow the semver rules.

8. Regenerate openapi.json and swagger.json by running
4. Regenerate openapi.json and swagger.json by running
`scripts/generate-open-api-spec` from within the `acapy_agent` folder.

Command: `cd acapy_agent;../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.
5. 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
6. 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/openwallet-foundation/acapy/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
7. 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 [OpenWallet Foundation Package Repository under
Expand All @@ -140,7 +140,7 @@ Once you have the list of PRs:
[publish-indy.yml]: https://github.com/openwallet-foundation/acapy/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.1.0`.
the branch name in the format `docs-v<version>`, for example, `docs-v1.1.1`.
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
13 changes: 9 additions & 4 deletions acapy_agent/__main__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
"""acapy_agent package entry point."""

import logging
import os
import sys

LOGGER = logging.getLogger(__name__)


def init_debug(args):
"""Initialize debugging environment."""
Expand All @@ -26,16 +29,18 @@ def init_debug(args):
import debugpy

debugpy.listen((DAP_HOST, DAP_PORT))
print(f"=== Waiting for debugger to attach to {DAP_HOST}:{DAP_PORT} ===")
LOGGER.info(
f"=== Waiting for debugger to attach to {DAP_HOST}:{DAP_PORT} ==="
)
debugpy.wait_for_client()
except ImportError:
print("debugpy library was not found")
LOGGER.error("debugpy library was not found")

if ENABLE_PYDEVD_PYCHARM or "--debug-pycharm" in args:
try:
import pydevd_pycharm

print(
LOGGER.info(
"aca-py remote debugging to "
f"{PYDEVD_PYCHARM_HOST}:{PYDEVD_PYCHARM_AGENT_PORT}"
)
Expand All @@ -47,7 +52,7 @@ def init_debug(args):
suspend=False,
)
except ImportError:
print("pydevd_pycharm library was not found")
LOGGER.error("pydevd_pycharm library was not found")


def run(args):
Expand Down
30 changes: 30 additions & 0 deletions acapy_agent/admin/decorators/auth.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
"""Authentication decorators for the admin API."""

import functools
import re
from typing import Optional, Pattern

from aiohttp import web

Expand Down Expand Up @@ -48,6 +50,8 @@ def tenant_authentication(handler):
- check for a valid bearer token in the Autorization header if running
in multi-tenant mode
- check for a valid x-api-key header if running in single-tenant mode
- check if the base wallet has access to the requested path if running
in multi-tenant mode
"""

@functools.wraps(handler)
Expand All @@ -61,11 +65,15 @@ async def tenant_auth(request):
)
insecure_mode = bool(profile.settings.get("admin.admin_insecure_mode"))
multitenant_enabled = profile.settings.get("multitenant.enabled")
base_wallet_allowed_route = _base_wallet_route_access(
profile.settings.get("multitenant.base_wallet_routes"), request.path
)

# CORS fix: allow OPTIONS method access to paths without a token
if (
(multitenant_enabled and authorization_header)
or (not multitenant_enabled and valid_key)
or (multitenant_enabled and valid_key and base_wallet_allowed_route)
or insecure_mode
or request.method == "OPTIONS"
):
Expand All @@ -78,3 +86,25 @@ async def tenant_auth(request):
)

return tenant_auth


def _base_wallet_route_access(additional_routes: str, request_path: str) -> bool:
"""Check if request path matches additional routes."""
additional_routes_pattern = _build_additional_routes_pattern(additional_routes)
return _matches_additional_routes(additional_routes_pattern, request_path)


def _build_additional_routes_pattern(pattern_string: str) -> Optional[Pattern]:
"""Build pattern from space delimited list of paths."""
# create array and add word boundary to avoid false positives
if pattern_string:
paths = pattern_string.split(" ")
return re.compile("^((?:)" + "|".join(paths) + ")$")
return None


def _matches_additional_routes(pattern: Pattern, path: str) -> bool:
"""Matches request path to provided pattern."""
if pattern and path:
return bool(pattern.match(path))
return False
Loading
Loading