{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":257347688,"defaultBranch":"main","name":"charmcraft","ownerLogin":"canonical","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-04-20T16:56:09.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/53057619?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726885790.0","currentOid":""},"activityList":{"items":[{"before":"44e047284474713754f26747a4735a6647691560","after":"d0014447ced3a064fd908190f7ff324aa798c84b","ref":"refs/heads/renovate/main-keyring-25.x","pushedAt":"2024-09-22T19:28:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency keyring to v25","shortMessageHtmlLink":"build(deps): update dependency keyring to v25"}},{"before":"83a249b6281984a76cf092b582c57a8f7029e2b6","after":"681eb89d3d8ab7d6a3fec29ea69ce183d6ae3900","ref":"refs/heads/renovate/main-bugfixes","pushedAt":"2024-09-22T16:28:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update bugfixes","shortMessageHtmlLink":"build(deps): update bugfixes"}},{"before":"d84ea3a7a8a12f4f9d15e5d2a58ede94e5196177","after":"44e047284474713754f26747a4735a6647691560","ref":"refs/heads/renovate/main-keyring-25.x","pushedAt":"2024-09-21T03:37:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency keyring to v25","shortMessageHtmlLink":"build(deps): update dependency keyring to v25"}},{"before":"c9ce1517d00a4b6e74193cb7f53b1837ba60e705","after":"84cd6a669241a42d39942ea5e8e7b845af311278","ref":"refs/heads/renovate/main-pytz-2024.x","pushedAt":"2024-09-21T03:37:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency pytz to v2024.2","shortMessageHtmlLink":"build(deps): update dependency pytz to v2024.2"}},{"before":"d4a3848b8dd38058c0c31391ac2ae7a0f4601150","after":"b9432232f9c5a44adf53c52436295d7c25b2acc9","ref":"refs/heads/renovate/main-importlib-metadata-8.x","pushedAt":"2024-09-21T03:37:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency importlib-metadata to v8.5.0","shortMessageHtmlLink":"build(deps): update dependency importlib-metadata to v8.5.0"}},{"before":"e386ece0593043ee684ea3a853f1073f95206023","after":"acfc255ea43e208c8d4e6bee70d8d7ab0ca64f57","ref":"refs/heads/renovate/main-idna-3.x","pushedAt":"2024-09-21T03:37:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency idna to v3.10","shortMessageHtmlLink":"build(deps): update dependency idna to v3.10"}},{"before":"73740bbdd526f0dcb9a2f244e33e9278ddf80dbb","after":"222058aa0dc1c4b8e42128242dcb5bf73d59e139","ref":"refs/heads/renovate/main-certifi-2024.x","pushedAt":"2024-09-21T03:37:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency certifi to v2024.8.30","shortMessageHtmlLink":"build(deps): update dependency certifi to v2024.8.30"}},{"before":"1bb8d2604cced8febdecf974f489b545bab373e5","after":"df15759630afd02ed1b8f6da383c5d27082160bf","ref":"refs/heads/renovate/main-major-github-actions","pushedAt":"2024-09-21T03:37:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update actions/cache action to v4","shortMessageHtmlLink":"build(deps): update actions/cache action to v4"}},{"before":"9df8ff7b0c62e4d844732894faa4eaf8ab6562cb","after":"83a249b6281984a76cf092b582c57a8f7029e2b6","ref":"refs/heads/renovate/main-bugfixes","pushedAt":"2024-09-21T03:36:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency craft-grammar to v2.0.1","shortMessageHtmlLink":"build(deps): update dependency craft-grammar to v2.0.1"}},{"before":"b6fbbe930e2c78dc754c0d5880478c05d9b5e58e","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-1883-f7a8be3d8e9ce79c661481ebf35b00d39ef040a2","pushedAt":"2024-09-21T03:36:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"f7a8be3d8e9ce79c661481ebf35b00d39ef040a2","after":"b6fbbe930e2c78dc754c0d5880478c05d9b5e58e","ref":"refs/heads/main","pushedAt":"2024-09-21T03:36:21.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"feat: validate ops.main() call for operator framework charms (#1883)\n\nJira: https://warthogs.atlassian.net/browse/CHARMTECH-223\nParent: https://warthogs.atlassian.net/browse/CHARMTECH-219\n\nThe idea is to validate that the charm initialises the operator\nframework correctly:\n- charmcraft analyse would validate the presence of the `ops.main(...)`\ncall with this PR\n - any conceivable import style is supported\n- ops library type hints are improved\nhttps://github.com/canonical/operator/pull/1345\n - charmers will no longer need to slap `# type: ignore` on the call\n- we'll be relying on charmers' static type analysis to ensure correct\narguments to `ops.main`\n\n---------\n\nCo-authored-by: Alex Lowe ","shortMessageHtmlLink":"feat: validate ops.main() call for operator framework charms (#1883)"}},{"before":null,"after":"b6fbbe930e2c78dc754c0d5880478c05d9b5e58e","ref":"refs/heads/gh-readonly-queue/main/pr-1883-f7a8be3d8e9ce79c661481ebf35b00d39ef040a2","pushedAt":"2024-09-21T02:29:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"feat: validate ops.main() call for operator framework charms (#1883)\n\nJira: https://warthogs.atlassian.net/browse/CHARMTECH-223\nParent: https://warthogs.atlassian.net/browse/CHARMTECH-219\n\nThe idea is to validate that the charm initialises the operator\nframework correctly:\n- charmcraft analyse would validate the presence of the `ops.main(...)`\ncall with this PR\n - any conceivable import style is supported\n- ops library type hints are improved\nhttps://github.com/canonical/operator/pull/1345\n - charmers will no longer need to slap `# type: ignore` on the call\n- we'll be relying on charmers' static type analysis to ensure correct\narguments to `ops.main`\n\n---------\n\nCo-authored-by: Alex Lowe ","shortMessageHtmlLink":"feat: validate ops.main() call for operator framework charms (#1883)"}},{"before":"64c14471d1c305b8b12e52fcb27a757b7cf4884c","after":"d84ea3a7a8a12f4f9d15e5d2a58ede94e5196177","ref":"refs/heads/renovate/main-keyring-25.x","pushedAt":"2024-09-21T00:51:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency keyring to v25","shortMessageHtmlLink":"build(deps): update dependency keyring to v25"}},{"before":"9ac4f39c382384f7ad7d4af5a49fd1c354d32180","after":"c9ce1517d00a4b6e74193cb7f53b1837ba60e705","ref":"refs/heads/renovate/main-pytz-2024.x","pushedAt":"2024-09-21T00:51:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency pytz to v2024.2","shortMessageHtmlLink":"build(deps): update dependency pytz to v2024.2"}},{"before":"7b18888cf85cc7c1dc7c6b9c44666811c2a3b5c1","after":"d4a3848b8dd38058c0c31391ac2ae7a0f4601150","ref":"refs/heads/renovate/main-importlib-metadata-8.x","pushedAt":"2024-09-21T00:51:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency importlib-metadata to v8.5.0","shortMessageHtmlLink":"build(deps): update dependency importlib-metadata to v8.5.0"}},{"before":"018f5757f504f0d4963b9140c345c68e3055f9dc","after":"e386ece0593043ee684ea3a853f1073f95206023","ref":"refs/heads/renovate/main-idna-3.x","pushedAt":"2024-09-21T00:51:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency idna to v3.10","shortMessageHtmlLink":"build(deps): update dependency idna to v3.10"}},{"before":"459d72bba936037b072b8453a24a024fd3fde5d7","after":"73740bbdd526f0dcb9a2f244e33e9278ddf80dbb","ref":"refs/heads/renovate/main-certifi-2024.x","pushedAt":"2024-09-21T00:51:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency certifi to v2024.8.30","shortMessageHtmlLink":"build(deps): update dependency certifi to v2024.8.30"}},{"before":"8d3d80fe66adb64061c7731aca1d6944e4270bdc","after":"1bb8d2604cced8febdecf974f489b545bab373e5","ref":"refs/heads/renovate/main-major-github-actions","pushedAt":"2024-09-21T00:51:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update actions/cache action to v4","shortMessageHtmlLink":"build(deps): update actions/cache action to v4"}},{"before":null,"after":"9df8ff7b0c62e4d844732894faa4eaf8ab6562cb","ref":"refs/heads/renovate/main-bugfixes","pushedAt":"2024-09-21T00:51:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update dependency craft-grammar to v2.0.1","shortMessageHtmlLink":"build(deps): update dependency craft-grammar to v2.0.1"}},{"before":"a7cbed15a3fb31d44b0b27c111d1290219a75f1f","after":"84eb13d2f23b0cd6be5804c1e8e45e9f11aae3b2","ref":"refs/heads/tiobe","pushedAt":"2024-09-19T20:48:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lengau","name":"Alex Lowe","path":"/lengau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4305943?s=80&v=4"},"commit":{"message":"ci: fix tics tests","shortMessageHtmlLink":"ci: fix tics tests"}},{"before":"a7cbed15a3fb31d44b0b27c111d1290219a75f1f","after":null,"ref":"refs/heads/ci/tics","pushedAt":"2024-09-19T20:15:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"lengau","name":"Alex Lowe","path":"/lengau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4305943?s=80&v=4"}},{"before":null,"after":"a7cbed15a3fb31d44b0b27c111d1290219a75f1f","ref":"refs/heads/tiobe","pushedAt":"2024-09-19T20:15:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"lengau","name":"Alex Lowe","path":"/lengau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4305943?s=80&v=4"},"commit":{"message":"ci: fix tics tests","shortMessageHtmlLink":"ci: fix tics tests"}},{"before":null,"after":"a7cbed15a3fb31d44b0b27c111d1290219a75f1f","ref":"refs/heads/ci/tics","pushedAt":"2024-09-19T20:14:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"lengau","name":"Alex Lowe","path":"/lengau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4305943?s=80&v=4"},"commit":{"message":"ci: fix tics tests","shortMessageHtmlLink":"ci: fix tics tests"}},{"before":"f1bcf2e43bd20d787d5c22e71623ae750d88cece","after":null,"ref":"refs/heads/renovate/main-bugfixes","pushedAt":"2024-09-19T14:56:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"lengau","name":"Alex Lowe","path":"/lengau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4305943?s=80&v=4"}},{"before":"f7a8be3d8e9ce79c661481ebf35b00d39ef040a2","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-1909-c11748f4680fe02b5631c60462a2695cb5834ccd","pushedAt":"2024-09-19T14:56:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"c11748f4680fe02b5631c60462a2695cb5834ccd","after":"f7a8be3d8e9ce79c661481ebf35b00d39ef040a2","ref":"refs/heads/main","pushedAt":"2024-09-19T14:56:47.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"build(deps): update bugfixes (main) (#1909)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [cffi](http://cffi.readthedocs.org)\n([source](https://redirect.github.com/python-cffi/cffi),\n[changelog](https://cffi.readthedocs.io/en/latest/whatsnew.html)) |\n`==1.17.0` -> `==1.17.1` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/cffi/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/cffi/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/cffi/1.17.0/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/cffi/1.17.0/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| [craft-parts](https://redirect.github.com/canonical/craft-parts) |\n`==2.1.0` -> `==2.1.1` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/craft-parts/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/craft-parts/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/craft-parts/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/craft-parts/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| craft-providers | `==2.0.0` -> `==2.0.1` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/craft-providers/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/craft-providers/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/craft-providers/2.0.0/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/craft-providers/2.0.0/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| [hypothesis](https://hypothesis.works)\n([source](https://redirect.github.com/HypothesisWorks/hypothesis/tree/HEAD/hypothesis-python),\n[changelog](https://hypothesis.readthedocs.io/en/latest/changes.html)) |\n`==6.112.0` -> `==6.112.1` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/hypothesis/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/hypothesis/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/hypothesis/6.112.0/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hypothesis/6.112.0/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| [pylint](https://redirect.github.com/pylint-dev/pylint)\n([changelog](https://pylint.readthedocs.io/en/latest/whatsnew/3/)) |\n`==3.2.6` -> `==3.2.7` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/pylint/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pylint/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pylint/3.2.6/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pylint/3.2.6/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| [pytest](https://redirect.github.com/pytest-dev/pytest)\n([changelog](https://docs.pytest.org/en/stable/changelog.html)) |\n`==8.3.2` -> `==8.3.3` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| [zipp](https://redirect.github.com/jaraco/zipp) | `==3.20.1` ->\n`==3.20.2` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/zipp/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/zipp/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/zipp/3.20.1/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/zipp/3.20.1/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n\n---\n\n### Release Notes\n\n
\npython-cffi/cffi (cffi)\n\n###\n[`v1.17.1`](https://redirect.github.com/python-cffi/cffi/releases/tag/v1.17.1)\n\n[Compare\nSource](https://redirect.github.com/python-cffi/cffi/compare/v1.17.0...v1.17.1)\n\n- Fix failing `distutils.msvc9compiler` imports under Windows\n([#​118](https://redirect.github.com/python-cffi/cffi/issues/118)).\n- `ffibuilder.emit_python_code()` and `ffibuiler.emit_c_code()` accept\nfile-like objects\n([#​115](https://redirect.github.com/python-cffi/cffi/issues/115)).\n- `ffiplatform` calls are bypassed by `ffibuilder.emit_python_code()`\nand `ffibuilder.emit_c_code()`\n([#​81](https://redirect.github.com/python-cffi/cffi/issues/81)).\n\n**Full Changelog**:\nhttps://github.com/python-cffi/cffi/compare/v1.17.0...v1.17.1\n\n
\n\n
\ncanonical/craft-parts (craft-parts)\n\n###\n[`v2.1.1`](https://redirect.github.com/canonical/craft-parts/releases/tag/2.1.1)\n\n[Compare\nSource](https://redirect.github.com/canonical/craft-parts/compare/2.1.0...2.1.1)\n\n##### What's Changed\n\n- minor format and cherry-picked fixes for 1.33.x by\n[@​tigarmo](https://redirect.github.com/tigarmo) in\n[https://github.com/canonical/craft-parts/pull/846](https://redirect.github.com/canonical/craft-parts/pull/846)\n- fix(plugins): ensure stateless npm plugin by\n[@​liushuyu](https://redirect.github.com/liushuyu) in\n[https://github.com/canonical/craft-parts/pull/845](https://redirect.github.com/canonical/craft-parts/pull/845)\n- Release 1.33.1 by\n[@​cmatsuoka](https://redirect.github.com/cmatsuoka) in\n[https://github.com/canonical/craft-parts/pull/847](https://redirect.github.com/canonical/craft-parts/pull/847)\n- chore(merge): 'merge-1.33.1' into 'main' by\n[@​tigarmo](https://redirect.github.com/tigarmo) in\n[https://github.com/canonical/craft-parts/pull/848](https://redirect.github.com/canonical/craft-parts/pull/848)\n- Prepare 2.1.1 release by\n[@​tigarmo](https://redirect.github.com/tigarmo) in\n[https://github.com/canonical/craft-parts/pull/849](https://redirect.github.com/canonical/craft-parts/pull/849)\n\n**Full Changelog**:\nhttps://github.com/canonical/craft-parts/compare/2.1.0...2.1.1\n\n
\n\n
\npylint-dev/pylint (pylint)\n\n###\n[`v3.2.7`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.2.7)\n\n[Compare\nSource](https://redirect.github.com/pylint-dev/pylint/compare/v3.2.6...v3.2.7)\n\n## What's new in Pylint 3.2.7?\n\nRelease date: 2024-08-31\n\n## False Positives Fixed\n\n- Fixed a false positive `unreachable` for `NoReturn` coroutine\nfunctions.\n\nCloses\n[#​9840](https://redirect.github.com/pylint-dev/pylint/issues/9840)\n\n## Other Bug Fixes\n\n- Fix crash in refactoring checker when calling a lambda bound as a\nmethod.\n\nCloses\n[#​9865](https://redirect.github.com/pylint-dev/pylint/issues/9865)\n\n- Fix a crash in `undefined-loop-variable` when providing the `iterable`\nargument to `enumerate()`.\n\nCloses\n[#​9875](https://redirect.github.com/pylint-dev/pylint/issues/9875)\n\n- Fix to address indeterminacy of error message in case a module name is\nsame as another in a separate namespace.\n\nRefs\n[#​9883](https://redirect.github.com/pylint-dev/pylint/issues/9883)\n\n
\n\n
\npytest-dev/pytest (pytest)\n\n###\n[`v8.3.3`](https://redirect.github.com/pytest-dev/pytest/releases/tag/8.3.3)\n\n[Compare\nSource](https://redirect.github.com/pytest-dev/pytest/compare/8.3.2...8.3.3)\n\n# pytest 8.3.3 (2024-09-09)\n\n## Bug fixes\n\n-\n[#​12446](https://redirect.github.com/pytest-dev/pytest/issues/12446):\nAvoid calling `@property` (and other instance descriptors) during\nfixture discovery -- by `asottile`{.interpreted-text role=\"user\"}\n\n-\n[#​12659](https://redirect.github.com/pytest-dev/pytest/issues/12659):\nFixed the issue of not displaying assertion failure differences when\nusing the parameter `--import-mode=importlib` in pytest>=8.1.\n\n-\n[#​12667](https://redirect.github.com/pytest-dev/pytest/issues/12667):\nFixed a regression where type change in\n\\[ExceptionInfo.errisinstance]{.title-ref} caused \\[mypy]{.title-ref} to\nfail.\n\n-\n[#​12744](https://redirect.github.com/pytest-dev/pytest/issues/12744):\nFixed typing compatibility with Python 3.9 or less -- replaced\n\\[typing.Self]{.title-ref} with \\[typing_extensions.Self]{.title-ref} --\nby `Avasam`{.interpreted-text role=\"user\"}\n\n-\n[#​12745](https://redirect.github.com/pytest-dev/pytest/issues/12745):\nFixed an issue with backslashes being incorrectly converted in nodeid\npaths on Windows, ensuring consistent path handling across environments.\n\n-\n[#​6682](https://redirect.github.com/pytest-dev/pytest/issues/6682):\nFixed bug where the verbosity levels where not being respected when\nprinting the \"msg\" part of failed assertion (as in `assert condition,\nmsg`).\n\n-\n[#​9422](https://redirect.github.com/pytest-dev/pytest/issues/9422):\nFix bug where disabling the terminal plugin via `-p no:terminal` would\ncause crashes related to missing the `verbose` option.\n\n \\-- by `GTowers1`{.interpreted-text role=\"user\"}\n\n## Improved documentation\n\n-\n[#​12663](https://redirect.github.com/pytest-dev/pytest/issues/12663):\nClarify that the \\[pytest_deselected]{.title-ref} hook should be called\nfrom \\[pytest_collection_modifyitems]{.title-ref} hook implementations\nwhen items are deselected.\n-\n[#​12678](https://redirect.github.com/pytest-dev/pytest/issues/12678):\nRemove erroneous quotes from \\[tmp_path_retention_policy]{.title-ref}\nexample in docs.\n\n## Miscellaneous internal changes\n\n-\n[#​12769](https://redirect.github.com/pytest-dev/pytest/issues/12769):\nFix typos discovered by codespell and add codespell to pre-commit hooks.\n\n
\n\n
\njaraco/zipp (zipp)\n\n###\n[`v3.20.2`](https://redirect.github.com/jaraco/zipp/compare/v3.20.1...v3.20.2)\n\n[Compare\nSource](https://redirect.github.com/jaraco/zipp/compare/v3.20.1...v3.20.2)\n\n
\n\n---\n\n### Configuration\n\n📅 **Schedule**: Branch creation - \"every weekend\" in timezone Etc/UTC,\nAutomerge - At any time (no schedule defined).\n\n🚦 **Automerge**: Enabled.\n\n♻ **Rebasing**: Whenever PR is behind base branch, or you tick the\nrebase/retry checkbox.\n\n👻 **Immortal**: This PR will be recreated if closed unmerged. Get\n[config\nhelp](https://redirect.github.com/renovatebot/renovate/discussions) if\nthat's undesired.\n\n---\n\n- [ ] If you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).\nView the [repository job\nlog](https://developer.mend.io/github/canonical/charmcraft).\n\n\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>","shortMessageHtmlLink":"build(deps): update bugfixes (main) (#1909)"}},{"before":"a7ab9ac91e6e1150e5a342a4160eebf465bb18d8","after":"62f8a057c1b97b70dfcefd19c79682fadf877a86","ref":"refs/heads/work/freeze-with-uv","pushedAt":"2024-09-19T14:09:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lengau","name":"Alex Lowe","path":"/lengau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4305943?s=80&v=4"},"commit":{"message":"fix: install ruff with uv tool","shortMessageHtmlLink":"fix: install ruff with uv tool"}},{"before":null,"after":"f7a8be3d8e9ce79c661481ebf35b00d39ef040a2","ref":"refs/heads/gh-readonly-queue/main/pr-1909-c11748f4680fe02b5631c60462a2695cb5834ccd","pushedAt":"2024-09-19T13:48:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"build(deps): update bugfixes (main) (#1909)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [cffi](http://cffi.readthedocs.org)\n([source](https://redirect.github.com/python-cffi/cffi),\n[changelog](https://cffi.readthedocs.io/en/latest/whatsnew.html)) |\n`==1.17.0` -> `==1.17.1` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/cffi/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/cffi/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/cffi/1.17.0/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/cffi/1.17.0/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| [craft-parts](https://redirect.github.com/canonical/craft-parts) |\n`==2.1.0` -> `==2.1.1` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/craft-parts/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/craft-parts/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/craft-parts/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/craft-parts/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| craft-providers | `==2.0.0` -> `==2.0.1` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/craft-providers/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/craft-providers/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/craft-providers/2.0.0/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/craft-providers/2.0.0/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| [hypothesis](https://hypothesis.works)\n([source](https://redirect.github.com/HypothesisWorks/hypothesis/tree/HEAD/hypothesis-python),\n[changelog](https://hypothesis.readthedocs.io/en/latest/changes.html)) |\n`==6.112.0` -> `==6.112.1` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/hypothesis/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/hypothesis/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/hypothesis/6.112.0/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hypothesis/6.112.0/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| [pylint](https://redirect.github.com/pylint-dev/pylint)\n([changelog](https://pylint.readthedocs.io/en/latest/whatsnew/3/)) |\n`==3.2.6` -> `==3.2.7` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/pylint/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pylint/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pylint/3.2.6/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pylint/3.2.6/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| [pytest](https://redirect.github.com/pytest-dev/pytest)\n([changelog](https://docs.pytest.org/en/stable/changelog.html)) |\n`==8.3.2` -> `==8.3.3` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n| [zipp](https://redirect.github.com/jaraco/zipp) | `==3.20.1` ->\n`==3.20.2` |\n[![age](https://developer.mend.io/api/mc/badges/age/pypi/zipp/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/zipp/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/zipp/3.20.1/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/zipp/3.20.1/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n\n---\n\n### Release Notes\n\n
\npython-cffi/cffi (cffi)\n\n###\n[`v1.17.1`](https://redirect.github.com/python-cffi/cffi/releases/tag/v1.17.1)\n\n[Compare\nSource](https://redirect.github.com/python-cffi/cffi/compare/v1.17.0...v1.17.1)\n\n- Fix failing `distutils.msvc9compiler` imports under Windows\n([#​118](https://redirect.github.com/python-cffi/cffi/issues/118)).\n- `ffibuilder.emit_python_code()` and `ffibuiler.emit_c_code()` accept\nfile-like objects\n([#​115](https://redirect.github.com/python-cffi/cffi/issues/115)).\n- `ffiplatform` calls are bypassed by `ffibuilder.emit_python_code()`\nand `ffibuilder.emit_c_code()`\n([#​81](https://redirect.github.com/python-cffi/cffi/issues/81)).\n\n**Full Changelog**:\nhttps://github.com/python-cffi/cffi/compare/v1.17.0...v1.17.1\n\n
\n\n
\ncanonical/craft-parts (craft-parts)\n\n###\n[`v2.1.1`](https://redirect.github.com/canonical/craft-parts/releases/tag/2.1.1)\n\n[Compare\nSource](https://redirect.github.com/canonical/craft-parts/compare/2.1.0...2.1.1)\n\n##### What's Changed\n\n- minor format and cherry-picked fixes for 1.33.x by\n[@​tigarmo](https://redirect.github.com/tigarmo) in\n[https://github.com/canonical/craft-parts/pull/846](https://redirect.github.com/canonical/craft-parts/pull/846)\n- fix(plugins): ensure stateless npm plugin by\n[@​liushuyu](https://redirect.github.com/liushuyu) in\n[https://github.com/canonical/craft-parts/pull/845](https://redirect.github.com/canonical/craft-parts/pull/845)\n- Release 1.33.1 by\n[@​cmatsuoka](https://redirect.github.com/cmatsuoka) in\n[https://github.com/canonical/craft-parts/pull/847](https://redirect.github.com/canonical/craft-parts/pull/847)\n- chore(merge): 'merge-1.33.1' into 'main' by\n[@​tigarmo](https://redirect.github.com/tigarmo) in\n[https://github.com/canonical/craft-parts/pull/848](https://redirect.github.com/canonical/craft-parts/pull/848)\n- Prepare 2.1.1 release by\n[@​tigarmo](https://redirect.github.com/tigarmo) in\n[https://github.com/canonical/craft-parts/pull/849](https://redirect.github.com/canonical/craft-parts/pull/849)\n\n**Full Changelog**:\nhttps://github.com/canonical/craft-parts/compare/2.1.0...2.1.1\n\n
\n\n
\npylint-dev/pylint (pylint)\n\n###\n[`v3.2.7`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.2.7)\n\n[Compare\nSource](https://redirect.github.com/pylint-dev/pylint/compare/v3.2.6...v3.2.7)\n\n## What's new in Pylint 3.2.7?\n\nRelease date: 2024-08-31\n\n## False Positives Fixed\n\n- Fixed a false positive `unreachable` for `NoReturn` coroutine\nfunctions.\n\nCloses\n[#​9840](https://redirect.github.com/pylint-dev/pylint/issues/9840)\n\n## Other Bug Fixes\n\n- Fix crash in refactoring checker when calling a lambda bound as a\nmethod.\n\nCloses\n[#​9865](https://redirect.github.com/pylint-dev/pylint/issues/9865)\n\n- Fix a crash in `undefined-loop-variable` when providing the `iterable`\nargument to `enumerate()`.\n\nCloses\n[#​9875](https://redirect.github.com/pylint-dev/pylint/issues/9875)\n\n- Fix to address indeterminacy of error message in case a module name is\nsame as another in a separate namespace.\n\nRefs\n[#​9883](https://redirect.github.com/pylint-dev/pylint/issues/9883)\n\n
\n\n
\npytest-dev/pytest (pytest)\n\n###\n[`v8.3.3`](https://redirect.github.com/pytest-dev/pytest/releases/tag/8.3.3)\n\n[Compare\nSource](https://redirect.github.com/pytest-dev/pytest/compare/8.3.2...8.3.3)\n\n# pytest 8.3.3 (2024-09-09)\n\n## Bug fixes\n\n-\n[#​12446](https://redirect.github.com/pytest-dev/pytest/issues/12446):\nAvoid calling `@property` (and other instance descriptors) during\nfixture discovery -- by `asottile`{.interpreted-text role=\"user\"}\n\n-\n[#​12659](https://redirect.github.com/pytest-dev/pytest/issues/12659):\nFixed the issue of not displaying assertion failure differences when\nusing the parameter `--import-mode=importlib` in pytest>=8.1.\n\n-\n[#​12667](https://redirect.github.com/pytest-dev/pytest/issues/12667):\nFixed a regression where type change in\n\\[ExceptionInfo.errisinstance]{.title-ref} caused \\[mypy]{.title-ref} to\nfail.\n\n-\n[#​12744](https://redirect.github.com/pytest-dev/pytest/issues/12744):\nFixed typing compatibility with Python 3.9 or less -- replaced\n\\[typing.Self]{.title-ref} with \\[typing_extensions.Self]{.title-ref} --\nby `Avasam`{.interpreted-text role=\"user\"}\n\n-\n[#​12745](https://redirect.github.com/pytest-dev/pytest/issues/12745):\nFixed an issue with backslashes being incorrectly converted in nodeid\npaths on Windows, ensuring consistent path handling across environments.\n\n-\n[#​6682](https://redirect.github.com/pytest-dev/pytest/issues/6682):\nFixed bug where the verbosity levels where not being respected when\nprinting the \"msg\" part of failed assertion (as in `assert condition,\nmsg`).\n\n-\n[#​9422](https://redirect.github.com/pytest-dev/pytest/issues/9422):\nFix bug where disabling the terminal plugin via `-p no:terminal` would\ncause crashes related to missing the `verbose` option.\n\n \\-- by `GTowers1`{.interpreted-text role=\"user\"}\n\n## Improved documentation\n\n-\n[#​12663](https://redirect.github.com/pytest-dev/pytest/issues/12663):\nClarify that the \\[pytest_deselected]{.title-ref} hook should be called\nfrom \\[pytest_collection_modifyitems]{.title-ref} hook implementations\nwhen items are deselected.\n-\n[#​12678](https://redirect.github.com/pytest-dev/pytest/issues/12678):\nRemove erroneous quotes from \\[tmp_path_retention_policy]{.title-ref}\nexample in docs.\n\n## Miscellaneous internal changes\n\n-\n[#​12769](https://redirect.github.com/pytest-dev/pytest/issues/12769):\nFix typos discovered by codespell and add codespell to pre-commit hooks.\n\n
\n\n
\njaraco/zipp (zipp)\n\n###\n[`v3.20.2`](https://redirect.github.com/jaraco/zipp/compare/v3.20.1...v3.20.2)\n\n[Compare\nSource](https://redirect.github.com/jaraco/zipp/compare/v3.20.1...v3.20.2)\n\n
\n\n---\n\n### Configuration\n\n📅 **Schedule**: Branch creation - \"every weekend\" in timezone Etc/UTC,\nAutomerge - At any time (no schedule defined).\n\n🚦 **Automerge**: Enabled.\n\n♻ **Rebasing**: Whenever PR is behind base branch, or you tick the\nrebase/retry checkbox.\n\n👻 **Immortal**: This PR will be recreated if closed unmerged. Get\n[config\nhelp](https://redirect.github.com/renovatebot/renovate/discussions) if\nthat's undesired.\n\n---\n\n- [ ] If you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).\nView the [repository job\nlog](https://developer.mend.io/github/canonical/charmcraft).\n\n\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>","shortMessageHtmlLink":"build(deps): update bugfixes (main) (#1909)"}},{"before":"b8daf3c2287ddd3d2a6da1b73fac953b332e27ef","after":"f1bcf2e43bd20d787d5c22e71623ae750d88cece","ref":"refs/heads/renovate/main-bugfixes","pushedAt":"2024-09-18T14:23:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): update bugfixes","shortMessageHtmlLink":"build(deps): update bugfixes"}},{"before":"c11748f4680fe02b5631c60462a2695cb5834ccd","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-1905-d590c4292d1dee51904f0a987cda9288aaacb8ae","pushedAt":"2024-09-18T14:23:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMlQxOToyODowNC4wMDAwMDBazwAAAAS9VWaw","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMlQxOToyODowNC4wMDAwMDBazwAAAAS9VWaw","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOFQxNDoyMzowNC4wMDAwMDBazwAAAAS5yeND"}},"title":"Activity · canonical/charmcraft"}