{"id":77743,"name":"flake8-pyproject","ecosystem":"pip","repository_url":"https://github.com/john-hen/Flake8-pyproject","issues_count":26,"created_at":"2025-12-01T05:00:48.453Z","updated_at":"2025-12-01T05:00:48.453Z","purl":"pkg:pypi/flake8-pyproject","metadata":{"id":2735148,"name":"flake8-pyproject","ecosystem":"pypi","description":"Flake8 plug-in loading the configuration from pyproject.toml","homepage":null,"licenses":"MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/john-hen/Flake8-pyproject","keywords_array":["Flake8","pyproject.toml"],"namespace":null,"versions_count":11,"first_release_published_at":"2022-02-25T18:01:37.000Z","latest_release_published_at":"2025-11-28T21:40:01.000Z","latest_release_number":"1.2.4","last_synced_at":"2025-11-28T22:03:18.010Z","created_at":"2022-04-10T11:00:39.933Z","updated_at":"2025-11-28T22:22:09.173Z","registry_url":"https://pypi.org/project/flake8-pyproject/","install_command":"pip install flake8-pyproject --index-url https://pypi.org/simple","documentation_url":"https://flake8-pyproject.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Environment :: Console","Framework :: Flake8","Intended Audience :: Developers","License :: OSI Approved :: MIT License","Programming Language :: Python","Topic :: Software Development :: Quality Assurance"],"normalized_name":"flake8-pyproject","project_status":null},"repo_metadata":{"id":42197855,"uuid":"463584448","full_name":"john-hen/Flake8-pyproject","owner":"john-hen","description":"Flake8 plug-in loading the configuration from pyproject.toml","archived":false,"fork":false,"pushed_at":"2025-09-10T12:40:53.000Z","size":53,"stargazers_count":234,"open_issues_count":1,"forks_count":11,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-09-17T10:54:39.174Z","etag":null,"topics":["flake8","flake8-plugin","flake8-plugins","pyproject","pyproject-toml"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/Flake8-pyproject","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/john-hen.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-02-25T15:33:46.000Z","updated_at":"2025-09-10T12:40:50.000Z","dependencies_parsed_at":"2024-01-06T09:59:44.894Z","dependency_job_id":"f6d74717-3dd7-4eff-b9e1-5b6c89adbc1d","html_url":"https://github.com/john-hen/Flake8-pyproject","commit_stats":{"total_commits":57,"total_committers":6,"mean_commits":9.5,"dds":0.1228070175438597,"last_synced_commit":"d4064f6703b113590e175817f2fe2cbb466ffdc1"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/john-hen/Flake8-pyproject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/john-hen","download_url":"https://codeload.github.com/john-hen/Flake8-pyproject/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/sbom","scorecard":{"id":528100,"data":{"date":"2025-08-11","repo":{"name":"github.com/john-hen/Flake8-pyproject","commit":"698c03c8392d95217dffcd5709ebad23c97e8528"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":2,"reason":"Found 6/25 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/commit.yml:1","Warn: no topLevel permission defined: .github/workflows/coverage.yml:1","Warn: no topLevel permission defined: .github/workflows/scheduled.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/commit.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/john-hen/Flake8-pyproject/commit.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/commit.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/john-hen/Flake8-pyproject/commit.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/commit.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/john-hen/Flake8-pyproject/commit.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/commit.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/john-hen/Flake8-pyproject/commit.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/coverage.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/john-hen/Flake8-pyproject/coverage.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/coverage.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/john-hen/Flake8-pyproject/coverage.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/coverage.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/john-hen/Flake8-pyproject/coverage.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scheduled.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/john-hen/Flake8-pyproject/scheduled.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scheduled.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/john-hen/Flake8-pyproject/scheduled.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/commit.yml:28","Warn: pipCommand not pinned by hash: .github/workflows/commit.yml:54","Warn: pipCommand not pinned by hash: .github/workflows/coverage.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/scheduled.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/scheduled.yml:29","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: license.txt:0","Info: FSF or OSI recognized license: MIT License: license.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 11 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-20T04:58:25.603Z","repository_id":42197855,"created_at":"2025-08-20T04:58:25.603Z","updated_at":"2025-08-20T04:58:25.603Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280110664,"owners_count":26273803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-20T02:00:06.978Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"tags":[{"name":"1.2.3","sha":"30b8444781d16edd54c11df08210a7c8fb79258d","kind":"commit","published_at":"2023-03-21T20:11:08.000Z","download_url":"https://codeload.github.com/john-hen/Flake8-pyproject/tar.gz/1.2.3","html_url":"https://github.com/john-hen/Flake8-pyproject/releases/tag/1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/john-hen/Flake8-pyproject@1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.2.3/manifests"},{"name":"1.2.2","sha":"bdca7e151e734b06a547fda002d882d3dcbffdab","kind":"commit","published_at":"2022-12-04T11:52:17.000Z","download_url":"https://codeload.github.com/john-hen/Flake8-pyproject/tar.gz/1.2.2","html_url":"https://github.com/john-hen/Flake8-pyproject/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/john-hen/Flake8-pyproject@1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.2.2/manifests"},{"name":"1.2.1","sha":"941d60ecf2ebcdc957c8da5c94052f9f2c3f2266","kind":"commit","published_at":"2022-11-25T18:39:06.000Z","download_url":"https://codeload.github.com/john-hen/Flake8-pyproject/tar.gz/1.2.1","html_url":"https://github.com/john-hen/Flake8-pyproject/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/john-hen/Flake8-pyproject@1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.2.1/manifests"},{"name":"1.2.0","sha":"c93bedd5a66327992a2444080e304f9cd23dcece","kind":"commit","published_at":"2022-11-17T16:52:00.000Z","download_url":"https://codeload.github.com/john-hen/Flake8-pyproject/tar.gz/1.2.0","html_url":"https://github.com/john-hen/Flake8-pyproject/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/john-hen/Flake8-pyproject@1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.2.0/manifests"},{"name":"1.1.0.post0","sha":"b9c9f1d7e652face0c25e0b39695b2d4d43ec24f","kind":"commit","published_at":"2022-08-13T07:27:16.000Z","download_url":"https://codeload.github.com/john-hen/Flake8-pyproject/tar.gz/1.1.0.post0","html_url":"https://github.com/john-hen/Flake8-pyproject/releases/tag/1.1.0.post0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/john-hen/Flake8-pyproject@1.1.0.post0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.1.0.post0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.1.0.post0/manifests"},{"name":"1.1.0","sha":"b2c6c15febf000df5226c01713b766206ddb5f35","kind":"commit","published_at":"2022-08-11T17:45:32.000Z","download_url":"https://codeload.github.com/john-hen/Flake8-pyproject/tar.gz/1.1.0","html_url":"https://github.com/john-hen/Flake8-pyproject/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/john-hen/Flake8-pyproject@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.1.0/manifests"},{"name":"1.0.1","sha":"b9e7aa13d9dcc5be48c5a5c2e4f572e35696727a","kind":"commit","published_at":"2022-08-06T16:53:40.000Z","download_url":"https://codeload.github.com/john-hen/Flake8-pyproject/tar.gz/1.0.1","html_url":"https://github.com/john-hen/Flake8-pyproject/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/john-hen/Flake8-pyproject@1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"1da4649dfc59acc65fb0cee8067d9124c0f9a123","kind":"commit","published_at":"2022-08-01T10:28:07.000Z","download_url":"https://codeload.github.com/john-hen/Flake8-pyproject/tar.gz/1.0.0","html_url":"https://github.com/john-hen/Flake8-pyproject/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/john-hen/Flake8-pyproject@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/1.0.0/manifests"},{"name":"0.9.1","sha":"072b444baa57a1a56bf6fb0f91ea126a5187d20e","kind":"commit","published_at":"2022-08-01T07:37:31.000Z","download_url":"https://codeload.github.com/john-hen/Flake8-pyproject/tar.gz/0.9.1","html_url":"https://github.com/john-hen/Flake8-pyproject/releases/tag/0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/john-hen/Flake8-pyproject@0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/0.9.1/manifests"},{"name":"0.9.0","sha":"66e969c6066f4589f1f7431b31a95a87f871d12a","kind":"commit","published_at":"2022-02-25T18:00:07.000Z","download_url":"https://codeload.github.com/john-hen/Flake8-pyproject/tar.gz/0.9.0","html_url":"https://github.com/john-hen/Flake8-pyproject/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/john-hen/Flake8-pyproject@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/tags/0.9.0/manifests"}]},"repo_metadata_updated_at":"2025-11-28T22:22:09.153Z","dependent_packages_count":305,"downloads":1420645,"downloads_period":"last-month","dependent_repos_count":446,"rankings":{"downloads":0.5616703787464539,"dependent_repos_count":0.6775101312151933,"dependent_packages_count":0.09164296206819685,"stargazers_count":5.106344055080523,"forks_count":11.925144184327301,"docker_downloads_count":2.7176615612074007,"average":3.5133288787741783},"purl":"pkg:pypi/flake8-pyproject","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/flake8-pyproject","docker_dependents_count":38,"docker_downloads_count":187820,"usage_url":"https://repos.ecosyste.ms/usage/pypi/flake8-pyproject","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/flake8-pyproject/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-03T17:01:41.193Z","issues_count":15,"pull_requests_count":20,"avg_time_to_close_issue":2692591.0714285714,"avg_time_to_close_pull_request":419798.13333333336,"issues_closed_count":14,"pull_requests_closed_count":15,"pull_request_authors_count":11,"issue_authors_count":15,"avg_comments_per_issue":4.2,"avg_comments_per_pull_request":1.25,"merged_pull_requests_count":13,"bot_issues_count":0,"bot_pull_requests_count":5,"past_year_issues_count":1,"past_year_pull_requests_count":12,"past_year_avg_time_to_close_issue":6754.0,"past_year_avg_time_to_close_pull_request":202238.2857142857,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":7,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.8333333333333334,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":5,"past_year_merged_pull_requests_count":6,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hen%2FFlake8-pyproject/issues","maintainers":[{"login":"john-hen","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/john-hen"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/flake8-pyproject/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/flake8-pyproject/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/flake8-pyproject/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/flake8-pyproject/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/flake8-pyproject/codemeta","maintainers":[{"uuid":"jhen","login":"jhen","name":null,"email":null,"url":null,"packages_count":5,"html_url":"https://pypi.org/user/jhen/","role":null,"created_at":"2022-12-29T06:02:19.780Z","updated_at":"2022-12-29T06:02:19.780Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/jhen/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":760416,"maintainers_count":323434,"namespaces_count":0,"keywords_count":249643,"github":"pypi","metadata":{"funded_packages_count":52240},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-12-03T05:39:30.460Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":21,"unique_repositories_count_past_30_days":0,"recent_issues":[{"uuid":"4151277285","node_id":"PR_kwDOHzcOR87OAMGj","number":385,"state":"open","title":"Bump the patch group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-27T10:13:34.000Z","updated_at":"2026-04-27T15:01:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"patch","update_count":3,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"mkdocs-literate-nav","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/oprypin/mkdocs-literate-nav"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.5","repository_url":"https://github.com/pylint-dev/pylint"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 3 updates in the / directory: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [mkdocs-literate-nav](https://github.com/oprypin/mkdocs-literate-nav) and [pylint](https://github.com/pylint-dev/pylint).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-literate-nav` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/releases\"\u003emkdocs-literate-nav's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eWarn when this plugin is being used from the mkdocs executable\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/oprypin/mkdocs-literate-nav/pull/39\"\u003eoprypin/mkdocs-literate-nav#39\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eApologies for the inconvenience. We are starting a community continuation of MkDocs under a new name \u003cstrong\u003eProperDocs\u003c/strong\u003e, and plugins are our main hope regarding how we can spread the word.\nSee \u003ca href=\"https://github.com/ProperDocs/properdocs/discussions/33\"\u003ehttps://github.com/ProperDocs/properdocs/discussions/33\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.2...v0.6.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/b91268c263f61e38a7e27f77ccf38ec287e0c0b5\"\u003e\u003ccode\u003eb91268c\u003c/code\u003e\u003c/a\u003e v0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/cee9ec49a1523036081378a39bda9fa014432526\"\u003e\u003ccode\u003ecee9ec4\u003c/code\u003e\u003c/a\u003e Exclude properdocs when testing minimal dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/ea523f5864f59fb7939f84cd4400df67280ad52c\"\u003e\u003ccode\u003eea523f5\u003c/code\u003e\u003c/a\u003e Warn when this plugin is being used from the mkdocs executable (\u003ca href=\"https://redirect.github.com/oprypin/mkdocs-literate-nav/issues/39\"\u003e#39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/258b15a15a3e25cedc816d0a5a971acfdb86541e\"\u003e\u003ccode\u003e258b15a\u003c/code\u003e\u003c/a\u003e Drop testing under Python 3.9 to fix CI\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/88e1ab7545a4af4aea15c305a154c164a95ab842\"\u003e\u003ccode\u003e88e1ab7\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.5, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10860\"\u003e#10860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/d96d489a1743d32b6bfa53fc0f69a4333209a146\"\u003e\u003ccode\u003ed96d489\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Relax isort version constraint to allow isort 8 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0b08ccb014c265700f244a885bdcbdfa3a03de46\"\u003e\u003ccode\u003e0b08ccb\u003c/code\u003e\u003c/a\u003e Fix dynamic color mapping for \u0026quot;fail-on\u0026quot; messages when using multiple reporter...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/154dba43276e8232a2e1cb8f90bfcc63886f3460\"\u003e\u003ccode\u003e154dba4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix FP for \u003ccode\u003einvalid-name\u003c/code\u003e with \u003ccode\u003etyping.Final\u003c/code\u003e on...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/7b73bfdedf275935b9c5b43a6aeda5cc648b4847\"\u003e\u003ccode\u003e7b73bfd\u003c/code\u003e\u003c/a\u003e Disable unspecified-encoding for py-version above Python 3.15 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10800\"\u003e#10800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/4cc98be8b7786dbc6692493fe9cedb8585af5518\"\u003e\u003ccode\u003e4cc98be\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix setting options for import order checker (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/f0d30a27b510d69f846e3aaa0054cf0a1412923c\"\u003e\u003ccode\u003ef0d30a2\u003c/code\u003e\u003c/a\u003e Sync astroid version with requirements file again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/38bdf024648724e6aea017e62d3b57cb44097ec3\"\u003e\u003ccode\u003e38bdf02\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix \u003ccode\u003elogging-unsupported-format\u003c/code\u003e when logging ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/f08c33ae3e691eed868e49c0d15270dc6e6a0d6c\"\u003e\u003ccode\u003ef08c33a\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Properly detect \u003ccode\u003eself.fail()\u003c/code\u003e as a terminating...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/frequenz-floss/frequenz-api-microgrid/pull/385","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-api-microgrid/issues/385","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/385/packages"},{"uuid":"3968222814","node_id":"PR_kwDOLYRIeM7FJib2","number":16,"state":"closed","title":"Bump the optional group with 15 updates","user":"dependabot[bot]","labels":["part:tooling"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-20T12:04:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-20T12:02:39.000Z","updated_at":"2026-02-20T12:04:44.000Z","time_to_close":123,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"optional","update_count":15,"packages":[{"name":"flake8","old_version":"7.0.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"pydoclint","old_version":"0.4.1","new_version":"0.8.3","repository_url":"https://github.com/jsh9/pydoclint"},{"name":"markdown","old_version":"3.6","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"mike","old_version":"2.1.1","new_version":"2.1.3","repository_url":"https://github.com/jimporter/mike"},{"name":"mkdocs-gen-files","old_version":"0.5.0","new_version":"0.6.0","repository_url":"https://github.com/oprypin/mkdocs-gen-files"},{"name":"mkdocs-literate-nav","old_version":"0.6.1","new_version":"0.6.2","repository_url":"https://github.com/oprypin/mkdocs-literate-nav"},{"name":"mkdocs-macros-plugin","old_version":"1.0.5","new_version":"1.5.0","repository_url":"https://github.com/fralau/mkdocs_macros_plugin"},{"name":"mkdocs-material","old_version":"9.5.25","new_version":"9.7.2","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"frequenz-repo-config","old_version":"0.9.2","new_version":"0.14.0"},{"name":"mypy","old_version":"1.10.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"types-markdown","old_version":"3.6.0.20240316","new_version":"3.10.2.20260211","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"frequenz-repo-config","old_version":"0.9.2","new_version":"0.14.0"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"async-solipsism","old_version":"0.6","new_version":"0.9","repository_url":"https://github.com/bmerry/async-solipsism"}],"path":null,"ecosystem":"pip"},"body":"Bumps the optional group with 15 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flake8](https://github.com/pycqa/flake8) | `7.0.0` | `7.3.0` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [pydoclint](https://github.com/jsh9/pydoclint) | `0.4.1` | `0.8.3` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.6` | `3.10.2` |\n| [mike](https://github.com/jimporter/mike) | `2.1.1` | `2.1.3` |\n| [mkdocs-gen-files](https://github.com/oprypin/mkdocs-gen-files) | `0.5.0` | `0.6.0` |\n| [mkdocs-literate-nav](https://github.com/oprypin/mkdocs-literate-nav) | `0.6.1` | `0.6.2` |\n| [mkdocs-macros-plugin](https://github.com/fralau/mkdocs_macros_plugin) | `1.0.5` | `1.5.0` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.5.25` | `9.7.2` |\n| [frequenz-repo-config[lib]](https://github.com/frequenz-floss/frequenz-repo-config-python) | `0.9.2` | `0.14.0` |\n| [mypy](https://github.com/python/mypy) | `1.10.0` | `1.19.1` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.6.0.20240316` | `3.10.2.20260211` |\n| [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python) | `0.9.2` | `0.14.0` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [async-solipsism](https://github.com/bmerry/async-solipsism) | `0.6` | `0.9` |\n\nUpdates `flake8` from 7.0.0 to 7.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/c48217e1fc006c2dddd14df54e83b67da15de5cd\"\u003e\u003ccode\u003ec48217e\u003c/code\u003e\u003c/a\u003e Release 7.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/f9e0f33281d5bb892cae2c674ac398439d99c732\"\u003e\u003ccode\u003ef9e0f33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1986\"\u003e#1986\u003c/a\u003e from PyCQA/document-f542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6bcdb628597fa2d03494965089ff87a492ffc1e9\"\u003e\u003ccode\u003e6bcdb62\u003c/code\u003e\u003c/a\u003e document F542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/70a15b8890d5bdf8c449ebb1b5259bd0140cc16b\"\u003e\u003ccode\u003e70a15b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1985\"\u003e#1985\u003c/a\u003e from PyCQA/upgrade-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/4941a3e32e54488698ecbc23993bfeb2a60c0fc5\"\u003e\u003ccode\u003e4941a3e\u003c/code\u003e\u003c/a\u003e upgrade pyflakes / pycodestyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/23e4005c5501999c29e1e3774de7ed18d1e4e22d\"\u003e\u003ccode\u003e23e4005\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1983\"\u003e#1983\u003c/a\u003e from PyCQA/py314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/019424b80d3d7d5d8a2a1638f5877080546e3f46\"\u003e\u003ccode\u003e019424b\u003c/code\u003e\u003c/a\u003e add support for t-strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6b6f3d5fefecc994a06f425c18c3cddc9b71e4a4\"\u003e\u003ccode\u003e6b6f3d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1980\"\u003e#1980\u003c/a\u003e from PyCQA/asottile-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/8dfa6695b4fb1e1401b357367a0a71037d29f6aa\"\u003e\u003ccode\u003e8dfa669\u003c/code\u003e\u003c/a\u003e add rtd sphinx config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/ce3411118382d9332feb2749c8f417d10bfa2584\"\u003e\u003ccode\u003ece34111\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1976\"\u003e#1976\u003c/a\u003e from PyCQA/document-f824\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pycqa/flake8/compare/7.0.0...7.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydoclint` from 0.4.1 to 0.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsh9/pydoclint/releases\"\u003epydoclint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix baseline renegeration bug by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/275\"\u003ejsh9/pydoclint#275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd config option to allow omitting stars in varargs by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/276\"\u003ejsh9/pydoclint#276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/277\"\u003ejsh9/pydoclint#277\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ability to partially match violation codes by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/272\"\u003ejsh9/pydoclint#272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how multiple \u003cstrong\u003einit\u003c/strong\u003e() are recognized by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/273\"\u003ejsh9/pydoclint#273\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange logic to detect docstring style mismatch by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/271\"\u003ejsh9/pydoclint#271\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd inline violation suppression for native mode by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/270\"\u003ejsh9/pydoclint#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh linters \u0026amp; formatters by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/269\"\u003ejsh9/pydoclint#269\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003e@property\u003c/code\u003e + \u003ccode\u003e@abstractmethod\u003c/code\u003e without a Returns: section by \u003ca href=\"https://github.com/barometz\"\u003e\u003ccode\u003e@​barometz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/261\"\u003ejsh9/pydoclint#261\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/barometz\"\u003e\u003ccode\u003e@​barometz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/261\"\u003ejsh9/pydoclint#261\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.4...0.7.5\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.4...0.7.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsh9/pydoclint/blob/main/CHANGELOG.md\"\u003epydoclint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.8.3] - 2025-11-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eA new config option \u003ccode\u003e--omit-stars-when-documenting-varargs\u003c/code\u003e (shortform:\n\u003ccode\u003e-oswdv\u003c/code\u003e) so docstrings may describe varargs without the leading \u003ccode\u003e*\u003c/code\u003e\ncharacters (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/268\"\u003ejsh9/pydoclint#268\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eA bug where \u003ccode\u003e--auto-regenerate-baseline\u003c/code\u003e removes entries of files that have\nnot yet been fixed (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/274\"\u003ejsh9/pydoclint#274\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.2] - 2025-11-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eAbility to partially match violation codes in inline \u003ccode\u003enoqa\u003c/code\u003e in the native\nmode (which \u003cem\u003eflake8\u003c/em\u003e already supports)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eA bug: when there are more than one \u003ccode\u003e__init__()\u003c/code\u003e in a class (overloaded),\nthe first \u003ccode\u003e__init__()\u003c/code\u003e is incorrectly recognized as the \u0026quot;right\u0026quot; one. (The\nlast \u003ccode\u003e__init__()\u003c/code\u003e should be considered the right one.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.1] - 2025-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged\n\u003cul\u003e\n\u003cli\u003eThe logic to detect docstring style mismatches, fixing a false positive\ncase where non-Sphinx style docstrings are detected as Sphinx style\n(because there are some rST keywords in them)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.0] - 2025-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eNew functionality: \u003cem\u003epydoclint\u003c/em\u003e native mode can parse \u0026quot;noqa\u0026quot; comments and\nthus users can suppress violations in the native mode.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.7.6] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged\n\u003cul\u003e\n\u003cli\u003eUpdated linter and auto-formatter configurations\u003c/li\u003e\n\u003cli\u003eMade a lot of changes to fix code style; some logic was also updated per\nthe suggestions of linters\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/98bb10c4e73a050e31471409df8edfaeb88befb8\"\u003e\u003ccode\u003e98bb10c\u003c/code\u003e\u003c/a\u003e Add config option to allow omitting stars in varargs (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/c37407d03df27b4c37b31e697fd474377c3c4efc\"\u003e\u003ccode\u003ec37407d\u003c/code\u003e\u003c/a\u003e Fix baseline renegeration bug (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/276\"\u003e#276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/3386cd2ad39784792a0d39d942dd4b26960c2a27\"\u003e\u003ccode\u003e3386cd2\u003c/code\u003e\u003c/a\u003e Fix baseline renegeration bug (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/8c1081806da276917ac686a12f0c435414955da0\"\u003e\u003ccode\u003e8c10818\u003c/code\u003e\u003c/a\u003e Fix how multiple \u003cstrong\u003einit\u003c/strong\u003e() are recognized (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/273\"\u003e#273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/51435e3714765f9d4b220c868ab185670f3bb14b\"\u003e\u003ccode\u003e51435e3\u003c/code\u003e\u003c/a\u003e Add ability to partially match violation codes (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/e361239034992fbceac83994e47a40a5e7ecf3ea\"\u003e\u003ccode\u003ee361239\u003c/code\u003e\u003c/a\u003e Change logic to detect docstring style mismatch (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/271\"\u003e#271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/bf4c4021dccf832777452e05e94f98a36c59636b\"\u003e\u003ccode\u003ebf4c402\u003c/code\u003e\u003c/a\u003e Add hyperlink\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/a7585273e2b3c8e84a1883d33a168519947c807f\"\u003e\u003ccode\u003ea758527\u003c/code\u003e\u003c/a\u003e Update --check-style-mismatch explanations in config_options.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/e8ffd8988fe57ce4dc8a0625c3281b24ca396240\"\u003e\u003ccode\u003ee8ffd89\u003c/code\u003e\u003c/a\u003e Add inline violation suppression for native mode (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/0a9ad0c159fe5ced98dbbcd3b850a8850ed009b7\"\u003e\u003ccode\u003e0a9ad0c\u003c/code\u003e\u003c/a\u003e Refresh linters \u0026amp; formatters (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.4.1...0.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.6 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.10.2] - 2026-02-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.1] - 2026-01-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.2] - 2025-06-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/e7a0efb3a7c36d6b8005403122705662bc17c904\"\u003e\u003ccode\u003ee7a0efb\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/630183336bda57c258becc3ed229105481876a7e\"\u003e\u003ccode\u003e6301833\u003c/code\u003e\u003c/a\u003e Document HTML sanitation policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/7f29f1a69d236f5bb11645c2fa03fcf701487c8c\"\u003e\u003ccode\u003e7f29f1a\u003c/code\u003e\u003c/a\u003e More reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c4386475a6b6daea43b7d7717add4271adc9a3c1\"\u003e\u003ccode\u003ec438647\u003c/code\u003e\u003c/a\u003e Fix regression of special comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/e5fa5b86e8ec380cbc520cfc637d72c779e5c601\"\u003e\u003ccode\u003ee5fa5b8\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f9253495f5d9919f2fdd5e147832b5fc21330f65\"\u003e\u003ccode\u003ef925349\u003c/code\u003e\u003c/a\u003e More HTML fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/9933a0a4699f3dea91f46528a2bf54863f531c08\"\u003e\u003ccode\u003e9933a0a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Allow reference links with backticks\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07dfa4eb43f7a2ab3181b4f842a960a03a6c1221\"\u003e\u003ccode\u003e07dfa4e\u003c/code\u003e\u003c/a\u003e Allow reference links with backticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/fb6b27a6ff90980b5bcb0cd51528a7c9dc3a93ca\"\u003e\u003ccode\u003efb6b27a\u003c/code\u003e\u003c/a\u003e Fix infinite loop when text contains multiple unclosed comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/89112c293f7b399ae8808f3a06306f46601e9684\"\u003e\u003ccode\u003e89112c2\u003c/code\u003e\u003c/a\u003e Make the docs build successfully with mkdocstrings-python 2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.6...3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mike` from 2.1.1 to 2.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jimporter/mike/releases\"\u003emike's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.3\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen deploying using a deploy prefix, only delete stale versions of the docs within that prefix\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove ambiguity of some Git commands so that file and branch names don't collide\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jimporter/mike/blob/master/CHANGES.md\"\u003emike's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.3 (2024-08-12)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen deploying using a deploy prefix, only delete stale versions of the docs\nwithin that prefix\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003ev2.1.2 (2024-06-23)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove ambiguity of some Git commands so that file and branch names don't\ncollide\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/c4e96085f86e6930e9669e12d81941eff7c3de1d\"\u003e\u003ccode\u003ec4e9608\u003c/code\u003e\u003c/a\u003e Update version to 2.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/3b19e27e9041cca20131f97419a9d7d88f85cf37\"\u003e\u003ccode\u003e3b19e27\u003c/code\u003e\u003c/a\u003e Announce the previous change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/dd9826a855965b0ce6bd06d290665f43ce9dabab\"\u003e\u003ccode\u003edd9826a\u003c/code\u003e\u003c/a\u003e Consult deploy prefix when deleting files during deploy; resolves \u003ca href=\"https://redirect.github.com/jimporter/mike/issues/227\"\u003e#227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/91cf5ee70da446a80bbc6108513581d0d6858ecf\"\u003e\u003ccode\u003e91cf5ee\u003c/code\u003e\u003c/a\u003e Properly escape parameters in regex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/90cf1314af3452003eaf40c9f97853efd2ee4e86\"\u003e\u003ccode\u003e90cf131\u003c/code\u003e\u003c/a\u003e Update version to 2.2.0.dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/62aaeafe60927b0653b319585cbe4a1a1eb1bc23\"\u003e\u003ccode\u003e62aaeaf\u003c/code\u003e\u003c/a\u003e Update version to 2.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/3f7d756e26fca03660e6f08927c7cd911e933c78\"\u003e\u003ccode\u003e3f7d756\u003c/code\u003e\u003c/a\u003e Use \u0026quot;--\u0026quot; to disambiguate Git arguments in a few more places; resolves \u003ca href=\"https://redirect.github.com/jimporter/mike/issues/218\"\u003e#218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/5e6970d65beaf2c92fa1d22dbf524a931a393e8b\"\u003e\u003ccode\u003e5e6970d\u003c/code\u003e\u003c/a\u003e Belatedly update copyright year\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/9291efbd6961d652c16c000dc1fe4f2f1e19f94c\"\u003e\u003ccode\u003e9291efb\u003c/code\u003e\u003c/a\u003e Update version to 2.2.0.dev0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jimporter/mike/compare/v2.1.1...v2.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-gen-files` from 0.5.0 to 0.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/releases\"\u003emkdocs-gen-files's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCompatibility with MkDocs 1.6 is improved - generated files don't have to have an \u003ccode\u003eabs_src_path\u003c/code\u003e - \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThere was a bug: using \u003ccode\u003eedit_uri_template\u003c/code\u003e in MkDocs would prevent \u003ccode\u003eset_edit_path()\u003c/code\u003e from working.\nThis is now fixed - \u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/issues/37\"\u003e#37\u003c/a\u003e - thanks to \u003ca href=\"https://github.com/frankkusters\"\u003e\u003ccode\u003e@​frankkusters\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe MkDocs configuration file now can be \u003ccode\u003emkdocs.yaml\u003c/code\u003e, not only \u003ccode\u003emkdocs.yml\u003c/code\u003e. Thanks to \u003ca href=\"https://github.com/mgor\"\u003e\u003ccode\u003e@​mgor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/pull/39\"\u003eoprypin/mkdocs-gen-files#39\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMkDocs 1.4.1 is now the lowest supported version -  \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/2e47124f6a00150b40e2694cfb721d4f373be914\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/2e47124f6a00150b40e2694cfb721d4f373be914\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePython 3.9 is now the lowest supported version.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ca href=\"https://oprypin.github.io/mkdocs-gen-files/extras.html#programmatically-generating-the-navigation\"\u003enav generator\u003c/a\u003e can support empty paths - \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/5136a79ab5af156688cca28fb1c081204250159b\"\u003e\u003ccode\u003e5136a79\u003c/code\u003e\u003c/a\u003e v0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/df9d4dc3fb81edb6b9337e03a24421cc6f040d52\"\u003e\u003ccode\u003edf9d4dc\u003c/code\u003e\u003c/a\u003e Add a workaround that allows edit_uri_template to work in MkDocs 1.6+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/e0e32472a5651f30545354cbd903e26091f50b38\"\u003e\u003ccode\u003ee0e3247\u003c/code\u003e\u003c/a\u003e allow \u003ccode\u003e.yaml\u003c/code\u003e extension for mkdocs configuration file (\u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/issues/39\"\u003e#39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/bfe7bbcf0b336d5d9f5d395224b4d063c10c3778\"\u003e\u003ccode\u003ebfe7bbc\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/d56e1d95d927bc53afc5f18ec9ef8167e9b4de13\"\u003e\u003ccode\u003ed56e1d9\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\"\u003e\u003ccode\u003e440b0bf\u003c/code\u003e\u003c/a\u003e Support empty path in \u003ccode\u003eNav\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/85d56eb8ed6eccf1528ca158dbf97c8f0b6bb72e\"\u003e\u003ccode\u003e85d56eb\u003c/code\u003e\u003c/a\u003e Add more lints, update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/1a822d9e0d376d8ecae95fb961144a5af4887ef1\"\u003e\u003ccode\u003e1a822d9\u003c/code\u003e\u003c/a\u003e Update template, fix lints, update docs deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\"\u003e\u003ccode\u003e7baa032\u003c/code\u003e\u003c/a\u003e Fix types and compatibility with MkDocs 1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/6fd0fe048ebf928763458d8dba1a476ca2196117\"\u003e\u003ccode\u003e6fd0fe0\u003c/code\u003e\u003c/a\u003e Template upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-literate-nav` from 0.6.1 to 0.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/releases\"\u003emkdocs-literate-nav's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/6cc020ab973468678fa4420434ce84ee53ea2208?w=1\"\u003eFix compatibility with MkDocs 1.6+\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire at least MkDocs 1.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther refactors, see \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\"\u003ehttps://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/7423f00fe2c26c879310f76631b8180cb2bb6ace\"\u003e\u003ccode\u003e7423f00\u003c/code\u003e\u003c/a\u003e v0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/285344cc3e328c484deb5d932b722a252336e71b\"\u003e\u003ccode\u003e285344c\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/c39fba6d1d789fb7ab9ee31d75fc2ec5973797c0\"\u003e\u003ccode\u003ec39fba6\u003c/code\u003e\u003c/a\u003e Put more items into TYPE_CHECKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/889bcb240e2757f4a2a0efd3a0ef9d58db96427d\"\u003e\u003ccode\u003e889bcb2\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/12f9f79e8ce5d6ee2c934e7787d20d0f055e4c50\"\u003e\u003ccode\u003e12f9f79\u003c/code\u003e\u003c/a\u003e Add more lints, update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/57210ef5a0e855d7cf49be6e2136e9208493cc13\"\u003e\u003ccode\u003e57210ef\u003c/code\u003e\u003c/a\u003e Update template, fix lints, update docs deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/6cc020ab973468678fa4420434ce84ee53ea2208\"\u003e\u003ccode\u003e6cc020a\u003c/code\u003e\u003c/a\u003e Fix types and compatibility with MkDocs 1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/9c0564974487df94a62158028fd5e839f6779f68\"\u003e\u003ccode\u003e9c05649\u003c/code\u003e\u003c/a\u003e Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/07787d5ac634eca808742de2dfafad60f676d90c\"\u003e\u003ccode\u003e07787d5\u003c/code\u003e\u003c/a\u003e Refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/1a7b4d74d283cdabe0b625614cf00e299d678c3f\"\u003e\u003ccode\u003e1a7b4d7\u003c/code\u003e\u003c/a\u003e Refactor for type annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-macros-plugin` from 1.0.5 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fralau/mkdocs_macros_plugin/releases\"\u003emkdocs-macros-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev.1.3.7 With Test Framework\u003c/h2\u003e\n\u003ch2\u003e1.3.7, 2024-10-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed: incompatibility with the d2 module (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/249\"\u003e#249\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.3.6, 2024-10-17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: complete test framework, using pytest and Mkdocs-Test (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/244\"\u003e#244\u003c/a\u003e)\nA number of automated test cases are implemented.\u003c/li\u003e\n\u003cli\u003eChanged: move from setup.py to pyproject.toml (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/250\"\u003e#250\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.2.0, 2024-09-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: three hooks \u003ccode\u003eregister_variables/macros/filters\u003c/code\u003e to facilitate\ncooperation with other MkDocs plugins.\u003c/li\u003e\n\u003cli\u003eFixed: `define_env() was always required in module (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/191\"\u003e#191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded: trace the case when no module is found (INFO)\u003c/li\u003e\n\u003cli\u003eImproved documentation, particularly about HTML pages\u003c/li\u003e\n\u003cli\u003eAdded: parameters \u003ccode\u003ej2_comment_start_string\u003c/code\u003e and\n\u003ccode\u003ej2_comment_end_string\u003c/code\u003e to plugin's parameters,\nto specify alternate markers for comments.\u003c/li\u003e\n\u003cli\u003eAdded the multiline parameter \u003ccode\u003eforce_render_paths\u003c/code\u003e in the config file,\nto specify directories or file patterns to be rendered for the case when \u003ccode\u003erender_by_default = false\u003c/code\u003e\n(the \u003ccode\u003erender_macros\u003c/code\u003e parameter in the YAML header of the page\nhas the last word).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.5, 2023-10-31\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: git.short_tag (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/183\"\u003e#183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded: Mermaid diagrams in the documentation (Readthedocs)\u003c/li\u003e\n\u003cli\u003eFixed: Changelog was no longer displayed (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/186\"\u003e#186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/blob/master/CHANGELOG.md\"\u003emkdocs-macros-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0, 2025-11-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: For each push, testing on github for versions Python 3.8 to 3.12\u003c/li\u003e\n\u003cli\u003eFixed: bug in import of packages when not in source dir (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.1, 2025-10-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: support for j2_extensions paramater in config file (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: missing dependency declaration on \u003ccode\u003erequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.0, 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved: auto-install of missing pluglet (meaningful error message \u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/262\"\u003e#262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: error with yaml dumps (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/258\"\u003e#258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: detection of Jinja2, to allow title rendering (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSmall improvements to documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.3.7, 2024-10-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed: incompatibility with the d2 module (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/249\"\u003e#249\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.3.6, 2024-10-17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: complete test framework, using pytest and Mkdocs-Test (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/244\"\u003e#244\u003c/a\u003e)\nA number of automated test cases are implemented.\u003c/li\u003e\n\u003cli\u003eChanged: move from setup.py to pyproject.toml (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/250\"\u003e#250\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.2.0, 2024-09-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: three hooks \u003ccode\u003eregister_variables/macros/filters\u003c/code\u003e to facilitate\ncooperation with other MkDocs plugins.\u003c/li\u003e\n\u003cli\u003eFixed: `define_env() was always required in module (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/191\"\u003e#191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded: trace the case when no module is found (INFO)\u003c/li\u003e\n\u003cli\u003eImproved documentation, particularly about HTML pages\u003c/li\u003e\n\u003cli\u003eAdded: parameters \u003ccode\u003ej2_comment_start_string\u003c/code\u003e and\n\u003ccode\u003ej2_comment_end_string\u003c/code\u003e to plugin's parameters,\nto specify alternate markers for comments.\u003c/li\u003e\n\u003cli\u003eAdded the multiline parameter \u003ccode\u003eforce_render_paths\u003c/code\u003e in the config file,\nto specify directories or file patterns to be rendered for the case when \u003ccode\u003erender_by_default = false\u003c/code\u003e\n(the \u003ccode\u003erender_macros\u003c/code\u003e parameter in the YAML header of the page\nhas the last word).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/0536f4da1dc643e1fa1f0cc90e71512ada67dc04\"\u003e\u003ccode\u003e0536f4d\u003c/code\u003e\u003c/a\u003e Fix type hint for compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/d9a6bc3aac5b12b86f9e2be7af18e1e9178287f6\"\u003e\u003ccode\u003ed9a6bc3\u003c/code\u003e\u003c/a\u003e Require mkdocs-test\u0026gt;=0.6.0 (compatibility with Python 3.8 and 3.9)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/bcaa72db2820d60822ffba15e87c75669abc7b92\"\u003e\u003ccode\u003ebcaa72d\u003c/code\u003e\u003c/a\u003e Make last minute corrections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/356fc2a5b55d1897a2f2c47856d52b10cff4611c\"\u003e\u003ccode\u003e356fc2a\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/aaf16bdcb9dfcb9c6ea9b6567ea4af7f8c178185\"\u003e\u003ccode\u003eaaf16bd\u003c/code\u003e\u003c/a\u003e Limit testing to 3.10 up (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/ba5356c0c263355556aa82dad0fbfde3cce4bc4d\"\u003e\u003ccode\u003eba5356c\u003c/code\u003e\u003c/a\u003e Use proper exit for pytest if Python \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/6c796600bc0886696ce9b76b84354d7e2bc1b6fa\"\u003e\u003ccode\u003e6c79660\u003c/code\u003e\u003c/a\u003e Skip test_modules.py if Python version \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cec7440d46589b303d741a5e2df0a240c25b9bdb\"\u003e\u003ccode\u003ecec7440\u003c/code\u003e\u003c/a\u003e Test installation of d2 in a cross-platform way (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/492759c5ab3d05f7c55ec62ffdf9573b715ac6ed\"\u003e\u003ccode\u003e492759c\u003c/code\u003e\u003c/a\u003e Update with changes from local repo (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cc5416834a07ffd2ba1fe3d917a701ac6e9c98ad\"\u003e\u003ccode\u003ecc54168\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:fralau/mkdocs_macros_plugin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fralau/mkdocs_macros_plugin/compare/v1.0.5...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.5.25 to 9.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to \u003ccode\u003emkdocs build\u003c/code\u003e about impending MkDocs 2.0 incompatibility (doesn't affect strict mode)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.7.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.7.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is now in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote on deprecated plugins\u003c/strong\u003e: The [projects] and [typeset] plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eChanges\u003c/strong\u003e:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.2 (2026-02-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to 'mkdocs build' about impending MkDocs 2.0 incompatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for automatic image optimization via optimize plugin\u003c/li\u003e\n\u003cli\u003eAdded support for navigation paths (breadcrumbs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/e21a119e38f7bca184e469eaeefa3d5535e5022b\"\u003e\u003ccode\u003ee21a119\u003c/code\u003e\u003c/a\u003e Updated changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/d5654b500a7021625d3c78f59842805c45e7b65a\"\u003e\u003ccode\u003ed5654b5\u003c/code\u003e\u003c/a\u003e Prepare 9.7.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/b18af2f74a98e0d54f7f11b4e029d7ea29166df3\"\u003e\u003ccode\u003eb18af2f\u003c/code\u003e\u003c/a\u003e Opened up version ranges in optional dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/39cdfbd87c80079cd06a6d2a953cd53f531db61d\"\u003e\u003ccode\u003e39cdfbd\u003c/code\u003e\u003c/a\u003e Added social card for blog post\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/09ee7b1913eab1988ff3a81982c39634915336e1\"\u003e\u003ccode\u003e09ee7b1\u003c/code\u003e\u003c/a\u003e Added blog post on MkDocs 2.0 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8564\"\u003e#8564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/0d11a2d01174a0ab3bec97300c4432da44128253\"\u003e\u003ccode\u003e0d11a2d\u003c/code\u003e\u003c/a\u003e Documentation (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8560\"\u003e#8560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/8fc61b5cb00845825179d6fd3e331c789f83187b\"\u003e\u003ccode\u003e8fc61b5\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3f0eaca8da7e06db5bbb8ca41febb78459baf650\"\u003e\u003ccode\u003e3f0eaca\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/eaba2dc24f196ecbf8e9aa87f8982be4e154920b\"\u003e\u003ccode\u003eeaba2dc\u003c/code\u003e\u003c/a\u003e Re-enable publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/7e236f6866b73aa080cd4d209752f6440bf67440\"\u003e\u003ccode\u003e7e236f6\u003c/code\u003e\u003c/a\u003e Temporarily disable publishing\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.5.25...9.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[lib]` from 0.9.2 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[lib]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release adds a new workflow for Dependabot auto-merge and updates mkdocstrings to v2.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code, just have a look at the script output for further instructions.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emkdocsstrings-python\u003c/code\u003e v2 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003cli\u003eNew warning ignores for protobuf gencode versions in pytest.\u003c/li\u003e\n\u003cli\u003eAdded Dependabot auto-merge workflow using \u003ccode\u003efrequenz-floss/dependabot-auto-approve\u003c/code\u003e action.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emkdocstrings: Move \u003ccode\u003epaths\u003c/code\u003e key to the right section in \u003ccode\u003emkdocs.yml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix invalid YAML syntax in Dependabot workflow template.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump types-pyyaml from 6.0.12.20250402 to 6.0.12.20250516 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/410\"\u003efrequenz-floss/frequenz-repo-config-python#410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/408\"\u003efrequenz-floss/frequenz-repo-config-python#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/409\"\u003efrequenz-floss/frequenz-repo-config-python#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove filtering of warnings in pytest by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/411\"\u003efrequenz-floss/frequenz-repo-config-python#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix mkdocsstrings config by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/412\"\u003efrequenz-floss/frequenz-repo-config-python#412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge v0.13.x into v0.x.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/420\"\u003efrequenz-floss/frequenz-repo-config-python#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/424\"\u003efrequenz-floss/frequenz-repo-config-python#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/423\"\u003efrequenz-floss/frequenz-repo-config-python#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate templates dependencies by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/431\"\u003efrequenz-floss/frequenz-repo-config-python#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump types-markdown from 3.8.0.20250415 to 3.8.0.20250708 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/430\"\u003efrequenz-floss/frequenz-repo-config-python#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mypy from 1.16.1 to 1.17.1 in the minor group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/428\"\u003efrequenz-floss/frequenz-repo-config-python#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the mkdocstrings group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/432\"\u003efrequenz-floss/frequenz-repo-config-python#432\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.x.x/RELEASE_NOTES.md\"\u003efrequenz-repo-config[lib]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release migrates lightweight GitHub Actions workflow jobs to use the new cost-effective \u003ccode\u003eubuntu-slim\u003c/code\u003e runner.\nIt also updates cookiecutter pyproject license metadata to SPDX expressions to avoid setuptools deprecation warnings.\nThe auto-dependabot workflow now uses a GitHub App installation token instead of \u003ccode\u003eGITHUB_TOKEN\u003c/code\u003e to fix merge queue and auto-merge failures.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMigrated lightweight workflow jobs to use the new \u003ccode\u003eubuntu-slim\u003c/code\u003e runner for cost savings.\nThe following jobs now use \u003ccode\u003eubuntu-slim\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eci.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e, \u003ccode\u003enox-all\u003c/code\u003e, \u003ccode\u003etest-installation-all\u003c/code\u003e, \u003ccode\u003ecreate-github-release\u003c/code\u003e, \u003ccode\u003epublish-to-pypi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eci-pr.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauto-dependabot.yaml\u003c/code\u003e: \u003ccode\u003eauto-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erelease-notes-check.yml\u003c/code\u003e: \u003ccode\u003echeck-release-notes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edco-merge-queue.yml\u003c/code\u003e: \u003ccode\u003eDCO\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elabeler.yml\u003c/code\u003e: \u003ccode\u003eLabel\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ca href=\"https://github.com/pjknkda/flake8-datetimez\"\u003e\u003ccode\u003eflake8-datetimez\u003c/code\u003e\u003c/a\u003e plugin to the \u003ccode\u003eflake8\u003c/code\u003e session. This plugin prevents accidental use of naive \u003ccode\u003edatetime\u003c/code\u003e objects by flagging calls that create or return datetimes without timezone information.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe CI workflow now uses a simpler matrix.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitched \u003ccode\u003eproject.license\u003c/code\u003e to SPDX expressions and added \u003ccode\u003eproject.license-files\u003c/code\u003e. This removes deprecated setuptools license metadata and avoids build warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/a72bd53788be72e52e392ba037d1846e9af9bdb0\"\u003e\u003ccode\u003ea72bd53\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/10341d61167efc0469c829a7e5159f4fb98db43b\"\u003e\u003ccode\u003e10341d6\u003c/code\u003e\u003c/a\u003e template: Bump protobuf and grpcio to latest versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/af4476785f83336c08114d344820f3c5e47819fa\"\u003e\u003ccode\u003eaf44767\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/8a4e067b5d713b7667fa0e2fb00328de43bf2355\"\u003e\u003ccode\u003e8a4e067\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/73dc4ef502a49f798a6ad672edd6b6b5478851ec\"\u003e\u003ccode\u003e73dc4ef\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/3d86e084ef981c8f5c8b7256918866bd22bbc069\"\u003e\u003ccode\u003e3d86e08\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/5894e50f24b3fcd742d8d44d2c370ad9a43d734f\"\u003e\u003ccode\u003e5894e50\u003c/code\u003e\u003c/a\u003e Bump pydoclint from 0.7.3 to 0.8.3 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/4a81cbbb8281d46e23c58112bdd202ace0861c85\"\u003e\u003ccode\u003e4a81cbb\u003c/code\u003e\u003c/a\u003e Bump frequenz-floss/gh-action-nox from 1.0.1 to 1.1.0 in the compatible group...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/41b3a2cb1a54c14ca1a4bc1bb983b17bee5580b1\"\u003e\u003ccode\u003e41b3a2c\u003c/code\u003e\u003c/a\u003e Bump pytest from 9.0.1 to 9.0.2 in the patch group (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/c2bbc77892b57010335680effe03cb368dc54b75\"\u003e\u003ccode\u003ec2bbc77\u003c/code\u003e\u003c/a\u003e Bump the minor group with 7 updates (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.9.2...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.10.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.10.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-markdown` from 3.6.0.20240316 to 3.10.2.20260211\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typeshed-internal/stub_uploader/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.9.2 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release adds a new workflow for Dependabot auto-merge and updates mkdocstrings to v2.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code, just have a look at the script output for further instructions.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emkdocsstrings-python\u003c/code\u003e v2 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003cli\u003eNew warning ignores for protobuf gencode versions in pytest.\u003c/li\u003e\n\u003cli\u003eAdded Dependabot auto-merge workflow using \u003ccode\u003efrequenz-floss/dependabot-auto-approve\u003c/code\u003e action.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emkdocstrings: Move \u003ccode\u003epaths\u003c/code\u003e key to the right section in \u003ccode\u003emkdocs.yml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix invalid YAML syntax in Dependabot workflow template.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump types-pyyaml from 6.0.12.20250402 to 6.0.12.20250516 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"h...\n\n_Description has been truncated_","html_url":"https://github.com/llucax/frequenz-client-microgrid-python/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/llucax%2Ffrequenz-client-microgrid-python/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"3957798327","node_id":"PR_kwDOMJcMMM7EngGP","number":23,"state":"closed","title":"Bump the patch group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["part:tooling"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-18T14:54:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-18T13:09:40.000Z","updated_at":"2026-02-18T14:54:29.000Z","time_to_close":6287,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"patch","update_count":2,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"setuptools-scm","old_version":"9.2.0","new_version":"9.2.2"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 2 updates in the / directory: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) and [setuptools-scm[toml]](https://github.com/pypa/setuptools-scm).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm[toml]` from 9.2.0 to 9.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm[toml]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: don't warn about tool.setuptools.dynamic.version when only using file finder by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1232\"\u003epypa/setuptools-scm#1232\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMark recently yanked versions in changelog by \u003ca href=\"https://github.com/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix 1216 explicitly deprecate setuptools dynamic version when active by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1219\"\u003epypa/setuptools-scm#1219\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare Release v9.2.1 by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1226\"\u003epypa/setuptools-scm#1226\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm[toml]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1231\"\u003e#1231\u003c/a\u003e: don't warn about \u003ccode\u003etool.setuptools.dynamic.version\u003c/code\u003e when only using file finder.\nThe warning about combining version guessing with setuptools dynamic versions should only\nbe issued when setuptools-scm is performing version inference, not when it's only being\nused for its file finder functionality.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1216\"\u003e#1216\u003c/a\u003e: accept and create a warning for usages of \u003ccode\u003eversion = attr:\u003c/code\u003e in setuptools config.\nunfortunately dozens of projects cargo-culted that antipattern\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/e56b78fcd4c1e79aa36c1e4700fca34c8ff540fe\"\u003e\u003ccode\u003ee56b78f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1232\"\u003e#1232\u003c/a\u003e from RonnyPfannschmidt/fix-1231-dont-warn-when-no-guess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/4f55e9585e398e13103112a6fd488109d9da4ead\"\u003e\u003ccode\u003e4f55e95\u003c/code\u003e\u003c/a\u003e docs: update changelog for v9.2.2 patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/95a0c47553ea0b373238bb64aa344b2c2547c849\"\u003e\u003ccode\u003e95a0c47\u003c/code\u003e\u003c/a\u003e fix: don't warn about tool.setuptools.dynamic.version when only using file fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/338f562e6a38f8d32fd5aeb4677b3f87fc5a0122\"\u003e\u003ccode\u003e338f562\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1226\"\u003e#1226\u003c/a\u003e from RonnyPfannschmidt/prepare-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/a893634c36a074052ed3f6d0e77b076b582c72ab\"\u003e\u003ccode\u003ea893634\u003c/code\u003e\u003c/a\u003e Prepare release v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/ad83282242e96fe11c958227740ee03a7a2ed0fe\"\u003e\u003ccode\u003ead83282\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1225\"\u003e#1225\u003c/a\u003e from pypa/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/20a44648f299f64b1241a448bdbafde9b1871ebf\"\u003e\u003ccode\u003e20a4464\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/70f69429c40f8c8d3c4e0eec2d8b4a6794671c88\"\u003e\u003ccode\u003e70f6942\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1219\"\u003e#1219\u003c/a\u003e from RonnyPfannschmidt/fix-1216-explicitly-deprecate...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/14d85c0fb8fa9efd1ec4bac3413f48aea0e319f5\"\u003e\u003ccode\u003e14d85c0\u003c/code\u003e\u003c/a\u003e Install Mercurial on Windows runners via Chocolatey\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/8c5cec917123e4cc87b490f56b6e7af27a3b0399\"\u003e\u003ccode\u003e8c5cec9\u003c/code\u003e\u003c/a\u003e Fix API stability check workflow to install griffe and improve reporting\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/llucax/frequenz-core-python/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/llucax%2Ffrequenz-core-python/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"3921745888","node_id":"PR_kwDOOdxeKs7CwbeO","number":6,"state":"open","title":"Bump the optional group with 14 updates","user":"dependabot[bot]","labels":["part:tooling"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-10T14:21:32.000Z","updated_at":"2026-02-10T14:21:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"optional","update_count":14,"packages":[{"name":"flake8","old_version":"7.1.1","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"pydoclint","old_version":"0.6.0","new_version":"0.8.3","repository_url":"https://github.com/jsh9/pydoclint"},{"name":"markdown","old_version":"3.7","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"mkdocs-gen-files","old_version":"0.5.0","new_version":"0.6.0","repository_url":"https://github.com/oprypin/mkdocs-gen-files"},{"name":"mkdocs-literate-nav","old_version":"0.6.1","new_version":"0.6.2","repository_url":"https://github.com/oprypin/mkdocs-literate-nav"},{"name":"mkdocs-macros-plugin","old_version":"1.3.7","new_version":"1.5.0","repository_url":"https://github.com/fralau/mkdocs_macros_plugin"},{"name":"mkdocs-material","old_version":"9.6.2","new_version":"9.7.1","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"frequenz-repo-config","old_version":"0.12.3","new_version":"0.14.0"},{"name":"mypy","old_version":"1.9.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"types-markdown","old_version":"3.7.0.20241204","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"frequenz-repo-config","old_version":"0.12.3","new_version":"0.14.0"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"async-solipsism","old_version":"0.7","new_version":"0.9","repository_url":"https://github.com/bmerry/async-solipsism"}],"path":null,"ecosystem":"pip"},"body":"Bumps the optional group with 14 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flake8](https://github.com/pycqa/flake8) | `7.1.1` | `7.3.0` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [pydoclint](https://github.com/jsh9/pydoclint) | `0.6.0` | `0.8.3` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.7` | `3.10.2` |\n| [mkdocs-gen-files](https://github.com/oprypin/mkdocs-gen-files) | `0.5.0` | `0.6.0` |\n| [mkdocs-literate-nav](https://github.com/oprypin/mkdocs-literate-nav) | `0.6.1` | `0.6.2` |\n| [mkdocs-macros-plugin](https://github.com/fralau/mkdocs_macros_plugin) | `1.3.7` | `1.5.0` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.6.2` | `9.7.1` |\n| [frequenz-repo-config[lib]](https://github.com/frequenz-floss/frequenz-repo-config-python) | `0.12.3` | `0.14.0` |\n| [mypy](https://github.com/python/mypy) | `1.9.0` | `1.19.1` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.7.0.20241204` | `3.10.0.20251106` |\n| [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python) | `0.12.3` | `0.14.0` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [async-solipsism](https://github.com/bmerry/async-solipsism) | `0.7` | `0.9` |\n\nUpdates `flake8` from 7.1.1 to 7.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/c48217e1fc006c2dddd14df54e83b67da15de5cd\"\u003e\u003ccode\u003ec48217e\u003c/code\u003e\u003c/a\u003e Release 7.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/f9e0f33281d5bb892cae2c674ac398439d99c732\"\u003e\u003ccode\u003ef9e0f33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1986\"\u003e#1986\u003c/a\u003e from PyCQA/document-f542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6bcdb628597fa2d03494965089ff87a492ffc1e9\"\u003e\u003ccode\u003e6bcdb62\u003c/code\u003e\u003c/a\u003e document F542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/70a15b8890d5bdf8c449ebb1b5259bd0140cc16b\"\u003e\u003ccode\u003e70a15b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1985\"\u003e#1985\u003c/a\u003e from PyCQA/upgrade-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/4941a3e32e54488698ecbc23993bfeb2a60c0fc5\"\u003e\u003ccode\u003e4941a3e\u003c/code\u003e\u003c/a\u003e upgrade pyflakes / pycodestyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/23e4005c5501999c29e1e3774de7ed18d1e4e22d\"\u003e\u003ccode\u003e23e4005\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1983\"\u003e#1983\u003c/a\u003e from PyCQA/py314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/019424b80d3d7d5d8a2a1638f5877080546e3f46\"\u003e\u003ccode\u003e019424b\u003c/code\u003e\u003c/a\u003e add support for t-strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6b6f3d5fefecc994a06f425c18c3cddc9b71e4a4\"\u003e\u003ccode\u003e6b6f3d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1980\"\u003e#1980\u003c/a\u003e from PyCQA/asottile-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/8dfa6695b4fb1e1401b357367a0a71037d29f6aa\"\u003e\u003ccode\u003e8dfa669\u003c/code\u003e\u003c/a\u003e add rtd sphinx config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/ce3411118382d9332feb2749c8f417d10bfa2584\"\u003e\u003ccode\u003ece34111\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1976\"\u003e#1976\u003c/a\u003e from PyCQA/document-f824\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pycqa/flake8/compare/7.1.1...7.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydoclint` from 0.6.0 to 0.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsh9/pydoclint/releases\"\u003epydoclint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix baseline renegeration bug by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/275\"\u003ejsh9/pydoclint#275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd config option to allow omitting stars in varargs by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/276\"\u003ejsh9/pydoclint#276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/277\"\u003ejsh9/pydoclint#277\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ability to partially match violation codes by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/272\"\u003ejsh9/pydoclint#272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how multiple \u003cstrong\u003einit\u003c/strong\u003e() are recognized by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/273\"\u003ejsh9/pydoclint#273\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange logic to detect docstring style mismatch by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/271\"\u003ejsh9/pydoclint#271\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd inline violation suppression for native mode by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/270\"\u003ejsh9/pydoclint#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh linters \u0026amp; formatters by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/269\"\u003ejsh9/pydoclint#269\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003e@property\u003c/code\u003e + \u003ccode\u003e@abstractmethod\u003c/code\u003e without a Returns: section by \u003ca href=\"https://github.com/barometz\"\u003e\u003ccode\u003e@​barometz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/261\"\u003ejsh9/pydoclint#261\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/barometz\"\u003e\u003ccode\u003e@​barometz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/261\"\u003ejsh9/pydoclint#261\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.4...0.7.5\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.4...0.7.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsh9/pydoclint/blob/main/CHANGELOG.md\"\u003epydoclint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.8.3] - 2025-11-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eA new config option \u003ccode\u003e--omit-stars-when-documenting-varargs\u003c/code\u003e (shortform:\n\u003ccode\u003e-oswdv\u003c/code\u003e) so docstrings may describe varargs without the leading \u003ccode\u003e*\u003c/code\u003e\ncharacters (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/268\"\u003ejsh9/pydoclint#268\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eA bug where \u003ccode\u003e--auto-regenerate-baseline\u003c/code\u003e removes entries of files that have\nnot yet been fixed (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/274\"\u003ejsh9/pydoclint#274\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.2] - 2025-11-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eAbility to partially match violation codes in inline \u003ccode\u003enoqa\u003c/code\u003e in the native\nmode (which \u003cem\u003eflake8\u003c/em\u003e already supports)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eA bug: when there are more than one \u003ccode\u003e__init__()\u003c/code\u003e in a class (overloaded),\nthe first \u003ccode\u003e__init__()\u003c/code\u003e is incorrectly recognized as the \u0026quot;right\u0026quot; one. (The\nlast \u003ccode\u003e__init__()\u003c/code\u003e should be considered the right one.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.1] - 2025-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged\n\u003cul\u003e\n\u003cli\u003eThe logic to detect docstring style mismatches, fixing a false positive\ncase where non-Sphinx style docstrings are detected as Sphinx style\n(because there are some rST keywords in them)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.0] - 2025-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eNew functionality: \u003cem\u003epydoclint\u003c/em\u003e native mode can parse \u0026quot;noqa\u0026quot; comments and\nthus users can suppress violations in the native mode.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.7.6] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged\n\u003cul\u003e\n\u003cli\u003eUpdated linter and auto-formatter configurations\u003c/li\u003e\n\u003cli\u003eMade a lot of changes to fix code style; some logic was also updated per\nthe suggestions of linters\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/98bb10c4e73a050e31471409df8edfaeb88befb8\"\u003e\u003ccode\u003e98bb10c\u003c/code\u003e\u003c/a\u003e Add config option to allow omitting stars in varargs (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/c37407d03df27b4c37b31e697fd474377c3c4efc\"\u003e\u003ccode\u003ec37407d\u003c/code\u003e\u003c/a\u003e Fix baseline renegeration bug (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/276\"\u003e#276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/3386cd2ad39784792a0d39d942dd4b26960c2a27\"\u003e\u003ccode\u003e3386cd2\u003c/code\u003e\u003c/a\u003e Fix baseline renegeration bug (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/8c1081806da276917ac686a12f0c435414955da0\"\u003e\u003ccode\u003e8c10818\u003c/code\u003e\u003c/a\u003e Fix how multiple \u003cstrong\u003einit\u003c/strong\u003e() are recognized (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/273\"\u003e#273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/51435e3714765f9d4b220c868ab185670f3bb14b\"\u003e\u003ccode\u003e51435e3\u003c/code\u003e\u003c/a\u003e Add ability to partially match violation codes (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/e361239034992fbceac83994e47a40a5e7ecf3ea\"\u003e\u003ccode\u003ee361239\u003c/code\u003e\u003c/a\u003e Change logic to detect docstring style mismatch (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/271\"\u003e#271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/bf4c4021dccf832777452e05e94f98a36c59636b\"\u003e\u003ccode\u003ebf4c402\u003c/code\u003e\u003c/a\u003e Add hyperlink\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/a7585273e2b3c8e84a1883d33a168519947c807f\"\u003e\u003ccode\u003ea758527\u003c/code\u003e\u003c/a\u003e Update --check-style-mismatch explanations in config_options.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/e8ffd8988fe57ce4dc8a0625c3281b24ca396240\"\u003e\u003ccode\u003ee8ffd89\u003c/code\u003e\u003c/a\u003e Add inline violation suppression for native mode (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/0a9ad0c159fe5ced98dbbcd3b850a8850ed009b7\"\u003e\u003ccode\u003e0a9ad0c\u003c/code\u003e\u003c/a\u003e Refresh linters \u0026amp; formatters (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.6.0...0.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.7 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.10.2] - 2026-02-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.1] - 2026-01-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.2] - 2025-06-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/e7a0efb3a7c36d6b8005403122705662bc17c904\"\u003e\u003ccode\u003ee7a0efb\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/630183336bda57c258becc3ed229105481876a7e\"\u003e\u003ccode\u003e6301833\u003c/code\u003e\u003c/a\u003e Document HTML sanitation policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/7f29f1a69d236f5bb11645c2fa03fcf701487c8c\"\u003e\u003ccode\u003e7f29f1a\u003c/code\u003e\u003c/a\u003e More reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c4386475a6b6daea43b7d7717add4271adc9a3c1\"\u003e\u003ccode\u003ec438647\u003c/code\u003e\u003c/a\u003e Fix regression of special comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/e5fa5b86e8ec380cbc520cfc637d72c779e5c601\"\u003e\u003ccode\u003ee5fa5b8\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f9253495f5d9919f2fdd5e147832b5fc21330f65\"\u003e\u003ccode\u003ef925349\u003c/code\u003e\u003c/a\u003e More HTML fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/9933a0a4699f3dea91f46528a2bf54863f531c08\"\u003e\u003ccode\u003e9933a0a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Allow reference links with backticks\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07dfa4eb43f7a2ab3181b4f842a960a03a6c1221\"\u003e\u003ccode\u003e07dfa4e\u003c/code\u003e\u003c/a\u003e Allow reference links with backticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/fb6b27a6ff90980b5bcb0cd51528a7c9dc3a93ca\"\u003e\u003ccode\u003efb6b27a\u003c/code\u003e\u003c/a\u003e Fix infinite loop when text contains multiple unclosed comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/89112c293f7b399ae8808f3a06306f46601e9684\"\u003e\u003ccode\u003e89112c2\u003c/code\u003e\u003c/a\u003e Make the docs build successfully with mkdocstrings-python 2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.7...3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-gen-files` from 0.5.0 to 0.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/releases\"\u003emkdocs-gen-files's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCompatibility with MkDocs 1.6 is improved - generated files don't have to have an \u003ccode\u003eabs_src_path\u003c/code\u003e - \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThere was a bug: using \u003ccode\u003eedit_uri_template\u003c/code\u003e in MkDocs would prevent \u003ccode\u003eset_edit_path()\u003c/code\u003e from working.\nThis is now fixed - \u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/issues/37\"\u003e#37\u003c/a\u003e - thanks to \u003ca href=\"https://github.com/frankkusters\"\u003e\u003ccode\u003e@​frankkusters\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe MkDocs configuration file now can be \u003ccode\u003emkdocs.yaml\u003c/code\u003e, not only \u003ccode\u003emkdocs.yml\u003c/code\u003e. Thanks to \u003ca href=\"https://github.com/mgor\"\u003e\u003ccode\u003e@​mgor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/pull/39\"\u003eoprypin/mkdocs-gen-files#39\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMkDocs 1.4.1 is now the lowest supported version -  \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/2e47124f6a00150b40e2694cfb721d4f373be914\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/2e47124f6a00150b40e2694cfb721d4f373be914\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePython 3.9 is now the lowest supported version.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ca href=\"https://oprypin.github.io/mkdocs-gen-files/extras.html#programmatically-generating-the-navigation\"\u003enav generator\u003c/a\u003e can support empty paths - \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/5136a79ab5af156688cca28fb1c081204250159b\"\u003e\u003ccode\u003e5136a79\u003c/code\u003e\u003c/a\u003e v0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/df9d4dc3fb81edb6b9337e03a24421cc6f040d52\"\u003e\u003ccode\u003edf9d4dc\u003c/code\u003e\u003c/a\u003e Add a workaround that allows edit_uri_template to work in MkDocs 1.6+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/e0e32472a5651f30545354cbd903e26091f50b38\"\u003e\u003ccode\u003ee0e3247\u003c/code\u003e\u003c/a\u003e allow \u003ccode\u003e.yaml\u003c/code\u003e extension for mkdocs configuration file (\u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/issues/39\"\u003e#39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/bfe7bbcf0b336d5d9f5d395224b4d063c10c3778\"\u003e\u003ccode\u003ebfe7bbc\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/d56e1d95d927bc53afc5f18ec9ef8167e9b4de13\"\u003e\u003ccode\u003ed56e1d9\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\"\u003e\u003ccode\u003e440b0bf\u003c/code\u003e\u003c/a\u003e Support empty path in \u003ccode\u003eNav\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/85d56eb8ed6eccf1528ca158dbf97c8f0b6bb72e\"\u003e\u003ccode\u003e85d56eb\u003c/code\u003e\u003c/a\u003e Add more lints, update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/1a822d9e0d376d8ecae95fb961144a5af4887ef1\"\u003e\u003ccode\u003e1a822d9\u003c/code\u003e\u003c/a\u003e Update template, fix lints, update docs deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\"\u003e\u003ccode\u003e7baa032\u003c/code\u003e\u003c/a\u003e Fix types and compatibility with MkDocs 1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/6fd0fe048ebf928763458d8dba1a476ca2196117\"\u003e\u003ccode\u003e6fd0fe0\u003c/code\u003e\u003c/a\u003e Template upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-literate-nav` from 0.6.1 to 0.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/releases\"\u003emkdocs-literate-nav's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/6cc020ab973468678fa4420434ce84ee53ea2208?w=1\"\u003eFix compatibility with MkDocs 1.6+\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire at least MkDocs 1.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther refactors, see \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\"\u003ehttps://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/7423f00fe2c26c879310f76631b8180cb2bb6ace\"\u003e\u003ccode\u003e7423f00\u003c/code\u003e\u003c/a\u003e v0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/285344cc3e328c484deb5d932b722a252336e71b\"\u003e\u003ccode\u003e285344c\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/c39fba6d1d789fb7ab9ee31d75fc2ec5973797c0\"\u003e\u003ccode\u003ec39fba6\u003c/code\u003e\u003c/a\u003e Put more items into TYPE_CHECKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/889bcb240e2757f4a2a0efd3a0ef9d58db96427d\"\u003e\u003ccode\u003e889bcb2\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/12f9f79e8ce5d6ee2c934e7787d20d0f055e4c50\"\u003e\u003ccode\u003e12f9f79\u003c/code\u003e\u003c/a\u003e Add more lints, update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/57210ef5a0e855d7cf49be6e2136e9208493cc13\"\u003e\u003ccode\u003e57210ef\u003c/code\u003e\u003c/a\u003e Update template, fix lints, update docs deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/6cc020ab973468678fa4420434ce84ee53ea2208\"\u003e\u003ccode\u003e6cc020a\u003c/code\u003e\u003c/a\u003e Fix types and compatibility with MkDocs 1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/9c0564974487df94a62158028fd5e839f6779f68\"\u003e\u003ccode\u003e9c05649\u003c/code\u003e\u003c/a\u003e Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/07787d5ac634eca808742de2dfafad60f676d90c\"\u003e\u003ccode\u003e07787d5\u003c/code\u003e\u003c/a\u003e Refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/1a7b4d74d283cdabe0b625614cf00e299d678c3f\"\u003e\u003ccode\u003e1a7b4d7\u003c/code\u003e\u003c/a\u003e Refactor for type annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-macros-plugin` from 1.3.7 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/blob/master/CHANGELOG.md\"\u003emkdocs-macros-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0, 2025-11-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: For each push, testing on github for versions Python 3.8 to 3.12\u003c/li\u003e\n\u003cli\u003eFixed: bug in import of packages when not in source dir (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.1, 2025-10-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: support for j2_extensions paramater in config file (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: missing dependency declaration on \u003ccode\u003erequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.0, 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved: auto-install of missing pluglet (meaningful error message \u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/262\"\u003e#262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: error with yaml dumps (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/258\"\u003e#258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: detection of Jinja2, to allow title rendering (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSmall improvements to documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/0536f4da1dc643e1fa1f0cc90e71512ada67dc04\"\u003e\u003ccode\u003e0536f4d\u003c/code\u003e\u003c/a\u003e Fix type hint for compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/d9a6bc3aac5b12b86f9e2be7af18e1e9178287f6\"\u003e\u003ccode\u003ed9a6bc3\u003c/code\u003e\u003c/a\u003e Require mkdocs-test\u0026gt;=0.6.0 (compatibility with Python 3.8 and 3.9)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/bcaa72db2820d60822ffba15e87c75669abc7b92\"\u003e\u003ccode\u003ebcaa72d\u003c/code\u003e\u003c/a\u003e Make last minute corrections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/356fc2a5b55d1897a2f2c47856d52b10cff4611c\"\u003e\u003ccode\u003e356fc2a\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/aaf16bdcb9dfcb9c6ea9b6567ea4af7f8c178185\"\u003e\u003ccode\u003eaaf16bd\u003c/code\u003e\u003c/a\u003e Limit testing to 3.10 up (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/ba5356c0c263355556aa82dad0fbfde3cce4bc4d\"\u003e\u003ccode\u003eba5356c\u003c/code\u003e\u003c/a\u003e Use proper exit for pytest if Python \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/6c796600bc0886696ce9b76b84354d7e2bc1b6fa\"\u003e\u003ccode\u003e6c79660\u003c/code\u003e\u003c/a\u003e Skip test_modules.py if Python version \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cec7440d46589b303d741a5e2df0a240c25b9bdb\"\u003e\u003ccode\u003ecec7440\u003c/code\u003e\u003c/a\u003e Test installation of d2 in a cross-platform way (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/492759c5ab3d05f7c55ec62ffdf9573b715ac6ed\"\u003e\u003ccode\u003e492759c\u003c/code\u003e\u003c/a\u003e Update with changes from local repo (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cc5416834a07ffd2ba1fe3d917a701ac6e9c98ad\"\u003e\u003ccode\u003ecc54168\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:fralau/mkdocs_macros_plugin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fralau/mkdocs_macros_plugin/compare/v1.3.7...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.6.2 to 9.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.7.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is now in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote on deprecated plugins\u003c/strong\u003e: The [projects] and [typeset] plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eChanges\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for projects plugin (for compat, now deprecated)\u003c/li\u003e\n\u003cli\u003eAdded support for typeset plugin (for compat, now deprecated)\u003c/li\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for automatic image optimization via optimize plugin\u003c/li\u003e\n\u003cli\u003eAdded support for navigation paths (breadcrumbs)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8519\"\u003e#8519\u003c/a\u003e: Vector accents do not render when using KaTeX\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.23 (2025-11-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/7e236f6866b73aa080cd4d209752f6440bf67440\"\u003e\u003ccode\u003e7e236f6\u003c/code\u003e\u003c/a\u003e Temporarily disable publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/394149152dc10fc5383c956cd133a665c22fa907\"\u003e\u003ccode\u003e3941491\u003c/code\u003e\u003c/a\u003e Fixed CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/034eaf7b0b7a0a4d2e66179de0dcaded4c923f76\"\u003e\u003ccode\u003e034eaf7\u003c/code\u003e\u003c/a\u003e Prepare 9.7.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/79ba428abebf9b365d4930fb9b147255edd10b88\"\u003e\u003ccode\u003e79ba428\u003c/code\u003e\u003c/a\u003e Fixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/61cad249b6eec5727bcf245ca2dea3ef6c98790f\"\u003e\u003ccode\u003e61cad24\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/dde13ceb9bb49be3b84bc8c1e59b313250ea8516\"\u003e\u003ccode\u003edde13ce\u003c/code\u003e\u003c/a\u003e Fixed false positives and negatives captured in privacy plugin  (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/291012dcf5aff75a32a6fe9e9a6be4d769da12ac\"\u003e\u003ccode\u003e291012d\u003c/code\u003e\u003c/a\u003e Updated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/673d8ca986c37ddeabe25c7e7b7299ec644910ed\"\u003e\u003ccode\u003e673d8ca\u003c/code\u003e\u003c/a\u003e Fixed links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/17227844dce216bf172c9e5de69809765a0b5ab7\"\u003e\u003ccode\u003e1722784\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/aee925f5a0ae3e343ff310e35c667d24eeaff7df\"\u003e\u003ccode\u003eaee925f\u003c/code\u003e\u003c/a\u003e Fixed links\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.6.2...9.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[lib]` from 0.12.3 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[lib]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release adds a new workflow for Dependabot auto-merge and updates mkdocstrings to v2.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code, just have a look at the script output for further instructions.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emkdocsstrings-python\u003c/code\u003e v2 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003cli\u003eNew warning ignores for protobuf gencode versions in pytest.\u003c/li\u003e\n\u003cli\u003eAdded Dependabot auto-merge workflow using \u003ccode\u003efrequenz-floss/dependabot-auto-approve\u003c/code\u003e action.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emkdocstrings: Move \u003ccode\u003epaths\u003c/code\u003e key to the right section in \u003ccode\u003emkdocs.yml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix invalid YAML syntax in Dependabot workflow template.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump types-pyyaml from 6.0.12.20250402 to 6.0.12.20250516 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/410\"\u003efrequenz-floss/frequenz-repo-config-python#410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/408\"\u003efrequenz-floss/frequenz-repo-config-python#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/409\"\u003efrequenz-floss/frequenz-repo-config-python#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove filtering of warnings in pytest by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/411\"\u003efrequenz-floss/frequenz-repo-config-python#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix mkdocsstrings config by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/412\"\u003efrequenz-floss/frequenz-repo-config-python#412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge v0.13.x into v0.x.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/420\"\u003efrequenz-floss/frequenz-repo-config-python#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/424\"\u003efrequenz-floss/frequenz-repo-config-python#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/423\"\u003efrequenz-floss/frequenz-repo-config-python#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate templates dependencies by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/431\"\u003efrequenz-floss/frequenz-repo-config-python#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump types-markdown from 3.8.0.20250415 to 3.8.0.20250708 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/430\"\u003efrequenz-floss/frequenz-repo-config-python#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mypy from 1.16.1 to 1.17.1 in the minor group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/428\"\u003efrequenz-floss/frequenz-repo-config-python#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the mkdocstrings group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/432\"\u003efrequenz-floss/frequenz-repo-config-python#432\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.x.x/RELEASE_NOTES.md\"\u003efrequenz-repo-config[lib]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release migrates lightweight GitHub Actions workflow jobs to use the new cost-effective \u003ccode\u003eubuntu-slim\u003c/code\u003e runner.\nIt also updates cookiecutter pyproject license metadata to SPDX expressions to avoid setuptools deprecation warnings.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated lightweight workflow jobs to use the new \u003ccode\u003eubuntu-slim\u003c/code\u003e runner for cost savings.\nThe following jobs now use \u003ccode\u003eubuntu-slim\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eci.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e, \u003ccode\u003enox-all\u003c/code\u003e, \u003ccode\u003etest-installation-all\u003c/code\u003e, \u003ccode\u003ecreate-github-release\u003c/code\u003e, \u003ccode\u003epublish-to-pypi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eci-pr.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauto-dependabot.yaml\u003c/code\u003e: \u003ccode\u003eauto-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erelease-notes-check.yml\u003c/code\u003e: \u003ccode\u003echeck-release-notes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edco-merge-queue.yml\u003c/code\u003e: \u003ccode\u003eDCO\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elabeler.yml\u003c/code\u003e: \u003ccode\u003eLabel\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitched \u003ccode\u003eproject.license\u003c/code\u003e to SPDX expressions and added \u003ccode\u003eproject.license-files\u003c/code\u003e.\nThis removes deprecated setuptools license metadata and avoids build warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/a72bd53788be72e52e392ba037d1846e9af9bdb0\"\u003e\u003ccode\u003ea72bd53\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/10341d61167efc0469c829a7e5159f4fb98db43b\"\u003e\u003ccode\u003e10341d6\u003c/code\u003e\u003c/a\u003e template: Bump protobuf and grpcio to latest versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/af4476785f83336c08114d344820f3c5e47819fa\"\u003e\u003ccode\u003eaf44767\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/8a4e067b5d713b7667fa0e2fb00328de43bf2355\"\u003e\u003ccode\u003e8a4e067\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/73dc4ef502a49f798a6ad672edd6b6b5478851ec\"\u003e\u003ccode\u003e73dc4ef\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/3d86e084ef981c8f5c8b7256918866bd22bbc069\"\u003e\u003ccode\u003e3d86e08\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/5894e50f24b3fcd742d8d44d2c370ad9a43d734f\"\u003e\u003ccode\u003e5894e50\u003c/code\u003e\u003c/a\u003e Bump pydoclint from 0.7.3 to 0.8.3 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/4a81cbbb8281d46e23c58112bdd202ace0861c85\"\u003e\u003ccode\u003e4a81cbb\u003c/code\u003e\u003c/a\u003e Bump frequenz-floss/gh-action-nox from 1.0.1 to 1.1.0 in the compatible group...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/41b3a2cb1a54c14ca1a4bc1bb983b17bee5580b1\"\u003e\u003ccode\u003e41b3a2c\u003c/code\u003e\u003c/a\u003e Bump pytest from 9.0.1 to 9.0.2 in the patch group (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/c2bbc77892b57010335680effe03cb368dc54b75\"\u003e\u003ccode\u003ec2bbc77\u003c/code\u003e\u003c/a\u003e Bump the minor group with 7 updates (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.12.3...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.9.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/1.9.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-markdown` from 3.7.0.20241204 to 3.10.0.20251106\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typeshed-internal/stub_uploader/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.12.3 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release adds a new workflow for Dependabot auto-merge and updates mkdocstrings to v2.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code, just have a look at the script output for further instructions.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emkdocsstrings-python\u003c/code\u003e v2 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003cli\u003eNew warning ignores for protobuf gencode versions in pytest.\u003c/li\u003e\n\u003cli\u003eAdded Dependabot auto-merge workflow using \u003ccode\u003efrequenz-floss/dependabot-auto-approve\u003c/code\u003e action.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emkdocstrings: Move \u003ccode\u003epaths\u003c/code\u003e key to the right section in \u003ccode\u003emkdocs.yml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix invalid YAML syntax in Dependabot workflow template.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump types-pyyaml from 6.0.12.20250402 to 6.0.12.20250516 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/410\"\u003efrequenz-floss/frequenz-repo-config-python#410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/408\"\u003efrequenz-floss/frequenz-repo-config-python#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/409\"\u003efrequenz-floss/frequenz-repo-config-python#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove filtering of warnings in pytest by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/411\"\u003efrequenz-floss/frequenz-repo-config-python#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix mkdocsstrings config by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/412\"\u003efrequenz-floss/frequenz-repo-config-python#412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge v0.13.x into v0.x.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/420\"\u003efrequenz-floss/frequenz-repo-config-python#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/424\"\u003efrequenz-floss/frequenz-repo-config-python#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/423\"\u003efrequenz-floss/frequenz-repo-config-python#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate templates dependencies by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/431\"\u003efrequenz-floss/frequenz-repo-config-python#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump types-markdown from 3.8.0.20250415 to 3.8.0.20250708 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/430\"\u003efrequenz-floss/frequenz-repo-config-python#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mypy from 1.16.1 to 1.17.1 in the minor group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/428\"\u003efrequenz-floss/frequenz-repo-config-python#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the mkdocstrings group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/432\"\u003efrequenz-floss/frequenz-repo-config-python#432\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.x.x/RELEASE_NOTES.md\"\u003efrequenz-repo-config[extra-lint-examples]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release migrates lightweight GitHub Actions workflow jobs to use the new cost-effective \u003ccode\u003eubuntu-slim\u003c/code\u003e runner.\nIt also updates cookiecutter pyproject license metadata to SPDX expressions to avoid setuptools deprecation warnings.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated lightweight workflow jobs to use the new \u003ccode\u003eubuntu-slim\u003c/code\u003e runner for cost savings.\nThe following jobs now use \u003ccode\u003eubuntu-slim\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eci.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e, \u003ccode\u003enox-all\u003c/code\u003e, \u003ccode\u003etest-installation-all\u003c/code\u003e, \u003ccode\u003ecreate-github-release\u003c/code\u003e, \u003ccode\u003epublish-to-pypi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eci-pr.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauto-dependabot.yaml\u003c/code\u003e: \u003ccode\u003eauto-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erelease-notes-check.yml\u003c/code\u003e: \u003ccode\u003echeck-release-notes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edco-merge-queue.yml\u003c/code\u003e: \u003ccode\u003eDCO\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elabeler.yml\u003c/code\u003e: \u003ccode\u003eLabel\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitched \u003ccode\u003eproject.license\u003c/code\u003e to SPDX expressions and added \u003ccode\u003eproject.license-files\u003c/code\u003e.\nThis removes deprecated setuptools license metadata and avoids build warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/a72bd53788be72e52e392ba037d1846e9af9bdb0\"\u003e\u003ccode\u003ea72bd53\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/10341d61167efc0469c829a7e5159f4fb98db43b\"\u003e\u003ccode\u003e10341d6\u003c/code\u003e\u003c/a\u003e template: Bump protobuf and grpcio to latest versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/af4476785f83336c08114d344820f3c5e47819fa\"\u003e\u003ccode\u003eaf44767\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/8a4e067b5d713b7667fa0e2fb00328de43bf2355\"\u003e\u003ccode\u003e8a4e067\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/73dc4ef502a49f798a6ad672edd6b6b5478851ec\"\u003e\u003ccode\u003e73dc4ef\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/3d86e084ef981c8f5c8b7256918866bd22bbc069\"\u003e\u003ccode\u003e3d86e08\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github....\n\n_Description has been truncated_","html_url":"https://github.com/llucax/frequenz-client-weather-python/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/llucax%2Ffrequenz-client-weather-python/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"3897416665","node_id":"PR_kwDORIn0eM7BgtPu","number":6,"state":"open","title":"Bump flake8-pyproject from 1.2.3 to 1.2.4","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-04T16:38:52.000Z","updated_at":"2026-02-04T16:38:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) from 1.2.3 to 1.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flake8-pyproject\u0026package-manager=pip\u0026previous-version=1.2.3\u0026new-version=1.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jamesaorson/template-python/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesaorson%2Ftemplate-python/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"3830734724","node_id":"PR_kwDOPUpNZM6-D6Z9","number":196,"state":"open","title":"deps(deps-dev): bump the python-development group with 17 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-19T18:08:04.000Z","updated_at":"2026-01-19T18:08:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps-dev): bump","group_name":"python-development","update_count":17,"packages":[{"name":"dependency-injector","old_version":"4.48.2","new_version":"4.48.3","repository_url":"https://github.com/ets-labs/python-dependency-injector"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"freezegun","old_version":"1.5.3","new_version":"1.5.5","repository_url":"https://github.com/spulec/freezegun"},{"name":"ipython","old_version":"9.4.0","new_version":"9.9.0","repository_url":"https://github.com/ipython/ipython"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pyfakefs","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/pytest-dev/pyfakefs"},{"name":"pytest-asyncio","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-deadfixtures","old_version":"2.2.1","new_version":"3.1.0","repository_url":"https://github.com/jllorencetti/pytest-deadfixtures"},{"name":"pytest-mock","old_version":"3.14.1","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-randomly","old_version":"3.16.0","new_version":"4.0.1","repository_url":"https://github.com/pytest-dev/pytest-randomly"},{"name":"pytest-reportportal","old_version":"5.5.2","new_version":"5.6.0","repository_url":"https://github.com/reportportal/agent-python-pytest"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.25.7","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"ruff","old_version":"0.12.11","new_version":"0.14.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"wemake-python-styleguide","old_version":"1.3.0","new_version":"1.5.0","repository_url":"https://github.com/wemake-services/wemake-python-styleguide"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-development group with 17 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [dependency-injector](https://github.com/ets-labs/python-dependency-injector) | `4.48.2` | `4.48.3` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [freezegun](https://github.com/spulec/freezegun) | `1.5.3` | `1.5.5` |\n| [ipython](https://github.com/ipython/ipython) | `9.4.0` | `9.9.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.5.1` |\n| [pyfakefs](https://github.com/pytest-dev/pyfakefs) | `5.10.2` | `6.0.0` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.2.0` | `1.3.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-deadfixtures](https://github.com/jllorencetti/pytest-deadfixtures) | `2.2.1` | `3.1.0` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.1` | `3.15.1` |\n| [pytest-randomly](https://github.com/pytest-dev/pytest-randomly) | `3.16.0` | `4.0.1` |\n| [pytest-reportportal](https://github.com/reportportal/agent-python-pytest) | `5.5.2` | `5.6.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.25.7` | `0.25.8` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.11` | `0.14.13` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) | `1.3.0` | `1.5.0` |\n\nUpdates `dependency-injector` from 4.48.2 to 4.48.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ets-labs/python-dependency-injector/releases\"\u003edependency-injector's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.48.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix providers.Resource missing overloads for AbstractContextManager and AbstractAsyncContextManager by \u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/927\"\u003eets-labs/python-dependency-injector#927\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFast depends v3 compatibility fix by \u003ca href=\"https://github.com/AndrianEquestrian\"\u003e\u003ccode\u003e@​AndrianEquestrian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/933\"\u003eets-labs/python-dependency-injector#933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow explicit typing on selector using TypeVar with default Any by \u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/932\"\u003eets-labs/python-dependency-injector#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetrofit assert_type for Aggregate and Callable by \u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/935\"\u003eets-labs/python-dependency-injector#935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eAnnotated\u003c/code\u003e marker to be anywhere in the annotation list. by \u003ca href=\"https://github.com/BrianPugh\"\u003e\u003ccode\u003e@​BrianPugh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/939\"\u003eets-labs/python-dependency-injector#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/927\"\u003eets-labs/python-dependency-injector#927\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BrianPugh\"\u003e\u003ccode\u003e@​BrianPugh\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/939\"\u003eets-labs/python-dependency-injector#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ets-labs/python-dependency-injector/compare/4.48.1...4.48.3\"\u003ehttps://github.com/ets-labs/python-dependency-injector/compare/4.48.1...4.48.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/1510a8479732229bd851f74b9cf28520f59760d7\"\u003e\u003ccode\u003e1510a84\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/51f818720211f7257d0372bda37372f067a3347d\"\u003e\u003ccode\u003e51f8187\u003c/code\u003e\u003c/a\u003e Allow annotated marker to be anywhere in the annotation list (\u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/244deee75ff87c43e92b81ccbe0a062ad8f44c3d\"\u003e\u003ccode\u003e244deee\u003c/code\u003e\u003c/a\u003e Retrofit assert_type for Aggregate and Callable (\u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/d72d07caf751669d6d40e7fc12a2aa97816e6069\"\u003e\u003ccode\u003ed72d07c\u003c/code\u003e\u003c/a\u003e Improve type annotations in providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/009a86de2c4a44f747e4499b1ccdf475dd449ab9\"\u003e\u003ccode\u003e009a86d\u003c/code\u003e\u003c/a\u003e Imporve dict typings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/18e32521a00e54113fa442b2b0b506d5ca109609\"\u003e\u003ccode\u003e18e3252\u003c/code\u003e\u003c/a\u003e Allow explicit typing on Selector using TypeVar with default Any (\u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/932\"\u003e#932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/059f78b27ccecabc5f8cf68f181e3253002c8f34\"\u003e\u003ccode\u003e059f78b\u003c/code\u003e\u003c/a\u003e Fix FastDepends v3 compatibility (\u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/9d3a43271e4cb3802a8fdf504656e126b99e0af8\"\u003e\u003ccode\u003e9d3a432\u003c/code\u003e\u003c/a\u003e Fix providers.Resource missing overloads for AbstractContextManager and Abstr...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ets-labs/python-dependency-injector/compare/4.48.2...4.48.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `freezegun` from 1.5.3 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spulec/freezegun/blob/master/CHANGELOG\"\u003efreezegun's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow parametrized arguments called 'func' (Broken in 1.5.4)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Ability to yield fixtures (broken in 1.5.3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/c9bf52c5aa12ea1b5b8647a136a92504ea071f2f\"\u003e\u003ccode\u003ec9bf52c\u003c/code\u003e\u003c/a\u003e Increase version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/0f2bd7ed8b420da73372f4cbb0207b777caa66e9\"\u003e\u003ccode\u003e0f2bd7e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spulec/freezegun/issues/582\"\u003e#582\u003c/a\u003e from spulec/fixture-called-func\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/a6080557cbcbe4891843934c1334430bb1c5ead7\"\u003e\u003ccode\u003ea608055\u003c/code\u003e\u003c/a\u003e Allow parametrized arguments with name 'func'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/2bb47113a5f9f290d26630c92732e58f49557179\"\u003e\u003ccode\u003e2bb4711\u003c/code\u003e\u003c/a\u003e Increase version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/7599eeea16b8f206e881892dc104128a5b36de82\"\u003e\u003ccode\u003e7599eee\u003c/code\u003e\u003c/a\u003e Add 1.5.4 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/0d00e7ddd9ad33fc63fbed29af17853b18bc3c61\"\u003e\u003ccode\u003e0d00e7d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spulec/freezegun/issues/579\"\u003e#579\u003c/a\u003e from zsh8/decorate_generator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/10c93f2d6c98f82e54470b05144cd0f17d3e1b46\"\u003e\u003ccode\u003e10c93f2\u003c/code\u003e\u003c/a\u003e fix: preserve functionality in pytest yield fixtures\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/spulec/freezegun/compare/1.5.3...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.4.0 to 9.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/0c28fe5821b85b091bf5693ff5ba3eda7bcc49ec\"\u003e\u003ccode\u003e0c28fe5\u003c/code\u003e\u003c/a\u003e release 9.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/b33b1341ae21649744d45934b50697218af86e40\"\u003e\u003ccode\u003eb33b134\u003c/code\u003e\u003c/a\u003e whats new 9.9 (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15113\"\u003e#15113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/3841c05af036bdbc31abbb9d012795c2a50bf71f\"\u003e\u003ccode\u003e3841c05\u003c/code\u003e\u003c/a\u003e whats new 99\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/0423da85d0eecfb7dad4d3b0f714b4c2376cd439\"\u003e\u003ccode\u003e0423da8\u003c/code\u003e\u003c/a\u003e Stop assuming that memory addresses are signed (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15111\"\u003e#15111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/4d0cb19f4724133b102eca3b72b353125efa66ba\"\u003e\u003ccode\u003e4d0cb19\u003c/code\u003e\u003c/a\u003e Stop assuming that memory addresses are signed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/4d71bcf89fe04107f6b1ecb0cf52c047c13c31c0\"\u003e\u003ccode\u003e4d71bcf\u003c/code\u003e\u003c/a\u003e Fix completions for methods starting with \u003ccode\u003e_\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15106\"\u003e#15106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/28d83b9ef7054d8603a7d2d0466cd656b2df0778\"\u003e\u003ccode\u003e28d83b9\u003c/code\u003e\u003c/a\u003e fix-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/74bf6d080d6a6cb917c44c45e54aa6620bcb3718\"\u003e\u003ccode\u003e74bf6d0\u003c/code\u003e\u003c/a\u003e add-end-to-end-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/e62c4ba60fb720fe46758dd5f60f179a7e3f55cb\"\u003e\u003ccode\u003ee62c4ba\u003c/code\u003e\u003c/a\u003e fix-completions-for-private-attr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/11e1f400eecbfa12bbf55cdfff758a256d41d34e\"\u003e\u003ccode\u003e11e1f40\u003c/code\u003e\u003c/a\u003e Add prompt_toolkit's unix_word_rubout to assignable commands for shortcuts (#...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.4.0...9.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.2.0 to 4.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases for \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be deprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.1 - 2025-12-16\u003c/h1\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.5.0 - 2025-11-22\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.4.0 - 2025-11-08\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases\nfor \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be\ndeprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.3.0 - 2025-08-09\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8a0630ca1aa7f6d5665effe674ebe2022af17919\"\u003e\u003ccode\u003e8a0630c\u003c/code\u003e\u003c/a\u003e v4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fcbc745744377ef2c9fe6a7e1a21c67d797933dc\"\u003e\u003ccode\u003efcbc745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e from pre-commit/empty-setup-py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/51592eececd13b99c40ec477ad8f810799147227\"\u003e\u003ccode\u003e51592ee\u003c/code\u003e\u003c/a\u003e fix python local template when artifact dirs are present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/67e8faf80baffcb4b79c31b89ca9a413a1cd6776\"\u003e\u003ccode\u003e67e8faf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3596\"\u003e#3596\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/c251e6b6d011b3b262339dc8e109de29b0ff8db1\"\u003e\u003ccode\u003ec251e6b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/98ccafa3ce42b846b9a9be9ed73fbbec7415496d\"\u003e\u003ccode\u003e98ccafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3593\"\u003e#3593\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/48953556d06f8cdb4248002c1a0044e69e0916b3\"\u003e\u003ccode\u003e4895355\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2cedd58e691f4d3bc6ab266c7d7c28464c3502be\"\u003e\u003ccode\u003e2cedd58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3588\"\u003e#3588\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/465192d7de58d569776eaaa818c94cb2b962d436\"\u003e\u003ccode\u003e465192d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fd42f96874279c4f65363bfea5238714419e54d7\"\u003e\u003ccode\u003efd42f96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3586\"\u003e#3586\u003c/a\u003e from pre-commit/zipapp-sha256-file-not-needed\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.2.0...v4.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyfakefs` from 5.10.2 to 6.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pyfakefs/releases\"\u003epyfakefs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epyfakefs release version 6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eremoves some deprecated functionality\u003c/li\u003e\n\u003cli\u003eremoves support for Python \u0026lt; 3.10\u003c/li\u003e\n\u003cli\u003esee the \u003ca href=\"https://github.com/pytest-dev/pyfakefs/blob/version-6.0/CHANGES.md#version-600-2025-12-21\"\u003erelease notes\u003c/a\u003e for a list of changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pyfakefs/blob/main/CHANGES.md\"\u003epyfakefs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://pypi.python.org/pypi/pyfakefs/6.0.0\"\u003eVersion 6.0.0\u003c/a\u003e (2025-12-21)\u003c/h2\u003e\n\u003cp\u003eRemoves some deprecated functionality, removes support for Python \u0026lt; 3.10.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremoved support for Python versions \u0026lt; 3.10; patch releases based on \u003ccode\u003epyfakefs\u003c/code\u003e 5.10\nsupporting older versions may be made on demand\u003c/li\u003e\n\u003cli\u003eremoved support for patching legacy modules \u003ccode\u003escandir\u003c/code\u003e and \u003ccode\u003epathlib2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003echanged the default for \u003ccode\u003eFakeFilesystem.shuffle_listdir_results\u003c/code\u003e to \u003ccode\u003eTrue\u003c/code\u003e to reflect\nthe real filesystem behavior\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded some support for Python 3.15a3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efixes a problem with \u003ccode\u003ePath\u003c/code\u003e type hints using the pipe symbol in wrapped functions\ninside an \u003ccode\u003efs\u003c/code\u003e dependent fixture (see \u003ca href=\"https://redirect.github.com/pytest-dev/pyfakefs/issues/1242\"\u003e#1242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efixes problem with new \u003ccode\u003ecoverage\u003c/code\u003e in Python 3.14 using the fake filesystem\n(see \u003ca href=\"https://redirect.github.com/pytest-dev/pyfakefs/issues/1245\"\u003e#1245\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded project information to documentation pages\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInfrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded CI tests for Python 3.15\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/fe83300fa947d680afe687386c5d25a4c15819c6\"\u003e\u003ccode\u003efe83300\u003c/code\u003e\u003c/a\u003e Release 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/326eaa377a4acf75ef5e1092778faf905d9329ac\"\u003e\u003ccode\u003e326eaa3\u003c/code\u003e\u003c/a\u003e Pin myst-parser to latest version 4.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/ff7d90820b863726816b229cbe9f9c190ef7298e\"\u003e\u003ccode\u003eff7d908\u003c/code\u003e\u003c/a\u003e Add project info to documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/42ad731dc9665d735d864208c21d862ba691c6a0\"\u003e\u003ccode\u003e42ad731\u003c/code\u003e\u003c/a\u003e Adapt to changes in Python 3.15a3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/7613b9fb0ebb3c3bd15dbc6c089385f8986ef6a0\"\u003e\u003ccode\u003e7613b9f\u003c/code\u003e\u003c/a\u003e Add CI tests for Python 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/4a4dea86226e8653f3ade74b85f562b0a1b5cc53\"\u003e\u003ccode\u003e4a4dea8\u003c/code\u003e\u003c/a\u003e Make old, deprecated \u0026quot;import py\u0026quot; optional (\u003ca href=\"https://redirect.github.com/pytest-dev/pyfakefs/issues/1257\"\u003e#1257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/f0794eebd424523eb2bb5d4280106379efebb4c4\"\u003e\u003ccode\u003ef0794ee\u003c/code\u003e\u003c/a\u003e Update furo from 2025.7.19 to 2025.12.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/09a128334f49182a70dc8e671f83678e2a7ae9aa\"\u003e\u003ccode\u003e09a1283\u003c/code\u003e\u003c/a\u003e Update pre-commit from 4.5.0 to 4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/57e6dfeef6131665816121bf721135996b11aec5\"\u003e\u003ccode\u003e57e6dfe\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/722ab00af67871af59bf28bb8c9c97931b75f016\"\u003e\u003ccode\u003e722ab00\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4 to 5\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pyfakefs/compare/v5.10.2...v6.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.2.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0\"\u003e1.3.0\u003c/a\u003e - 2025-11-10\u003c/h1\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for pytest 9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTested Python versions include free threaded Python 3.14t (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTests are run in the same pytest process, instead of spawning a subprocess with \u003ccode\u003epytest.Pytester.runpytest_subprocess\u003c/code\u003e. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1275\"\u003e#1275\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/2e9695fcf8c5c514f30f57b7d14ab83846357b96\"\u003e\u003ccode\u003e2e9695f\u003c/code\u003e\u003c/a\u003e docs: Compile changelog for v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/dd0e9ba3fa672fd6bf375004319742f8d3a50e12\"\u003e\u003ccode\u003edd0e9ba\u003c/code\u003e\u003c/a\u003e docs: Reference correct issue in news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4c31abe5bf46bca3c9bdc7b18405f3deba4145d0\"\u003e\u003ccode\u003e4c31abe\u003c/code\u003e\u003c/a\u003e Build(deps): Bump nh3 from 0.3.1 to 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/13e94770d7bb146c329ae0e02486c0a6b38f3772\"\u003e\u003ccode\u003e13e9477\u003c/code\u003e\u003c/a\u003e Link to migration guides from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4d2cf3c36f47d7c4d563d401cdf229b35da34fbe\"\u003e\u003ccode\u003e4d2cf3c\u003c/code\u003e\u003c/a\u003e tests: handle Python 3.14 DefaultEventLoopPolicy deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ee3549b6efb729b934e370e2be8040b25b034010\"\u003e\u003ccode\u003eee3549b\u003c/code\u003e\u003c/a\u003e test: Remove obsolete test for the event_loop fixture.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7a67c82c5ae548f0968438e9dfa0f282d51c4597\"\u003e\u003ccode\u003e7a67c82\u003c/code\u003e\u003c/a\u003e tests: Fix failing test by preventing warning conversion to error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a17b689a750d05b6fc9369f5fb2b06baaba83536\"\u003e\u003ccode\u003ea17b689\u003c/code\u003e\u003c/a\u003e test: add pytest config to isolated test directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/18afc9df5a3153dc1fbdc4e11a56517ef95480df\"\u003e\u003ccode\u003e18afc9d\u003c/code\u003e\u003c/a\u003e fix(tests): replace runpytest_subprocess with runpytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/cdc6bd1de75b4738289eafd546f5e27a0bfd3b41\"\u003e\u003ccode\u003ecdc6bd1\u003c/code\u003e\u003c/a\u003e Add support for pytest 9 and drop Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.2.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 6.1.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0 (2025-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for subprocesses measurement.\u003c/p\u003e\n\u003cp\u003eIt was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests.\nIt relied on a \u003ccode\u003e.pth\u003c/code\u003e file, there was no way to opt-out and it created bad interations\nwith \u003ccode\u003ecoverage's new patch system \u0026lt;https://coverage.readthedocs.io/en/latest/config.html#run-patch\u0026gt;\u003c/code\u003e_ added\nin \u003ccode\u003e7.10 \u0026lt;https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eTo migrate to this release you might need to enable the suprocess patch, example for \u003ccode\u003e.coveragerc\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: ini\u003c/p\u003e\n\u003cp\u003e[run]\npatch = subprocess\u003c/p\u003e\n\u003cp\u003eThis release also requires at least coverage 7.10.6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitched packaging to have metadata completely in \u003ccode\u003epyproject.toml\u003c/code\u003e and use \u003ccode\u003ehatchling \u0026lt;https://pypi.org/project/hatchling/\u0026gt;\u003c/code\u003e_ for\nbuilding.\nContributed by Ofek Lev in \u003ccode\u003e[#551](https://github.com/pytest-dev/pytest-cov/issues/551) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/551\u0026gt;\u003c/code\u003e_\nwith some extras in \u003ccode\u003e[#716](https://github.com/pytest-dev/pytest-cov/issues/716) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/716\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved some not really necessary testing deps like \u003ccode\u003esix\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0 (2025-09-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for markdown reports.\nContributed by Marcos Boger in \u003ccode\u003e[#712](https://github.com/pytest-dev/pytest-cov/issues/712) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/712\u0026gt;\u003c/code\u003e_\nand \u003ccode\u003e[#714](https://github.com/pytest-dev/pytest-cov/issues/714) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/714\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed some formatting issues in docs.\nAnonymous contribution in \u003ccode\u003e[#706](https://github.com/pytest-dev/pytest-cov/issues/706) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/706\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.1 (2025-06-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded a version requirement for pytest's pluggy dependency (1.2.0, released 2023-06-21) that has the required new-style hookwrapper API.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved deprecated license classifier (packaging).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisabled coverage warnings in two more situations where they have no value:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;module-not-measured\u0026quot; in workers\u003c/li\u003e\n\u003cli\u003e\u0026quot;already-imported\u0026quot; in subprocesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.0 (2025-06-11)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe plugin now adds 3 rules in the filter warnings configuration to prevent common coverage warnings being raised as obscure errors::\u003c/p\u003e\n\u003cp\u003edefault:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\nonce::PytestCovWarning\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/224d8964caad90074a8cf6dc8720b8f70f31629b\"\u003e\u003ccode\u003e224d896\u003c/code\u003e\u003c/a\u003e Bump version: 6.3.0 → 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/73424e3999f865eac72e27f09d5fe11b9703cfd6\"\u003e\u003ccode\u003e73424e3\u003c/code\u003e\u003c/a\u003e Cleanup the docs a bit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/36f1cc2967831dbd4c8aa70086fc86dc495f8b9a\"\u003e\u003ccode\u003e36f1cc2\u003c/code\u003e\u003c/a\u003e Bump pins in template.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f299c590a63a48e51e3ae949993dc7bb1f1d480d\"\u003e\u003ccode\u003ef299c59\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/25f0b2e0cdbc345c0d3e49170f7a328c3e0d805f\"\u003e\u003ccode\u003e25f0b2e\u003c/code\u003e\u003c/a\u003e Update docs/config.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/bb23eacc5531fb8f499213d8420407e0d72f88e3\"\u003e\u003ccode\u003ebb23eac\u003c/code\u003e\u003c/a\u003e Improve configuration docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/a19531e91e1ab753ccf648a2d9bab08a6fddebb9\"\u003e\u003ccode\u003ea19531e\u003c/code\u003e\u003c/a\u003e Switch from build/pre-commit to uv/prek - this should make this faster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/82f999391073f2fb8ae422af452602f310086a2a\"\u003e\u003ccode\u003e82f9993\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/211b5cd41c29916bc643b4a11b00578ba4fd6fe8\"\u003e\u003ccode\u003e211b5cd\u003c/code\u003e\u003c/a\u003e Fix links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/97aadd74bcbc00a2078d240e8fe871dd62b83d80\"\u003e\u003ccode\u003e97aadd7\u003c/code\u003e\u003c/a\u003e Update some ci config, reformat and apply some lint fixes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v6.1.1...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-deadfixtures` from 2.2.1 to 3.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/releases\"\u003epytest-deadfixtures's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds more test cases by \u003ca href=\"https://github.com/burkestar\"\u003e\u003ccode\u003e@​burkestar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/31\"\u003ejllorencetti/pytest-deadfixtures#31\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emove ci from travis to gh-actions by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/40\"\u003ejllorencetti/pytest-deadfixtures#40\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix flak8 pre-commit url by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/41\"\u003ejllorencetti/pytest-deadfixtures#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for parametrize fixtures by \u003ca href=\"https://github.com/jonatrios\"\u003e\u003ccode\u003e@​jonatrios\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/38\"\u003ejllorencetti/pytest-deadfixtures#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/42\"\u003ejllorencetti/pytest-deadfixtures#42\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump codecov/codecov-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/45\"\u003ejllorencetti/pytest-deadfixtures#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/44\"\u003ejllorencetti/pytest-deadfixtures#44\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump codecov/codecov-action from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/50\"\u003ejllorencetti/pytest-deadfixtures#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support 3.12 and 3.13 python, min python set 3.8 by \u003ca href=\"https://github.com/even-even\"\u003e\u003ccode\u003e@​even-even\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/51\"\u003ejllorencetti/pytest-deadfixtures#51\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/53\"\u003ejllorencetti/pytest-deadfixtures#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/52\"\u003ejllorencetti/pytest-deadfixtures#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun tests on supported Python versions by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/54\"\u003ejllorencetti/pytest-deadfixtures#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unused fixtures count by \u003ca href=\"https://github.com/Ivan-Feofanov\"\u003e\u003ccode\u003e@​Ivan-Feofanov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/36\"\u003ejllorencetti/pytest-deadfixtures#36\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burkestar\"\u003e\u003ccode\u003e@​burkestar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/31\"\u003ejllorencetti/pytest-deadfixtures#31\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonatrios\"\u003e\u003ccode\u003e@​jonatrios\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/38\"\u003ejllorencetti/pytest-deadfixtures#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/42\"\u003ejllorencetti/pytest-deadfixtures#42\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/even-even\"\u003e\u003ccode\u003e@​even-even\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/51\"\u003ejllorencetti/pytest-deadfixtures#51\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ivan-Feofanov\"\u003e\u003ccode\u003e@​Ivan-Feofanov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/36\"\u003ejllorencetti/pytest-deadfixtures#36\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.0.0\"\u003ehttps://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/blob/main/CHANGES.rst\"\u003epytest-deadfixtures's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.1.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add `deadfixtures_ignore` decorator to ignore specific fixtures from being reported as unused\n\u003cp\u003e3.0.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.5\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.8 and 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/58fd8179d8cc86130e312888dba20bdb5d28f1e3\"\u003e\u003ccode\u003e58fd817\u003c/code\u003e\u003c/a\u003e Remove license classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/fef94a5c05632118dd64c3c8daa453bb93f624ae\"\u003e\u003ccode\u003efef94a5\u003c/code\u003e\u003c/a\u003e Add documentation for ignoring specific fixtures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/33a4a02ba6589f9d6b9ee83e56da92d411c0ba48\"\u003e\u003ccode\u003e33a4a02\u003c/code\u003e\u003c/a\u003e Add support for ignoring specific fixtures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/7eae1ae08955c521c8d54c69cb5b51dc633f5408\"\u003e\u003ccode\u003e7eae1ae\u003c/code\u003e\u003c/a\u003e Fixes code format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/e6dbe8e20b49ad07ef84dbf7b38a65627d562290\"\u003e\u003ccode\u003ee6dbe8e\u003c/code\u003e\u003c/a\u003e add unused fixtures count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/28605dc26213f4cc557b60cba3c78dc8795bcc4d\"\u003e\u003ccode\u003e28605dc\u003c/code\u003e\u003c/a\u003e Run tests on supported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/bdae857bc5e1fd3324037514ada0a953a1fb4c50\"\u003e\u003ccode\u003ebdae857\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/f5e6c4a16d93ef7e67721e28556584d2bd0ebc8f\"\u003e\u003ccode\u003ef5e6c4a\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/5abe1f11c199d369635c02a5574be1e7f67ab8f0\"\u003e\u003ccode\u003e5abe1f1\u003c/code\u003e\u003c/a\u003e add support 3.12 and 3.13 python, min python set 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/ff9bf35f14142396972aa00a221d3e6b2eab2ac6\"\u003e\u003ccode\u003eff9bf35\u003c/code\u003e\u003c/a\u003e add support 3.12 and 3.13 python, min python set 3.8\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-mock` from 3.14.1 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/529\"\u003e#529\u003c/a\u003e: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/524\"\u003e#524\u003c/a\u003e: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst\"\u003epytest-mock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#529](https://github.com/pytest-dev/pytest-mock/issues/529) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/529\u0026gt;\u003c/code\u003e_: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#524](https://github.com/pytest-dev/pytest-mock/issues/524) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/524\u0026gt;\u003c/code\u003e_: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e1b5c62a38c5a05cae614aef3847f240ba50d269\"\u003e\u003ccode\u003ee1b5c62\u003c/code\u003e\u003c/a\u003e Release 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/184eb190d6be417f5f33727bcbc9704909479498\"\u003e\u003ccode\u003e184eb19\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003espy_return_iter\u003c/code\u003e only when explicitly requested (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/4fa0088a0aa85eefb1313bd97adf43889bf1f647\"\u003e\u003ccode\u003e4fa0088\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f5aff33ce71ed4620acc43dc41cb3b198bcf4cb0\"\u003e\u003ccode\u003ef5aff33\u003c/code\u003e\u003c/a\u003e Fix test failure with pytest 8+ and verbose mode (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/535\"\u003e#535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/adc41873c9d6aa69b87e3f108c93a29c847869aa\"\u003e\u003ccode\u003eadc4187\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/95ad5700609aae73c6f767b8cc2ccfb2483e0f5c\"\u003e\u003ccode\u003e95ad570\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/532\"\u003e#532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e696bf02c199b1f7d0c48adb450f40e5a75b699a\"\u003e\u003ccode\u003ee696bf0\u003c/code\u003e\u003c/a\u003e Fix standalone mock support (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/531\"\u003e#531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5b29b03ce9581cfcd867dd6c04a970fb2c861291\"\u003e\u003ccode\u003e5b29b03\u003c/code\u003e\u003c/a\u003e Fix gen-release-notes script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/7d22ef4e560351832e60687d8bd15ebe2785ff3b\"\u003e\u003ccode\u003e7d22ef4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/528\"\u003e#528\u003c/a\u003e from pytest-dev/release-3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.14.1...v3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-randomly` from 3.16.0 to 4.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-randomly/blob/main/CHANGELOG.rst\"\u003epytest-randomly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.1 (2025-09-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove the random state caching, which would grow without bound, leaking memory in long test runs.\nThe caching was added to slightly speed up re-using the same (final) seed, but since the final seed is now different for each test, it has no effect.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#690](https://github.com/pytest-dev/pytest-randomly/issues/690) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/687\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModify Numpy seed restriction, replacing hashing with a modulo operation.\nThe extra work to hash is unnecessary now that we generate a final seed per test with CRC32.\nThis change saves ~500ns per test when Numpy is installed.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#691](https://github.com/pytest-dev/pytest-randomly/issues/691) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/691\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0 (2025-09-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Python 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse a different random seed per test, based on the test ID.\u003c/p\u003e\n\u003cp\u003eThis change should mean that tests exercise more random data values in a given run, and that any randomly-generated identifiers have a lower chance of collision when stored in a shared resource like a database.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#687](https://github.com/pytest-dev/pytest-randomly/issues/687) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/687\u0026gt;\u003c/code\u003e\u003cstrong\u003e.\nThanks to Bryce Drennan for the suggestion in \u003ccode\u003eIssue [#600](https://github.com/pytest-dev/pytest-randomly/issues/600) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/600\u0026gt;\u003c/code\u003e\u003c/strong\u003e and initial implementation in \u003ccode\u003ePR [#617](https://github.com/pytest-dev/pytest-randomly/issues/617) \u0026lt;https://github.com/pytest-dev/pytest-randomly/pull/617\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove from MD5 to CRC32 for hashing test IDs, as it’s 5x faster and we don’t need cryptographic security.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eIssue [#686](https://github.com/pytest-dev/pytest-randomly/issues/686) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/686\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/50de0961ad3479901a153a4a89ff58ca7898b550\"\u003e\u003ccode\u003e50de096\u003c/code\u003e\u003c/a\u003e Version 4.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/f9406ec4452d05a865ee67b83fed58bc8f914bac\"\u003e\u003ccode\u003ef9406ec\u003c/code\u003e\u003c/a\u003e Modify Numpy seed restriction (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/22049aabcd1e19012c878dccd5fb1ad728221331\"\u003e\u003ccode\u003e22049aa\u003c/code\u003e\u003c/a\u003e Remove the random state caching (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/ded2e547566368d8751a13bf6b6e6ac8b509caa2\"\u003e\u003ccode\u003eded2e54\u003c/code\u003e\u003c/a\u003e Version 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/cb9b86128c9e79284f1bfad0dbd5d4c5427b5dfc\"\u003e\u003ccode\u003ecb9b861\u003c/code\u003e\u003c/a\u003e Move from MD5 to CRC32 for hashing test IDs (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/bd697bd670943c54b8d21e713dea58ab92508d08\"\u003e\u003ccode\u003ebd697bd\u003c/code\u003e\u003c/a\u003e Use a different random seed per test (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/acadf4684fd12e5e9ca14243167f44b8d302f093\"\u003e\u003ccode\u003eacadf46\u003c/code\u003e\u003c/a\u003e Generate default seed on demand (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/685\"\u003e#685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/f818056fa7933f9f08ff6c5cda0d78ecee14d0af\"\u003e\u003ccode\u003ef818056\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/684\"\u003e#684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/456f7877992809b4e152bf3a356c0a4658275fb7\"\u003e\u003ccode\u003e456f787\u003c/code\u003e\u003c/a\u003e Drop unused import of xdist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/e00b7822dff8061d26ff2b4bdf9dc1a3ea823092\"\u003e\u003ccode\u003ee00b782\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-randomly/compare/3.16.0...4.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-reportportal` from 5.5.2 to 5.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/reportportal/agent-python-pytest/releases\"\u003epytest-reportportal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 5.6.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficial \u003ccode\u003ePython 3.14\u003c/code\u003e support, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/reportportal/agent-python-pytest/issues/396\"\u003e#396\u003c/a\u003e parametrize marker IDs, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom log level handling with \u003ccode\u003erp_log_custom_levels\u003c/code\u003e configuration parameter, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClient version updated on \u003ca href=\"https://github.com/reportportal/client-Python/releases/tag/5.7.0\"\u003e5.7.0\u003c/a\u003e, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePython 3.8\u003c/code\u003e support, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eretries\u003c/code\u003e parameter, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 5.5.4\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn back deprecated \u003ccode\u003erp_log_batch_payload_size\u003c/code\u003e parameter for sake of backward compatibility, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eNOTE: This is the last agent version which supports Python 3.8\u003c/h1\u003e\n\u003ch2\u003eRelease 5.5.3\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth 2.0 Password Grant authentication, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClient version updated to \u003ca href=\"https://github.com/reportportal/client-Python/releases/tag/5.6.7\"\u003e5.6.7\u003c/a\u003e, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSome configuration parameter names, which are different in the client, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erp_uuid\u003c/code\u003e param support, as it was deprecated pretty while ago, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/reportportal/agent-python-pytest/blob/develop/CHANGELOG.md\"\u003epytest-reportportal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[5.6.0]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficial \u003ccode\u003ePython 3.14\u003c/code\u003e support, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/reportportal/agent-python-pytest/issues/396\"\u003e#396\u003c/a\u003e parametrize marker IDs, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom log level handling with \u003ccode\u003erp_log_custom_levels\u003c/code\u003e configuration parameter, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClient version updated on \u003ca href=\"https://github.com/reportportal/client-Python/releases/tag/5.7.0\"\u003e5.7.0\u003c/a\u003e, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePython 3.8\u003c/code\u003e support, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eretries\u003c/code\u003e parameter, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[5.5.4]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn back deprecated \u003ccode\u003erp_log_batch_payload_size\u003c/code\u003e parameter for sake of backward compatibility, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[5.5.3]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth 2.0 Password Grant authentication, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClient version updated to \u003ca href=\"https://github.com/reportportal/client-Python/releases/tag/5.6.7\"\u003e5.6.7\u003c/a\u003e, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSome configuration parameter names, which are different in the client, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erp_uuid\u003c/code\u003e param support, as it was deprecated pretty while ago, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/5c94b4b8fcdc1dd6473fc6399fe81d74776885bd\"\u003e\u003ccode\u003e5c94b4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/reportportal/agent-python-pytest/issues/406\"\u003e#406\u003c/a\u003e from reportportal/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/655740c6fc2709c2ccf2f23bd104ec3a3ee0b556\"\u003e\u003ccode\u003e655740c\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/a7ac7ce6e6fc61f764f297558a173f3a752d5d82\"\u003e\u003ccode\u003ea7ac7ce\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/10c3f461e2911444ad41625322ae11f955e96c22\"\u003e\u003ccode\u003e10c3f46\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/84dff8f1f4f4dc73a167ddb5a45b55cddbd064fa\"\u003e\u003ccode\u003e84dff8f\u003c/code\u003e\u003c/a\u003e Add custom log level handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/f828c91050cfb4fb2bca6808885856c9b1f97a90\"\u003e\u003ccode\u003ef828c91\u003c/code\u003e\u003c/a\u003e Update types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/7c8496a1dae27c0554ea80fec5edcf0dfc435371\"\u003e\u003ccode\u003e7c8496a\u003c/code\u003e\u003c/a\u003e Implements issue \u003ca href=\"https://redirect.github.com/reportportal/agent-python-pytest/issues/396\"\u003e#396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/0887b2c9ae2d0153d4fcb7a29c298bbe7f49ca56\"\u003e\u003ccode\u003e0887b2c\u003c/code\u003e\u003c/a\u003e .gitignore update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/cb2ecf4f5df8b08584da1a14b86b3be8c78ff8a5\"\u003e\u003ccode\u003ecb2ecf4\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/c59a1aa49744d2fa768251cb36bf96659572be73\"\u003e\u003ccode\u003ec59a1aa\u003c/code\u003e\u003c/a\u003e Minor version bump, Python 3.8 support remove, deprecated code remove\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/reportportal/agent-python-pytest/compare/5.5.2...5.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-xdist` from 3.6.1 to 3.8.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst\"\u003epytest-xdist's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003epytest-xdist 3.8.0 (2025-06-30)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1083](https://github.com/pytest-dev/pytest-xdist/issues/1083) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1083\u0026gt;\u003c/code\u003e_: Add \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e and \u003ccode\u003e--loadscope-reorder\u003c/code\u003e option to control whether to automatically reorder tests in loadscope for tests where relative ordering matters. This only applies when using \u003ccode\u003eloadscope\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, [test_file_1, test_file_2, ..., test_file_n] are given as input test files, if \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e is used, for either worker, the \u003ccode\u003etest_file_a\u003c/code\u003e will be executed before \u003ccode\u003etest_file_b\u003c/code\u003e only if \u003ccode\u003ea \u0026lt; b\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default behavior is to reorder the tests to maximize the number of tests that can be executed in parallel.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003epytest-xdist 3.7.0 (2025-05-26)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1142](https://github.com/pytest-dev/pytest-xdist/issues/1142) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1142\u0026gt;\u003c/code\u003e_: Added support for Python 3.13.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1144](https://github.com/pytest-dev/pytest-xdist/issues/1144) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1144\u0026gt;\u003c/code\u003e_: The internal \u003ccode\u003esteal\u003c/code\u003e command is now atomic - it unschedules either all requested tests or none.\u003c/p\u003e\n\u003cp\u003eThis is a prerequisite for group/scope support in the \u003ccode\u003eworksteal\u003c/code\u003e scheduler, so test groups won't be broken up incorrectly.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1170](https://github.com/pytest-dev/pytest-xdist/issues/1170) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1170\u0026gt;\u003c/code\u003e_: Add the \u003ccode\u003e--px\u003c/code\u003e arg to create proxy gateways.\u003c/p\u003e\n\u003cp\u003eProxy gateways are passed to additional gateways using the \u003ccode\u003evia\u003c/code\u003e keyword.\nThey can serve as a way to run multiple workers on remote machines.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1200](https://github.com/pytest-dev/pytest-xdist/issues/1200) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1200\u0026gt;\u003c/code\u003e_: Now multiple \u003ccode\u003exdist_group\u003c/code\u003e markers are considered when assigning tests to groups (order does not matter).\u003c/p\u003e\n\u003cp\u003ePreviously, only the last marker would assign a test to a group, but now if a test has multiple \u003ccode\u003exdist_group\u003c/code\u003e marks applied (for example via parametrization or via fixtures), they are merged to make a new group.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#1162](https://github.com/pytest-dev/pytest-xdist/issues/1162) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1162\u0026gt;\u003c/code\u003e_: Dropped support for EOL Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTrivial Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1092](https://github.com/pytest-dev/pytest-xdist/issues/1092) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1092\u0026gt;\u003c/code\u003e_: Update an error message to better indicate where users should go for more information.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1190](https://github.com/pytest-dev/pytest-xdist/issues/1190) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1190\u0026gt;\u003c/code\u003e_: Switched to using a SPDX license identifier introduced in PEP 639.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/1e3e4dc16523c8a8f6c67d95a950166420718c99\"\u003e\u003ccode\u003e1e3e4dc\u003c/code\u003e\u003c/a\u003e Release 3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/600aad575a4e4382855145b0c464d51b8f0b7242\"\u003e\u003ccode\u003e600aad5\u003c/code\u003e\u003c/a\u003e Ensure all xdist group names are strings (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/9d7ba5b5fbbbe26793fbfb7cb1903eb69425cf09\"\u003e\u003ccode\u003e9d7ba5b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e and \u003ccode\u003e--loadscope-reorder\u003c/code\u003e options (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/532f07fb181bb1546eda79bbe6b46bdb56c699e1\"\u003e\u003ccode\u003e532f07f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1210\"\u003e#1210\u003c/a\u003e from pytest-dev/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/0883ad085e0cf039c8ae13eb2789c1076544d225\"\u003e\u003ccode\u003e0883ad0\u003c/code\u003e\u003c/a\u003e Fix Path usage in \u003ccode\u003etest_rsync_roots_no_roots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/58a51bc14015d211761e44c2bdacab09c3893668\"\u003e\u003ccode\u003e58a51bc\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/59a2ad0150697b9ff837f3ae8dcf6e074d5a114b\"\u003e\u003ccode\u003e59a2ad0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1220\"\u003e#1220\u003c/a\u003e from pytest-dev/dependabot/github_actions/github-act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/d42b9c72044855236c68286ca3bdb34486a05872\"\u003e\u003ccode\u003ed42b9c7\u003c/code\u003e\u003c/a\u003e build(deps): bump hynek/build-and-inspect-python-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/ebfcb99072aed3503fda5175245f28895a0204bb\"\u003e\u003ccode\u003eebfcb99\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1206\"\u003e#1206\u003c/a\u003e from pytest-dev/release-3.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/23b7fd6054298a530b02b33d07007b3082a36277\"\u003e\u003ccode\u003e23b7fd6\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1207\"\u003e#1207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-xdist/compare/v3.6.1...v3.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `responses` from 0.25.7 to 0.25.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/responses/releases\"\u003eresponses's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where the content type is always recorded as either text/plain or application/json. See \u003ca href=\"https://redirect.github.com/getsentry/responses/issues/770\"\u003e#770\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow asserts on add_callback() matches. See ...\n\n_Description has been truncated_","html_url":"https://github.com/softwareone-platform/mpt-api-python-client/pull/196","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwareone-platform%2Fmpt-api-python-client/issues/196","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/196/packages"},{"uuid":"3774994393","node_id":"PR_kwDOQRAEks67N9YT","number":19,"state":"closed","title":"Bump flake8-pyproject from 1.2.3 to 1.2.4 in the patch group","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt","tool:auto-merged"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-21T16:10:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-01T18:17:57.000Z","updated_at":"2026-01-21T16:10:53.000Z","time_to_close":1720374,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":"the patch group","ecosystem":"pip"},"body":"Bumps the patch group with 1 update: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flake8-pyproject\u0026package-manager=pip\u0026previous-version=1.2.3\u0026new-version=1.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/frequenz-floss/frequenz-client-marketmetering-python/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-client-marketmetering-python/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"},{"uuid":"3774516240","node_id":"PR_kwDOQm-Fac67Ma6i","number":18,"state":"closed","title":"build(deps-dev): Bump the patch group with 3 updates","user":"dependabot[bot]","labels":["part:tooling","tool:auto-merged"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-01T11:24:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-01T11:23:51.000Z","updated_at":"2026-01-01T11:24:13.000Z","time_to_close":15,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): Bump","group_name":"patch","update_count":3,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"mkdocs-material","old_version":"9.7.0","new_version":"9.7.1","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"mypy","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 3 updates: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [mkdocs-material](https://github.com/squidfunk/mkdocs-material) and [mypy](https://github.com/python/mypy).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.7.0 to 9.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for automatic image optimization via optimize plugin\u003c/li\u003e\n\u003cli\u003eAdded support for navigation paths (breadcrumbs)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8519\"\u003e#8519\u003c/a\u003e: Vector accents do not render when using KaTeX\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.23 (2025-11-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/7e236f6866b73aa080cd4d209752f6440bf67440\"\u003e\u003ccode\u003e7e236f6\u003c/code\u003e\u003c/a\u003e Temporarily disable publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/394149152dc10fc5383c956cd133a665c22fa907\"\u003e\u003ccode\u003e3941491\u003c/code\u003e\u003c/a\u003e Fixed CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/034eaf7b0b7a0a4d2e66179de0dcaded4c923f76\"\u003e\u003ccode\u003e034eaf7\u003c/code\u003e\u003c/a\u003e Prepare 9.7.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/79ba428abebf9b365d4930fb9b147255edd10b88\"\u003e\u003ccode\u003e79ba428\u003c/code\u003e\u003c/a\u003e Fixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/61cad249b6eec5727bcf245ca2dea3ef6c98790f\"\u003e\u003ccode\u003e61cad24\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/dde13ceb9bb49be3b84bc8c1e59b313250ea8516\"\u003e\u003ccode\u003edde13ce\u003c/code\u003e\u003c/a\u003e Fixed false positives and negatives captured in privacy plugin  (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/291012dcf5aff75a32a6fe9e9a6be4d769da12ac\"\u003e\u003ccode\u003e291012d\u003c/code\u003e\u003c/a\u003e Updated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/673d8ca986c37ddeabe25c7e7b7299ec644910ed\"\u003e\u003ccode\u003e673d8ca\u003c/code\u003e\u003c/a\u003e Fixed links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/17227844dce216bf172c9e5de69809765a0b5ab7\"\u003e\u003ccode\u003e1722784\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/aee925f5a0ae3e343ff310e35c667d24eeaff7df\"\u003e\u003ccode\u003eaee925f\u003c/code\u003e\u003c/a\u003e Fixed links\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.7.0...9.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.19.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Marenz/frequenz-client-marketmetering-python-standalone-backup/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marenz%2Ffrequenz-client-marketmetering-python-standalone-backup/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"},{"uuid":"3774467099","node_id":"PR_kwDOI2sz8s67MPyA","number":97,"state":"closed","title":"chore(deps-dev): bump flake8-pyproject from 1.2.3 to 1.2.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-02T03:48:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-01T11:02:03.000Z","updated_at":"2026-01-02T03:48:15.000Z","time_to_close":60370,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) from 1.2.3 to 1.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flake8-pyproject\u0026package-manager=pip\u0026previous-version=1.2.3\u0026new-version=1.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/layertwo/aws-cdk-game-stacks/pull/97","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/layertwo%2Faws-cdk-game-stacks/issues/97","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/97/packages"},{"uuid":"3753520706","node_id":"PR_kwDOK5vSp866IJ2b","number":698,"state":"open","title":"deps(deps-dev): bump the python-development group with 17 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-22T11:58:54.000Z","updated_at":"2025-12-22T12:04:03.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps-dev): bump","group_name":"python-development","update_count":17,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"freezegun","old_version":"1.4.0","new_version":"1.5.5","repository_url":"https://github.com/spulec/freezegun"},{"name":"ipython","old_version":"8.37.0","new_version":"9.8.0","repository_url":"https://github.com/ipython/ipython"},{"name":"mypy","old_version":"1.8.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pre-commit","old_version":"3.6.2","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pytest","old_version":"7.4.4","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"4.1.0","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-deadfixtures","old_version":"2.2.1","new_version":"3.0.0","repository_url":"https://github.com/jllorencetti/pytest-deadfixtures"},{"name":"pytest-django","old_version":"4.7.0","new_version":"4.11.1","repository_url":"https://github.com/pytest-dev/pytest-django"},{"name":"pytest-mock","old_version":"3.12.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-randomly","old_version":"3.15.0","new_version":"4.0.1","repository_url":"https://github.com/pytest-dev/pytest-randomly"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"ruff","old_version":"0.12.11","new_version":"0.14.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"types-requests","old_version":"2.31.0.20240406","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"wemake-python-styleguide","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/wemake-services/wemake-python-styleguide"},{"name":"debugpy","old_version":"1.8.17","new_version":"1.8.19","repository_url":"https://github.com/microsoft/debugpy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-development group with 17 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [freezegun](https://github.com/spulec/freezegun) | `1.4.0` | `1.5.5` |\n| [ipython](https://github.com/ipython/ipython) | `8.37.0` | `9.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.8.0` | `1.19.1` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `3.6.2` | `4.5.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `7.4.4` | `9.0.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `4.1.0` | `7.0.0` |\n| [pytest-deadfixtures](https://github.com/jllorencetti/pytest-deadfixtures) | `2.2.1` | `3.0.0` |\n| [pytest-django](https://github.com/pytest-dev/pytest-django) | `4.7.0` | `4.11.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.12.0` | `3.15.1` |\n| [pytest-randomly](https://github.com/pytest-dev/pytest-randomly) | `3.15.0` | `4.0.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.25.8` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.11` | `0.14.10` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.31.0.20240406` | `2.32.4.20250913` |\n| [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) | `1.3.0` | `1.4.0` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.17` | `1.8.19` |\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `freezegun` from 1.4.0 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spulec/freezegun/blob/master/CHANGELOG\"\u003efreezegun's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow parametrized arguments called 'func' (Broken in 1.5.4)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Ability to yield fixtures (broken in 1.5.3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility with pytest 8.4.0 when using fixtures\u003c/li\u003e\n\u003cli\u003eAdd (back) class-decorator overload to guarantee Pytype understands it\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.7\u003c/li\u003e\n\u003cli\u003eExplicitly marks support for Python 3.13\u003c/li\u003e\n\u003cli\u003eImproved project documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the typing of the \u003ccode\u003etick()\u003c/code\u003e method, and improve it's behaviour.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe default ignore list now contains the \u003ccode\u003equeue\u003c/code\u003e-package\u003c/li\u003e\n\u003cli\u003eAdded a missing \u003ccode\u003emove_to\u003c/code\u003e-function when calling \u003ccode\u003efreeze_time(tick=True)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixes a rounding error in \u003ccode\u003etime.time_ns()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed a bug where the default ignore list could not be empty (\u003ccode\u003econfigure(default_ignore_list=[])\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAll \u003ccode\u003etick()\u003c/code\u003e methods now return the new datetime (instead of None)\u003c/li\u003e\n\u003cli\u003eType improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/c9bf52c5aa12ea1b5b8647a136a92504ea071f2f\"\u003e\u003ccode\u003ec9bf52c\u003c/code\u003e\u003c/a\u003e Increase version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/0f2bd7ed8b420da73372f4cbb0207b777caa66e9\"\u003e\u003ccode\u003e0f2bd7e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spulec/freezegun/issues/582\"\u003e#582\u003c/a\u003e from spulec/fixture-called-func\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/a6080557cbcbe4891843934c1334430bb1c5ead7\"\u003e\u003ccode\u003ea608055\u003c/code\u003e\u003c/a\u003e Allow parametrized arguments with name 'func'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/2bb47113a5f9f290d26630c92732e58f49557179\"\u003e\u003ccode\u003e2bb4711\u003c/code\u003e\u003c/a\u003e Increase version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/7599eeea16b8f206e881892dc104128a5b36de82\"\u003e\u003ccode\u003e7599eee\u003c/code\u003e\u003c/a\u003e Add 1.5.4 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/0d00e7ddd9ad33fc63fbed29af17853b18bc3c61\"\u003e\u003ccode\u003e0d00e7d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spulec/freezegun/issues/579\"\u003e#579\u003c/a\u003e from zsh8/decorate_generator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/10c93f2d6c98f82e54470b05144cd0f17d3e1b46\"\u003e\u003ccode\u003e10c93f2\u003c/code\u003e\u003c/a\u003e fix: preserve functionality in pytest yield fixtures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/d2e0a00addb0653b0cf3be65f8fa7137c7e3bda1\"\u003e\u003ccode\u003ed2e0a00\u003c/code\u003e\u003c/a\u003e Increase version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/6229e27d27ec61c4c55d7006db7ede6f16d7280a\"\u003e\u003ccode\u003e6229e27\u003c/code\u003e\u003c/a\u003e Add 1.5.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/3111775d6e484f55a85030c626180b592adef569\"\u003e\u003ccode\u003e3111775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spulec/freezegun/issues/576\"\u003e#576\u003c/a\u003e from spulec/support-fixtures-pytest-840\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spulec/freezegun/compare/1.4.0...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 8.37.0 to 9.8.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/2fc1f45803f44e80ed121b6da0de9c5b38a3f3ec\"\u003e\u003ccode\u003e2fc1f45\u003c/code\u003e\u003c/a\u003e release 9.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/ed971f9ca5d63484d0a63d2d0f1d29b91eb71261\"\u003e\u003ccode\u003eed971f9\u003c/code\u003e\u003c/a\u003e Whatsnew 9.8 (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15090\"\u003e#15090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/6b93788154f321c8e3968319f1eb141170978497\"\u003e\u003ccode\u003e6b93788\u003c/code\u003e\u003c/a\u003e Whatsnew 9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/413a07737495343b967b1cb9f36b8da01271adf8\"\u003e\u003ccode\u003e413a077\u003c/code\u003e\u003c/a\u003e Some documentation updates. (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15084\"\u003e#15084\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/df6b2d0f8eecab875f4fa43bf5127b8f36d85a63\"\u003e\u003ccode\u003edf6b2d0\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15086\"\u003e#15086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/b33d048d19e4f7d5e1fa28551ef46d0d45ff93f5\"\u003e\u003ccode\u003eb33d048\u003c/code\u003e\u003c/a\u003e execution count more atomic, run_cell_async reenterable (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15088\"\u003e#15088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/aaa5a4562899f6a805468772aecfddb5036158a9\"\u003e\u003ccode\u003eaaa5a45\u003c/code\u003e\u003c/a\u003e execution count more atomic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/e9e7e4f7df001d345fa0be1362c30ccb8f88839f\"\u003e\u003ccode\u003ee9e7e4f\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/263ebaa46d8a3aca21cfbc2c073e0e4e2c5b4ef6\"\u003e\u003ccode\u003e263ebaa\u003c/code\u003e\u003c/a\u003e Fix some ruff issues with import (rule UP35 not activated yet) (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15037\"\u003e#15037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/6240d23b089973bf3cf1a3274c0cadc91b963dc4\"\u003e\u003ccode\u003e6240d23\u003c/code\u003e\u003c/a\u003e Many documentation updates.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/8.37.0...9.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.8.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.8.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 3.6.2 to 4.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases for \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be deprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFor \u003ccode\u003elanguage: python\u003c/code\u003e first attempt a versioned python executable for the default language version before consulting a potentially unversioned \u003ccode\u003esys.executable\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3430\"\u003e#3430\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle error during conflict detection when a file is named \u0026quot;HEAD\u0026quot;\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3425\"\u003e#3425\u003c/a\u003e PR by \u003ca href=\"https://github.com/tusharsadhwani\"\u003e\u003ccode\u003e@​tusharsadhwani\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.1 - 2025-12-16\u003c/h1\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.5.0 - 2025-11-22\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.4.0 - 2025-11-08\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases\nfor \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be\ndeprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.3.0 - 2025-08-09\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8a0630ca1aa7f6d5665effe674ebe2022af17919\"\u003e\u003ccode\u003e8a0630c\u003c/code\u003e\u003c/a\u003e v4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fcbc745744377ef2c9fe6a7e1a21c67d797933dc\"\u003e\u003ccode\u003efcbc745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e from pre-commit/empty-setup-py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/51592eececd13b99c40ec477ad8f810799147227\"\u003e\u003ccode\u003e51592ee\u003c/code\u003e\u003c/a\u003e fix python local template when artifact dirs are present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/67e8faf80baffcb4b79c31b89ca9a413a1cd6776\"\u003e\u003ccode\u003e67e8faf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3596\"\u003e#3596\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/c251e6b6d011b3b262339dc8e109de29b0ff8db1\"\u003e\u003ccode\u003ec251e6b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/98ccafa3ce42b846b9a9be9ed73fbbec7415496d\"\u003e\u003ccode\u003e98ccafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3593\"\u003e#3593\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/48953556d06f8cdb4248002c1a0044e69e0916b3\"\u003e\u003ccode\u003e4895355\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2cedd58e691f4d3bc6ab266c7d7c28464c3502be\"\u003e\u003ccode\u003e2cedd58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3588\"\u003e#3588\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/465192d7de58d569776eaaa818c94cb2b962d436\"\u003e\u003ccode\u003e465192d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fd42f96874279c4f65363bfea5238714419e54d7\"\u003e\u003ccode\u003efd42f96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3586\"\u003e#3586\u003c/a\u003e from pre-commit/zipapp-sha256-file-not-needed\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v3.6.2...v4.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 7.4.4 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.1\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.1 (2025-11-12)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13895\"\u003e#13895\u003c/a\u003e: Restore support for skipping tests via \u003ccode\u003eraise unittest.SkipTest\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the verbosity settings in the API reference from number to string.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13910\"\u003e#13910\u003c/a\u003e: Fixed \u003c!-- raw HTML omitted --\u003eUserWarning: Do not expect file_or_dir\u003c!-- raw HTML omitted --\u003e on some earlier Python 3.12 and 3.13 point versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13891\"\u003e#13891\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13942\"\u003e#13942\u003c/a\u003e: The CI/CD part of the release automation is now capable of\ncreating GitHub Releases without having a Git checkout on\ndisk -- by \u003ccode\u003ebluetech\u003c/code\u003e and \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/7.4.4...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 4.1.0 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0 (2025-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for subprocesses measurement.\u003c/p\u003e\n\u003cp\u003eIt was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests.\nIt relied on a \u003ccode\u003e.pth\u003c/code\u003e file, there was no way to opt-out and it created bad interations\nwith \u003ccode\u003ecoverage's new patch system \u0026lt;https://coverage.readthedocs.io/en/latest/config.html#run-patch\u0026gt;\u003c/code\u003e_ added\nin \u003ccode\u003e7.10 \u0026lt;https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eTo migrate to this release you might need to enable the suprocess patch, example for \u003ccode\u003e.coveragerc\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: ini\u003c/p\u003e\n\u003cp\u003e[run]\npatch = subprocess\u003c/p\u003e\n\u003cp\u003eThis release also requires at least coverage 7.10.6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitched packaging to have metadata completely in \u003ccode\u003epyproject.toml\u003c/code\u003e and use \u003ccode\u003ehatchling \u0026lt;https://pypi.org/project/hatchling/\u0026gt;\u003c/code\u003e_ for\nbuilding.\nContributed by Ofek Lev in \u003ccode\u003e[#551](https://github.com/pytest-dev/pytest-cov/issues/551) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/551\u0026gt;\u003c/code\u003e_\nwith some extras in \u003ccode\u003e[#716](https://github.com/pytest-dev/pytest-cov/issues/716) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/716\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved some not really necessary testing deps like \u003ccode\u003esix\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0 (2025-09-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for markdown reports.\nContributed by Marcos Boger in \u003ccode\u003e[#712](https://github.com/pytest-dev/pytest-cov/issues/712) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/712\u0026gt;\u003c/code\u003e_\nand \u003ccode\u003e[#714](https://github.com/pytest-dev/pytest-cov/issues/714) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/714\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed some formatting issues in docs.\nAnonymous contribution in \u003ccode\u003e[#706](https://github.com/pytest-dev/pytest-cov/issues/706) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/706\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.1 (2025-06-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded a version requirement for pytest's pluggy dependency (1.2.0, released 2023-06-21) that has the required new-style hookwrapper API.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved deprecated license classifier (packaging).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisabled coverage warnings in two more situations where they have no value:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;module-not-measured\u0026quot; in workers\u003c/li\u003e\n\u003cli\u003e\u0026quot;already-imported\u0026quot; in subprocesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.0 (2025-06-11)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe plugin now adds 3 rules in the filter warnings configuration to prevent common coverage warnings being raised as obscure errors::\u003c/p\u003e\n\u003cp\u003edefault:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\nonce::PytestCovWarning\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/224d8964caad90074a8cf6dc8720b8f70f31629b\"\u003e\u003ccode\u003e224d896\u003c/code\u003e\u003c/a\u003e Bump version: 6.3.0 → 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/73424e3999f865eac72e27f09d5fe11b9703cfd6\"\u003e\u003ccode\u003e73424e3\u003c/code\u003e\u003c/a\u003e Cleanup the docs a bit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/36f1cc2967831dbd4c8aa70086fc86dc495f8b9a\"\u003e\u003ccode\u003e36f1cc2\u003c/code\u003e\u003c/a\u003e Bump pins in template.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f299c590a63a48e51e3ae949993dc7bb1f1d480d\"\u003e\u003ccode\u003ef299c59\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/25f0b2e0cdbc345c0d3e49170f7a328c3e0d805f\"\u003e\u003ccode\u003e25f0b2e\u003c/code\u003e\u003c/a\u003e Update docs/config.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/bb23eacc5531fb8f499213d8420407e0d72f88e3\"\u003e\u003ccode\u003ebb23eac\u003c/code\u003e\u003c/a\u003e Improve configuration docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/a19531e91e1ab753ccf648a2d9bab08a6fddebb9\"\u003e\u003ccode\u003ea19531e\u003c/code\u003e\u003c/a\u003e Switch from build/pre-commit to uv/prek - this should make this faster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/82f999391073f2fb8ae422af452602f310086a2a\"\u003e\u003ccode\u003e82f9993\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/211b5cd41c29916bc643b4a11b00578ba4fd6fe8\"\u003e\u003ccode\u003e211b5cd\u003c/code\u003e\u003c/a\u003e Fix links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/97aadd74bcbc00a2078d240e8fe871dd62b83d80\"\u003e\u003ccode\u003e97aadd7\u003c/code\u003e\u003c/a\u003e Update some ci config, reformat and apply some lint fixes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v4.1.0...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-deadfixtures` from 2.2.1 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/releases\"\u003epytest-deadfixtures's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds more test cases by \u003ca href=\"https://github.com/burkestar\"\u003e\u003ccode\u003e@​burkestar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/31\"\u003ejllorencetti/pytest-deadfixtures#31\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emove ci from travis to gh-actions by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/40\"\u003ejllorencetti/pytest-deadfixtures#40\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix flak8 pre-commit url by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/41\"\u003ejllorencetti/pytest-deadfixtures#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for parametrize fixtures by \u003ca href=\"https://github.com/jonatrios\"\u003e\u003ccode\u003e@​jonatrios\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/38\"\u003ejllorencetti/pytest-deadfixtures#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/42\"\u003ejllorencetti/pytest-deadfixtures#42\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump codecov/codecov-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/45\"\u003ejllorencetti/pytest-deadfixtures#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/44\"\u003ejllorencetti/pytest-deadfixtures#44\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump codecov/codecov-action from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/50\"\u003ejllorencetti/pytest-deadfixtures#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support 3.12 and 3.13 python, min python set 3.8 by \u003ca href=\"https://github.com/even-even\"\u003e\u003ccode\u003e@​even-even\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/51\"\u003ejllorencetti/pytest-deadfixtures#51\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/53\"\u003ejllorencetti/pytest-deadfixtures#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/52\"\u003ejllorencetti/pytest-deadfixtures#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun tests on supported Python versions by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/54\"\u003ejllorencetti/pytest-deadfixtures#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unused fixtures count by \u003ca href=\"https://github.com/Ivan-Feofanov\"\u003e\u003ccode\u003e@​Ivan-Feofanov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/36\"\u003ejllorencetti/pytest-deadfixtures#36\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burkestar\"\u003e\u003ccode\u003e@​burkestar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/31\"\u003ejllorencetti/pytest-deadfixtures#31\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonatrios\"\u003e\u003ccode\u003e@​jonatrios\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/38\"\u003ejllorencetti/pytest-deadfixtures#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/42\"\u003ejllorencetti/pytest-deadfixtures#42\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/even-even\"\u003e\u003ccode\u003e@​even-even\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/51\"\u003ejllorencetti/pytest-deadfixtures#51\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ivan-Feofanov\"\u003e\u003ccode\u003e@​Ivan-Feofanov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/36\"\u003ejllorencetti/pytest-deadfixtures#36\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.0.0\"\u003ehttps://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/blob/main/CHANGES.rst\"\u003epytest-deadfixtures's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.0.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Drop support for Python 3.5\n* Add support for Python 3.8 and 3.9\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/7eae1ae08955c521c8d54c69cb5b51dc633f5408\"\u003e\u003ccode\u003e7eae1ae\u003c/code\u003e\u003c/a\u003e Fixes code format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/e6dbe8e20b49ad07ef84dbf7b38a65627d562290\"\u003e\u003ccode\u003ee6dbe8e\u003c/code\u003e\u003c/a\u003e add unused fixtures count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/28605dc26213f4cc557b60cba3c78dc8795bcc4d\"\u003e\u003ccode\u003e28605dc\u003c/code\u003e\u003c/a\u003e Run tests on supported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/bdae857bc5e1fd3324037514ada0a953a1fb4c50\"\u003e\u003ccode\u003ebdae857\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/f5e6c4a16d93ef7e67721e28556584d2bd0ebc8f\"\u003e\u003ccode\u003ef5e6c4a\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/5abe1f11c199d369635c02a5574be1e7f67ab8f0\"\u003e\u003ccode\u003e5abe1f1\u003c/code\u003e\u003c/a\u003e add support 3.12 and 3.13 python, min python set 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/ff9bf35f14142396972aa00a221d3e6b2eab2ac6\"\u003e\u003ccode\u003eff9bf35\u003c/code\u003e\u003c/a\u003e add support 3.12 and 3.13 python, min python set 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/6c2d68392bcec742185019eb6e8213d8e673633d\"\u003e\u003ccode\u003e6c2d683\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/dfb111924269a4dada7c883cce5386eddd9fcd6a\"\u003e\u003ccode\u003edfb1119\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/1fa67ddd2430735f3679e1c07d815113e670f154\"\u003e\u003ccode\u003e1fa67dd\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 3 to 4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-django` from 4.7.0 to 4.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-django/releases\"\u003epytest-django's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.11.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4111-2025-04-03\"\u003ehttps://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4111-2025-04-03\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.11.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4110-2025-04-01\"\u003ehttps://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4110-2025-04-01\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.10.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4100-2025-02-10\"\u003ehttps://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4100-2025-02-10\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.9.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v490-2024-09-02\"\u003ehttps://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v490-2024-09-02\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.8.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pytest-django.readthedocs.io/en/latest/changelog.html#v4-8-0-2024-01-30\"\u003ehttps://pytest-django.readthedocs.io/en/latest/changelog.html#v4-8-0-2024-01-30\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst\"\u003epytest-django's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.11.1 (2025-04-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a regression in v4.11.0 for Django \u003ccode\u003eTestCase\u003c/code\u003e tests using the \u003ccode\u003edatabases\u003c/code\u003e class variable (\u003ccode\u003e[#1188](https://github.com/pytest-dev/pytest-django/issues/1188) \u0026lt;https://github.com/pytest-dev/pytest-django/issues/1188\u0026gt;\u003c/code\u003e__).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.11.0 (2025-04-01)\u003c/h2\u003e\n\u003cp\u003eCompatibility\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded official support for Django 5.2 (\u003ccode\u003ePR [#1179](https://github.com/pytest-dev/pytest-django/issues/1179) \u0026lt;https://github.com/pytest-dev/pytest-django/pull/1179\u0026gt;\u003c/code\u003e__).\u003c/li\u003e\n\u003cli\u003eDropped testing on MySQL’s MyISAM storage engine (\u003ccode\u003ePR [#1180](https://github.com/pytest-dev/pytest-django/issues/1180) \u0026lt;https://github.com/pytest-dev/pytest-django/pull/1180\u0026gt;\u003c/code\u003e__).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eStopped setting up and serializing databases on test session setup when not needed (the database is not requested / \u003ccode\u003eserialized_rollback\u003c/code\u003e is not used).\nOn test databases with large amounts of pre-seeded data, this may remove a delay of a few seconds when running \u003ccode\u003epytest --reuse-db\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe determination of which databases to setup is done by static inspection of the test suite.\nUsing pytest's dynamic features to request db access, such as :meth:\u003ccode\u003erequest.getfixturevalue(\u0026quot;db\u0026quot;) \u0026lt;pytest.FixtureRequest.getfixturevalue\u0026gt;\u003c/code\u003e, may throw off this analysis.\nIf you start seeing \u003ccode\u003eDatabaseOperationForbidden\u003c/code\u003e or \u0026quot;unable to open database\u0026quot; errors, this is likely the cause.\nTo fix this, decorate at least one test with the :func:\u003ccode\u003edjango_db \u0026lt;pytest.mark.django_db\u0026gt;\u003c/code\u003e marker with appropriate \u003ccode\u003edatabases\u003c/code\u003e and \u003ccode\u003eserialized_rollback\u003c/code\u003e settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.10.0 (2025-02-10)\u003c/h2\u003e\n\u003cp\u003eCompatibility\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded official support for Python 3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eImprovements\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eusing\u003c/code\u003e argument to :fixture:\u003ccode\u003edjango_assert_num_queries\u003c/code\u003e and\n:fixture:\u003ccode\u003edjango_assert_max_num_queries\u003c/code\u003e to easily specify the database\nalias to use.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed lock/unlock of db breaks if pytest is executed twice in the same process.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ev4.9.0 (2024-09-02)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/5ada9c1596ee9e0624801d553995d98d2e3ccce8\"\u003e\u003ccode\u003e5ada9c1\u003c/code\u003e\u003c/a\u003e Release 4.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/cf3f0bb89be0d741e7c4e10469d0559e86753cc7\"\u003e\u003ccode\u003ecf3f0bb\u003c/code\u003e\u003c/a\u003e fixtures: fixup a regression in previous release for TestCase multi-db support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/6d5c272519037031f0b68d78dca44727b860d65e\"\u003e\u003ccode\u003e6d5c272\u003c/code\u003e\u003c/a\u003e Release 4.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/8000db04f07822861331d0df8ef52f9c67eafc00\"\u003e\u003ccode\u003e8000db0\u003c/code\u003e\u003c/a\u003e Only setup and serialize databases as needed by tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/6f7fc269f871da0134d9155ca856b29582aa46ce\"\u003e\u003ccode\u003e6f7fc26\u003c/code\u003e\u003c/a\u003e Add optional integration of pytest into django's \u003ccode\u003emanage.py test\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/3071a666dce1f60299bf89bd9c268ac7e0ee459d\"\u003e\u003ccode\u003e3071a66\u003c/code\u003e\u003c/a\u003e docs/conf.py: format with ruff format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/3f44e50ff326c23a44bf5633423d491a251d8eed\"\u003e\u003ccode\u003e3f44e50\u003c/code\u003e\u003c/a\u003e fixtures: avoid unnecessary closure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/b7328696ad7a5bfc308b60c909972a9166fce8a3\"\u003e\u003ccode\u003eb732869\u003c/code\u003e\u003c/a\u003e Remove testing on MyISAM (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-django/issues/1180\"\u003e#1180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/e362f4c6303b203e5449ed023b353ad81f40a753\"\u003e\u003ccode\u003ee362f4c\u003c/code\u003e\u003c/a\u003e Add support for Django 5.2 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-django/issues/1179\"\u003e#1179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/d8dc3d9a62b97c9730111ca7c656dd3b00c479c2\"\u003e\u003ccode\u003ed8dc3d9\u003c/code\u003e\u003c/a\u003e Release 4.10.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-django/compare/v4.7.0...v4.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-mock` from 3.12.0 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/529\"\u003e#529\u003c/a\u003e: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/524\"\u003e#524\u003c/a\u003e: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.14.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/503\"\u003e#503\u003c/a\u003e: Python 3.14 is now officially supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.14.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/415\"\u003e#415\u003c/a\u003e: \u003ccode\u003eMockType\u003c/code\u003e and \u003ccode\u003eAsyncMockType\u003c/code\u003e can be imported from \u003ccode\u003epytest_mock\u003c/code\u003e for type annotation purposes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/420\"\u003e#420\u003c/a\u003e: Fixed a regression which would cause \u003ccode\u003emocker.patch.object\u003c/code\u003e to not being properly cleared between tests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/417\"\u003e#417\u003c/a\u003e: \u003ccode\u003espy\u003c/code\u003e now has \u003ccode\u003espy_return_list\u003c/code\u003e, which is a list containing all the values returned by the spied function.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epytest-mock\u003c/code\u003e now requires \u003ccode\u003epytest\u0026gt;=6.2.5\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/410\"\u003e#410\u003c/a\u003e: pytest-mock's \u003ccode\u003esetup.py\u003c/code\u003e file is removed.\nIf you relied on this file, e.g. to install pytest using \u003ccode\u003esetup.py install\u003c/code\u003e,\nplease see \u003ca href=\"https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html#summary\"\u003eWhy you shouldn't invoke setup.py directly\u003c/a\u003e for alternatives.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst\"\u003epytest-mock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#529](https://github.com/pytest-dev/pytest-mock/issues/529) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/529\u0026gt;\u003c/code\u003e_: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#524](https://github.com/pytest-dev/pytest-mock/issues/524) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/524\u0026gt;\u003c/code\u003e_: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.14.1 (2025-05-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#503](https://github.com/pytest-dev/pytest-mock/issues/503) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/503\u0026gt;\u003c/code\u003e_: Python 3.14 is now officially supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.14.0 (2024-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#415](https://github.com/pytest-dev/pytest-mock/issues/415) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/415\u0026gt;\u003c/code\u003e_: \u003ccode\u003eMockType\u003c/code\u003e and \u003ccode\u003eAsyncMockType\u003c/code\u003e can be imported from \u003ccode\u003epytest_mock\u003c/code\u003e for type annotation purposes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#420](https://github.com/pytest-dev/pytest-mock/issues/420) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/420\u0026gt;\u003c/code\u003e_: Fixed a regression which would cause \u003ccode\u003emocker.patch.object\u003c/code\u003e to not being properly cleared between tests.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.13.0 (2024-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#417](https://github.com/pytest-dev/pytest-mock/issues/417) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/417\u0026gt;\u003c/code\u003e_: \u003ccode\u003espy\u003c/code\u003e now has \u003ccode\u003espy_return_list\u003c/code\u003e, which is a list containing all the values returned by the spied function.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epytest-mock\u003c/code\u003e now requires \u003ccode\u003epytest\u0026gt;=6.2.5\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#410](https://github.com/pytest-dev/pytest-mock/issues/410) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/410\u0026gt;\u003c/code\u003e\u003cem\u003e: pytest-mock's \u003ccode\u003esetup.py\u003c/code\u003e file is removed.\nIf you relied on this file, e.g. to install pytest using \u003ccode\u003esetup.py install\u003c/code\u003e,\nplease see \u003ccode\u003eWhy you shouldn't invoke setup.py directly \u0026lt;https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html#summary\u0026gt;\u003c/code\u003e\u003c/em\u003e for alternatives.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e1b5c62a38c5a05cae614aef3847f240ba50d269\"\u003e\u003ccode\u003ee1b5c62\u003c/code\u003e\u003c/a\u003e Release 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/184eb190d6be417f5f33727bcbc9704909479498\"\u003e\u003ccode\u003e184eb19\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003espy_return_iter\u003c/code\u003e only when explicitly requested (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/4fa0088a0aa85eefb1313bd97adf43889bf1f647\"\u003e\u003ccode\u003e4fa0088\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f5aff33ce71ed4620acc43dc41cb3b198bcf4cb0\"\u003e\u003ccode\u003ef5aff33\u003c/code\u003e\u003c/a\u003e Fix test failure with pytest 8+ and verbose mode (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/535\"\u003e#535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/adc41873c9d6aa69b87e3f108c93a29c847869aa\"\u003e\u003ccode\u003eadc4187\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/95ad5700609aae73c6f767b8cc2ccfb2483e0f5c\"\u003e\u003ccode\u003e95ad570\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/532\"\u003e#532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e696bf02c199b1f7d0c48adb450f40e5a75b699a\"\u003e\u003ccode\u003ee696bf0\u003c/code\u003e\u003c/a\u003e Fix standalone mock support (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/531\"\u003e#531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5b29b03ce9581cfcd867dd6c04a970fb2c861291\"\u003e\u003ccode\u003e5b29b03\u003c/code\u003e\u003c/a\u003e Fix gen-release-notes script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/7d22ef4e560351832e60687d8bd15ebe2785ff3b\"\u003e\u003ccode\u003e7d22ef4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/528\"\u003e#528\u003c/a\u003e from pytest-dev/release-3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.12.0...v3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-randomly` from 3.15.0 to 4.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-randomly/blob/main/CHANGELOG.rst\"\u003epytest-randomly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.1 (2025-09-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove the random state caching, which would grow without bound, leaking memory in long test runs.\nThe caching was added to slightly speed up re-using the same (final) seed, but since the final seed is now different for each test, it has no effect.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#690](https://github.com/pytest-dev/pytest-randomly/issues/690) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/687\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModify Numpy seed restriction, replacing hashing with a modulo operation.\nThe extra work to hash is unnecessary now that we generate a final seed per test with CRC32.\nThis change saves ~500ns per test when Numpy is installed.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#691](https://github.com/pytest-dev/pytest-randomly/issues/691) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/691\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0 (2025-09-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Python 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse a different random seed per test, based on the test ID.\u003c/p\u003e\n\u003cp\u003eThis change should mean that tests exercise more random data values in a given run, and that any randomly-generated identifiers have a lower chance of collision when stored in a shared resource like a database.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#687](https://github.com/pytest-dev/pytest-randomly/issues/687) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/687\u0026gt;\u003c/code\u003e\u003cstrong\u003e.\nThanks to Bryce Drennan for the suggestion in \u003ccode\u003eIssue [#600](https://github.com/pytest-dev/pytest-randomly/issues/600) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/600\u0026gt;\u003c/code\u003e\u003c/strong\u003e and initial implementation in \u003ccode\u003ePR [#617](https://github.com/pytest-dev/pytest-randomly/issues/617) \u0026lt;https://github.com/pytest-dev/pytest-randomly/pull/617\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove from MD5 to CRC32 for hashing test IDs, as it’s 5x faster and we don’t need cryptographic security.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eIssue [#686](https://github.com/pytest-dev/pytest-randomly/issues/686) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/686\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.16.0 (2024-10-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop Python 3.8 support.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Python 3.13.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/50de0961ad3479901a153a4a89ff58ca7898b550\"\u003e\u003ccode\u003e50de096\u003c/code\u003e\u003c/a\u003e Version 4.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/f9406ec4452d05a865ee67b83fed58bc8f914bac\"\u003e\u003ccode\u003ef9406ec\u003c/code\u003e\u003c/a\u003e Modify Numpy seed restriction (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/22049aabcd1e19012c878dccd5fb1ad728221331\"\u003e\u003ccode\u003e22049aa\u003c/code\u003e\u003c/a\u003e Remove the random state caching (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/ded2e547566368d8751a13bf6b6e6ac8b509caa2\"\u003e\u003ccode\u003eded2e54\u003c/code\u003e\u003c/a\u003e Version 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/cb9b86128c9e79284f1bfad0dbd5d4c5427b5dfc\"\u003e\u003ccode\u003ecb9b861\u003c/code\u003e\u003c/a\u003e Move from MD5 to CRC32 for hashing test IDs (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/bd697bd670943c54b8d21e713dea58ab92508d08\"\u003e\u003ccode\u003ebd697bd\u003c/code\u003e\u003c/a\u003e Use a different random seed per test (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/acadf4684fd12e5e9ca14243167f44b8d302f093\"\u003e\u003ccode\u003eacadf46\u003c/code\u003e\u003c/a\u003e Generate default seed on demand (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/685\"\u003e#685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/f818056fa7933f9f08ff6c5cda0d78ecee14d0af\"\u003e\u003ccode\u003ef818056\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/684\"\u003e#684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/456f7877992809b4e152bf3a356c0a4658275fb7\"\u003e\u003ccode\u003e456f787\u003c/code\u003e\u003c/a\u003e Drop unused import of xdist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/e00b7822dff8061d26ff2b4bdf9dc1a3ea823092\"\u003e\u003ccode\u003ee00b782\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-randomly/compare/3.15.0...4.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-xdist` from 3.5.0 to 3.8.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst\"\u003epytest-xdist's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003epytest-xdist 3.8.0 (2025-06-30)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1083](https://github.com/pytest-dev/pytest-xdist/issues/1083) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1083\u0026gt;\u003c/code\u003e_: Add \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e and \u003ccode\u003e--loadscope-reorder\u003c/code\u003e option to control whether to automatically reorder tests in loadscope for tests where relative ordering matters. This only applies when using \u003ccode\u003eloadscope\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, [test_file_1, test_file_2, ..., test_file_n] are given as input test files, if \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e is used, for either worker, the \u003ccode\u003etest_file_a\u003c/code\u003e will be executed before \u003ccode\u003etest_file_b\u003c/code\u003e only if \u003ccode\u003ea \u0026lt; b\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default behavior is to reorder the tests to maximize the number of tests that can be executed in parallel.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003epytest-xdist 3.7.0 (2025-05-26)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1142](https://github.com/pytest-dev/pytest-xdist/issues/1142) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1142\u0026gt;\u003c/code\u003e_: Added support for Python 3.13.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1144](https://github.com/pytest-dev/pytest-xdist/issues/1144) \u0026lt;https://github.com/pytest-d...\n\n_Description has been truncated_","html_url":"https://github.com/softwareone-platform/swo-adobe-vipm-extension/pull/698","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwareone-platform%2Fswo-adobe-vipm-extension/issues/698","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/698/packages"},{"uuid":"3704385737","node_id":"PR_kwDOQbpvDc63kvkG","number":38,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":10,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T02:29:37.000Z","updated_at":"2026-02-16T04:03:10.347Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":7,"packages":[{"name":"google-adk","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/google/adk-python"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"ruff","old_version":"0.14.4","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"agent-starter-pack","old_version":"0.20.4","new_version":"0.26.2","repository_url":"https://github.com/GoogleCloudPlatform/agent-starter-pack"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-dependencies group with 7 updates in the /python/agents/customer-service directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.18.0` | `1.20.0` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.2` | `4.0.4` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.4` | `0.14.8` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [agent-starter-pack](https://github.com/GoogleCloudPlatform/agent-starter-pack) | `0.20.4` | `0.26.2` |\n\n\nUpdates `google-adk` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e! Raise minimum Python version to 3.10\u003c/li\u003e\n\u003cli\u003eAdd a File based Artifact Service\u003c/li\u003e\n\u003cli\u003eReduce ADK API server startup latency by lazy loading\u003c/li\u003e\n\u003cli\u003eADK web light mode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ecustom_metadata\u003c/code\u003e fields to \u003ccode\u003eMemoryEntry\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4dd28a3970d0f76c571caf80b3e1bea1b79e9dde\"\u003e4dd28a3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/a5ac1d5e14f5ce7cd875d81a494a773710669dc1\"\u003ea5ac1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a2a_request_meta_provider to RemoteAgent init (\u003ca href=\"https://github.com/google/adk-python/commit/d12468ee5a2b906b6699ccdb94c6a5a4c2822465\"\u003ed12468e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd feature decorator for the feature registry system (\u003ca href=\"https://github.com/google/adk-python/commit/871da731f1c09c6a62d51b137d9d2e7c9fb3897a\"\u003e871da73\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/960b206752918d13f127a9d6ed8d21d34bcbc7fa\"\u003e\u003ccode\u003e960b206\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.20.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/5947c41b554aca905e795b49aefc60b6c85be05f\"\u003e\u003ccode\u003e5947c41\u003c/code\u003e\u003c/a\u003e chore: Update component owners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9d918d45df4275b5b464e46817d2daaa03859fe3\"\u003e\u003ccode\u003e9d918d4\u003c/code\u003e\u003c/a\u003e feat!: Rollback the DB migration as it is breaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8c9105bf14f57606a73753654922fe26f584dff6\"\u003e\u003ccode\u003e8c9105b\u003c/code\u003e\u003c/a\u003e chore: Drop Python 3.9 support, set minimum to Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e02b9fb608f645cdcf8300ffe4e64627df10ba28\"\u003e\u003ccode\u003ee02b9fb\u003c/code\u003e\u003c/a\u003e fix: Add a warning when deploying with the ADK Web UI enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/76dc169a83065ee10283d54253164e04f712ea5f\"\u003e\u003ccode\u003e76dc169\u003c/code\u003e\u003c/a\u003e fix: Add editLimit parameter to GraphQL query\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b638a48357c9fd5089b4d59dcd3f2102d1d2b3b8\"\u003e\u003ccode\u003eb638a48\u003c/code\u003e\u003c/a\u003e fix: Update API Registry Toolset to prod cloudapiregistry URL now that it is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b807d62fe35a5de4e1efd37f38230edcf5f992ad\"\u003e\u003ccode\u003eb807d62\u003c/code\u003e\u003c/a\u003e feat(bigquery): Add labels support to BigQueryToolConfig for job tracking and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3aef9a18b1f8b54cc1712af7b3477049e4f52932\"\u003e\u003ccode\u003e3aef9a1\u003c/code\u003e\u003c/a\u003e docs: Update ADK issue triaging agent to add component label before planned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/77401132d1b0fb4d2db0ffab00590c1e3961156a\"\u003e\u003ccode\u003e7740113\u003c/code\u003e\u003c/a\u003e chore: Add migration guide for DatabaseSessionService\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/84b6552b86e210097ac29de7ef64b152efb4a454\"\u003e\u003ccode\u003e84b6552\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.3, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10741\"\u003e#10741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/77b0cd8c0e40eb563ab96067be6bdb3e9e266f1e\"\u003e\u003ccode\u003e77b0cd8\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix(expand_modules): pass ignore_list to modutil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/755f2d0327809a5b358b99ad7fc67a7a5a2faad0\"\u003e\u003ccode\u003e755f2d0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Upgrade astroid to 4.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10733\"\u003e#10733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/c96a9e4d232abcfa1d7f449839b68337816305e9\"\u003e\u003ccode\u003ec96a9e4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a variable annotation is used as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/108191ebbcd9dc8fa9e3fb71c83fd247d2f6ccd1\"\u003e\u003ccode\u003e108191e\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for class attribute typed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0ed81725382db48ac0061c96c1948f42fe75f85d\"\u003e\u003ccode\u003e0ed8172\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a \u003ccode\u003eslice\u003c/code\u003e object is called (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10728\"\u003e#10728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/b128b7d909bf541b2978d84bfe5ed4f4d67210e5\"\u003e\u003ccode\u003eb128b7d\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for ``unbalanced-tuple-unpa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.4 to 0.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.8\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.14.8\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d4f1c6ae24b75642a586531f4c668213fbac3fb\"\u003e\u003ccode\u003e9d4f1c6\u003c/code\u003e\u003c/a\u003e Bump 0.14.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21791\"\u003e#21791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/326025d45f87548caba9a56c5606d80f85abc5ff\"\u003e\u003ccode\u003e326025d\u003c/code\u003e\u003c/a\u003e [ty] Always register rename provider if client doesn't support dynamic regist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3aefe85b32ff698b1a2086c2b50ff38af5c9dbed\"\u003e\u003ccode\u003e3aefe85\u003c/code\u003e\u003c/a\u003e [ty] Ensure \u003ccode\u003erename\u003c/code\u003e \u003ccode\u003eCursorTest\u003c/code\u003e calls \u003ccode\u003ecan_rename\u003c/code\u003e before renaming (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21790\"\u003e#21790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b8ecc83a54fd5d7955bf1ab4fb82fe18dcb52283\"\u003e\u003ccode\u003eb8ecc83\u003c/code\u003e\u003c/a\u003e Fix clippy errors on \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21788\"\u003e#21788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6491932757ca6365bd11b8241266d81c045f7a8b\"\u003e\u003ccode\u003e6491932\u003c/code\u003e\u003c/a\u003e [ty] Fix crash when hovering an unknown string annotation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21782\"\u003e#21782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a9f2bb41bd802c9f4db417e3fec8324cf6207868\"\u003e\u003ccode\u003ea9f2bb4\u003c/code\u003e\u003c/a\u003e [ty] Don't send publish diagnostics for clients supporting pull diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2b72fbf99920c5621243ee67e1028844a841d35\"\u003e\u003ccode\u003ee2b72fb\u003c/code\u003e\u003c/a\u003e [ty] cleanup test path (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21781\"\u003e#21781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fce0d44003ea30c30eb555344bd319da511380\"\u003e\u003ccode\u003e14fce0d\u003c/code\u003e\u003c/a\u003e [ty] Improve the display of various special-form types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21775\"\u003e#21775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8ebecb2a88d664a6291af71805b8f6876f414815\"\u003e\u003ccode\u003e8ebecb2\u003c/code\u003e\u003c/a\u003e [ty] Add subdiagnostic hint if the user wrote \u003ccode\u003eX = Any\u003c/code\u003e rather than \u003ccode\u003eX: Any\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/45ac30a4d762c9c564d45bb66df813666682e78e\"\u003e\u003ccode\u003e45ac30a\u003c/code\u003e\u003c/a\u003e [ty] Teach \u003ccode\u003ety\u003c/code\u003e the meaning of desperation (try ancestor \u003ccode\u003epyproject.toml\u003c/code\u003es as...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.4...0.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-starter-pack` from 0.20.4 to 0.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/releases\"\u003eagent-starter-pack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch1\u003e0.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update locks by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/582\"\u003eGoogleCloudPlatform/agent-starter-pack#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add Bob's Brain production ADK reference to community showcase by \u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add generation metadata to pyproject.toml by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/584\"\u003eGoogleCloudPlatform/agent-starter-pack#584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --prototype flag for minimal project creation by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/586\"\u003eGoogleCloudPlatform/agent-starter-pack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove metadata file by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/587\"\u003eGoogleCloudPlatform/agent-starter-pack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --adk quickstart mode with optimized GCP verification by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/590\"\u003eGoogleCloudPlatform/agent-starter-pack#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/588\"\u003eGoogleCloudPlatform/agent-starter-pack#588\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix: display actual account in interactive credentials flow by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/591\"\u003eGoogleCloudPlatform/agent-starter-pack#591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.1 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/592\"\u003eGoogleCloudPlatform/agent-starter-pack#592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: detect and reuse saved config in enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/593\"\u003eGoogleCloudPlatform/agent-starter-pack#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only show base template override prompt when template actually changes by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/594\"\u003eGoogleCloudPlatform/agent-starter-pack#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.2 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/595\"\u003eGoogleCloudPlatform/agent-starter-pack#595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add -s shortcut for --skip-checks flag by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/576\"\u003eGoogleCloudPlatform/agent-starter-pack#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --google-api-key option for AI Studio support by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/577\"\u003eGoogleCloudPlatform/agent-starter-pack#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add -k and --api-key shorthand for --google-api-key by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/578\"\u003eGoogleCloudPlatform/agent-starter-pack#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.25.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/579\"\u003eGoogleCloudPlatform/agent-starter-pack#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/573\"\u003eGoogleCloudPlatform/agent-starter-pack#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump express from 4.21.2 to 4.22.1 in /agent_starter_pack/frontends/adk_live_react/frontend by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/571\"\u003eGoogleCloudPlatform/agent-starter-pack#571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add YAML config agent support for enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/572\"\u003eGoogleCloudPlatform/agent-starter-pack#572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.24.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/574\"\u003eGoogleCloudPlatform/agent-starter-pack#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove idx folder by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/575\"\u003eGoogleCloudPlatform/agent-starter-pack#575\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update all samples to use gemini 3 pro by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/566\"\u003eGoogleCloudPlatform/agent-starter-pack#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update model selection to include gemini-3-pro-preview by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/567\"\u003eGoogleCloudPlatform/agent-starter-pack#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force GOOGLE_CLOUD_LOCATION env variable assignment by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/569\"\u003eGoogleCloudPlatform/agent-starter-pack#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/dd625841f4dbe5c5427ccf9fa63f1f0ff8fc0d0a\"\u003e\u003ccode\u003edd62584\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/4e91e902f51147aafa5342f45b7c4079d2de004a\"\u003e\u003ccode\u003e4e91e90\u003c/code\u003e\u003c/a\u003e fix: only show base template override prompt when template actually changes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1d9dec5a9a596ca320489a09dbddb81293db098e\"\u003e\u003ccode\u003e1d9dec5\u003c/code\u003e\u003c/a\u003e feat: detect and reuse saved config in enhance command (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/2497d5b1257b152c89659a7315596a7ac4b16d47\"\u003e\u003ccode\u003e2497d5b\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.1 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1c2c7a73672fdb4436b40405602218c9a3152274\"\u003e\u003ccode\u003e1c2c7a7\u003c/code\u003e\u003c/a\u003e fix: display actual account in interactive credentials flow (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b4eb1ede67034bf063ec1f712287ad8bc53e34b8\"\u003e\u003ccode\u003eb4eb1ed\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b8050d775226a5eff4bc3959cd336cd6d189b87e\"\u003e\u003ccode\u003eb8050d7\u003c/code\u003e\u003c/a\u003e feat: add --adk quickstart mode with optimized GCP verification (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/588395df0cf7bf2a4107c2c26fd87a2521ebb096\"\u003e\u003ccode\u003e588395d\u003c/code\u003e\u003c/a\u003e remove metadata file (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/38addd764cd499823ea7180fec5c5fafca04d336\"\u003e\u003ccode\u003e38addd7\u003c/code\u003e\u003c/a\u003e feat: add --prototype flag for minimal project creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/bc061b0557e38dd9267c0e633c04c24c216e17a9\"\u003e\u003ccode\u003ebc061b0\u003c/code\u003e\u003c/a\u003e feat: add generation metadata to pyproject.toml (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.20.4...0.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/jovin-nicholas/Medi-Agent-System/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jovin-nicholas%2FMedi-Agent-System/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"},{"uuid":"3704385628","node_id":"PR_kwDOQcYu3c63kviz","number":37,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":9,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T02:29:32.000Z","updated_at":"2026-02-09T04:04:41.605Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":8,"packages":[{"name":"pydantic","old_version":"2.12.4","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-genai","old_version":"1.49.0","new_version":"1.53.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"google-adk","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/google/adk-python"},{"name":"ruff","old_version":"0.14.4","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"agent-starter-pack","old_version":"0.20.4","new_version":"0.26.2","repository_url":"https://github.com/GoogleCloudPlatform/agent-starter-pack"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-dependencies group with 8 updates in the /python/agents/travel-concierge directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.4` | `2.12.5` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.49.0` | `1.53.0` |\n| [google-adk](https://github.com/google/adk-python) | `1.18.0` | `1.20.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.4` | `0.14.8` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [agent-starter-pack](https://github.com/GoogleCloudPlatform/agent-starter-pack) | `0.20.4` | `0.26.2` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n\n\nUpdates `pydantic` from 2.12.4 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.49.0 to 1.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.53.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.52.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.51.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly log warnings once for accessors in GenerateContentResponse and LiveServerMessage (\u003ca href=\"https://github.com/googleapis/python-genai/commit/eec841e6a35c5d656f79f0e0700f00126acfda9c\"\u003eeec841e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ef8f7a55de621aba3f8dc7384aebc0149f250c97\"\u003e\u003ccode\u003eef8f7a5\u003c/code\u003e\u003c/a\u003e chore(main): release 1.53.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1796\"\u003e#1796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e\u003ccode\u003e2f28b02\u003c/code\u003e\u003c/a\u003e fix: convert 'citationSources' key in CitationMetadata to 'citations' when pr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e\u003ccode\u003e97cc7e4\u003c/code\u003e\u003c/a\u003e feat: Add empty response for tunings.cancel()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e\u003ccode\u003e060f015\u003c/code\u003e\u003c/a\u003e docs: Updating codegen instructions to use gemini 3 pro and nano banana pro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ddbe6fd4b636a96f53346b3b7ea10bb898e61d9b\"\u003e\u003ccode\u003eddbe6fd\u003c/code\u003e\u003c/a\u003e chore: update README to make code gen instructions more prominent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003e\u003ccode\u003ec0b175a\u003c/code\u003e\u003c/a\u003e docs: Recommend using response_json_schema in error messages and docstrings.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e\u003ccode\u003e5b50adc\u003c/code\u003e\u003c/a\u003e docs: Improve docs for google.genai.types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003e\u003ccode\u003ea842721\u003c/code\u003e\u003c/a\u003e fix: Fix google.auth.transport.requests import error in Live API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/99058b6244a1ae1d63511b7bb9130edcea96cd00\"\u003e\u003ccode\u003e99058b6\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/4b5720a7fb1a75d850dd8a182e3d31a9f587e57f\"\u003e\u003ccode\u003e4b5720a\u003c/code\u003e\u003c/a\u003e chore(main): release 1.52.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1727\"\u003e#1727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.49.0...v1.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-adk` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e! Raise minimum Python version to 3.10\u003c/li\u003e\n\u003cli\u003eAdd a File based Artifact Service\u003c/li\u003e\n\u003cli\u003eReduce ADK API server startup latency by lazy loading\u003c/li\u003e\n\u003cli\u003eADK web light mode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ecustom_metadata\u003c/code\u003e fields to \u003ccode\u003eMemoryEntry\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4dd28a3970d0f76c571caf80b3e1bea1b79e9dde\"\u003e4dd28a3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/a5ac1d5e14f5ce7cd875d81a494a773710669dc1\"\u003ea5ac1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a2a_request_meta_provider to RemoteAgent init (\u003ca href=\"https://github.com/google/adk-python/commit/d12468ee5a2b906b6699ccdb94c6a5a4c2822465\"\u003ed12468e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd feature decorator for the feature registry system (\u003ca href=\"https://github.com/google/adk-python/commit/871da731f1c09c6a62d51b137d9d2e7c9fb3897a\"\u003e871da73\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/960b206752918d13f127a9d6ed8d21d34bcbc7fa\"\u003e\u003ccode\u003e960b206\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.20.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/5947c41b554aca905e795b49aefc60b6c85be05f\"\u003e\u003ccode\u003e5947c41\u003c/code\u003e\u003c/a\u003e chore: Update component owners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9d918d45df4275b5b464e46817d2daaa03859fe3\"\u003e\u003ccode\u003e9d918d4\u003c/code\u003e\u003c/a\u003e feat!: Rollback the DB migration as it is breaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8c9105bf14f57606a73753654922fe26f584dff6\"\u003e\u003ccode\u003e8c9105b\u003c/code\u003e\u003c/a\u003e chore: Drop Python 3.9 support, set minimum to Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e02b9fb608f645cdcf8300ffe4e64627df10ba28\"\u003e\u003ccode\u003ee02b9fb\u003c/code\u003e\u003c/a\u003e fix: Add a warning when deploying with the ADK Web UI enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/76dc169a83065ee10283d54253164e04f712ea5f\"\u003e\u003ccode\u003e76dc169\u003c/code\u003e\u003c/a\u003e fix: Add editLimit parameter to GraphQL query\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b638a48357c9fd5089b4d59dcd3f2102d1d2b3b8\"\u003e\u003ccode\u003eb638a48\u003c/code\u003e\u003c/a\u003e fix: Update API Registry Toolset to prod cloudapiregistry URL now that it is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b807d62fe35a5de4e1efd37f38230edcf5f992ad\"\u003e\u003ccode\u003eb807d62\u003c/code\u003e\u003c/a\u003e feat(bigquery): Add labels support to BigQueryToolConfig for job tracking and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3aef9a18b1f8b54cc1712af7b3477049e4f52932\"\u003e\u003ccode\u003e3aef9a1\u003c/code\u003e\u003c/a\u003e docs: Update ADK issue triaging agent to add component label before planned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/77401132d1b0fb4d2db0ffab00590c1e3961156a\"\u003e\u003ccode\u003e7740113\u003c/code\u003e\u003c/a\u003e chore: Add migration guide for DatabaseSessionService\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.4 to 0.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.8\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.14.8\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d4f1c6ae24b75642a586531f4c668213fbac3fb\"\u003e\u003ccode\u003e9d4f1c6\u003c/code\u003e\u003c/a\u003e Bump 0.14.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21791\"\u003e#21791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/326025d45f87548caba9a56c5606d80f85abc5ff\"\u003e\u003ccode\u003e326025d\u003c/code\u003e\u003c/a\u003e [ty] Always register rename provider if client doesn't support dynamic regist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3aefe85b32ff698b1a2086c2b50ff38af5c9dbed\"\u003e\u003ccode\u003e3aefe85\u003c/code\u003e\u003c/a\u003e [ty] Ensure \u003ccode\u003erename\u003c/code\u003e \u003ccode\u003eCursorTest\u003c/code\u003e calls \u003ccode\u003ecan_rename\u003c/code\u003e before renaming (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21790\"\u003e#21790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b8ecc83a54fd5d7955bf1ab4fb82fe18dcb52283\"\u003e\u003ccode\u003eb8ecc83\u003c/code\u003e\u003c/a\u003e Fix clippy errors on \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21788\"\u003e#21788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6491932757ca6365bd11b8241266d81c045f7a8b\"\u003e\u003ccode\u003e6491932\u003c/code\u003e\u003c/a\u003e [ty] Fix crash when hovering an unknown string annotation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21782\"\u003e#21782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a9f2bb41bd802c9f4db417e3fec8324cf6207868\"\u003e\u003ccode\u003ea9f2bb4\u003c/code\u003e\u003c/a\u003e [ty] Don't send publish diagnostics for clients supporting pull diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2b72fbf99920c5621243ee67e1028844a841d35\"\u003e\u003ccode\u003ee2b72fb\u003c/code\u003e\u003c/a\u003e [ty] cleanup test path (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21781\"\u003e#21781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fce0d44003ea30c30eb555344bd319da511380\"\u003e\u003ccode\u003e14fce0d\u003c/code\u003e\u003c/a\u003e [ty] Improve the display of various special-form types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21775\"\u003e#21775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8ebecb2a88d664a6291af71805b8f6876f414815\"\u003e\u003ccode\u003e8ebecb2\u003c/code\u003e\u003c/a\u003e [ty] Add subdiagnostic hint if the user wrote \u003ccode\u003eX = Any\u003c/code\u003e rather than \u003ccode\u003eX: Any\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/45ac30a4d762c9c564d45bb66df813666682e78e\"\u003e\u003ccode\u003e45ac30a\u003c/code\u003e\u003c/a\u003e [ty] Teach \u003ccode\u003ety\u003c/code\u003e the meaning of desperation (try ancestor \u003ccode\u003epyproject.toml\u003c/code\u003es as...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.4...0.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-starter-pack` from 0.20.4 to 0.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/releases\"\u003eagent-starter-pack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch1\u003e0.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update locks by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/582\"\u003eGoogleCloudPlatform/agent-starter-pack#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add Bob's Brain production ADK reference to community showcase by \u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add generation metadata to pyproject.toml by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/584\"\u003eGoogleCloudPlatform/agent-starter-pack#584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --prototype flag for minimal project creation by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/586\"\u003eGoogleCloudPlatform/agent-starter-pack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove metadata file by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/587\"\u003eGoogleCloudPlatform/agent-starter-pack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --adk quickstart mode with optimized GCP verification by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/590\"\u003eGoogleCloudPlatform/agent-starter-pack#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/588\"\u003eGoogleCloudPlatform/agent-starter-pack#588\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix: display actual account in interactive credentials flow by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/591\"\u003eGoogleCloudPlatform/agent-starter-pack#591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.1 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/592\"\u003eGoogleCloudPlatform/agent-starter-pack#592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: detect and reuse saved config in enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/593\"\u003eGoogleCloudPlatform/agent-starter-pack#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only show base template override prompt when template actually changes by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/594\"\u003eGoogleCloudPlatform/agent-starter-pack#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.2 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/595\"\u003eGoogleCloudPlatform/agent-starter-pack#595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add -s shortcut for --skip-checks flag by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/576\"\u003eGoogleCloudPlatform/agent-starter-pack#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --google-api-key option for AI Studio support by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/577\"\u003eGoogleCloudPlatform/agent-starter-pack#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add -k and --api-key shorthand for --google-api-key by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/578\"\u003eGoogleCloudPlatform/agent-starter-pack#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.25.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/579\"\u003eGoogleCloudPlatform/agent-starter-pack#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/573\"\u003eGoogleCloudPlatform/agent-starter-pack#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump express from 4.21.2 to 4.22.1 in /agent_starter_pack/frontends/adk_live_react/frontend by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/571\"\u003eGoogleCloudPlatform/agent-starter-pack#571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add YAML config agent support for enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/572\"\u003eGoogleCloudPlatform/agent-starter-pack#572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.24.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/574\"\u003eGoogleCloudPlatform/agent-starter-pack#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove idx folder by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/575\"\u003eGoogleCloudPlatform/agent-starter-pack#575\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update all samples to use gemini 3 pro by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/566\"\u003eGoogleCloudPlatform/agent-starter-pack#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update model selection to include gemini-3-pro-preview by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/567\"\u003eGoogleCloudPlatform/agent-starter-pack#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force GOOGLE_CLOUD_LOCATION env variable assignment by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/569\"\u003eGoogleCloudPlatform/agent-starter-pack#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/dd625841f4dbe5c5427ccf9fa63f1f0ff8fc0d0a\"\u003e\u003ccode\u003edd62584\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/4e91e902f51147aafa5342f45b7c4079d2de004a\"\u003e\u003ccode\u003e4e91e90\u003c/code\u003e\u003c/a\u003e fix: only show base template override prompt when template actually changes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1d9dec5a9a596ca320489a09dbddb81293db098e\"\u003e\u003ccode\u003e1d9dec5\u003c/code\u003e\u003c/a\u003e feat: detect and reuse saved config in enhance command (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/2497d5b1257b152c89659a7315596a7ac4b16d47\"\u003e\u003ccode\u003e2497d5b\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.1 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1c2c7a73672fdb4436b40405602218c9a3152274\"\u003e\u003ccode\u003e1c2c7a7\u003c/code\u003e\u003c/a\u003e fix: display actual account in interactive credentials flow (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b4eb1ede67034bf063ec1f712287ad8bc53e34b8\"\u003e\u003ccode\u003eb4eb1ed\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b8050d775226a5eff4bc3959cd336cd6d189b87e\"\u003e\u003ccode\u003eb8050d7\u003c/code\u003e\u003c/a\u003e feat: add --adk quickstart mode with optimized GCP verification (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/588395df0cf7bf2a4107c2c26fd87a2521ebb096\"\u003e\u003ccode\u003e588395d\u003c/code\u003e\u003c/a\u003e remove metadata file (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/38addd764cd499823ea7180fec5c5fafca04d336\"\u003e\u003ccode\u003e38addd7\u003c/code\u003e\u003c/a\u003e feat: add --prototype flag for minimal project creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/bc061b0557e38dd9267c0e633c04c24c216e17a9\"\u003e\u003ccode\u003ebc061b0\u003c/code\u003e\u003c/a\u003e feat: add generation metadata to pyproject.toml (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.20.4...0.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/codespace-labs/adk-samples-codespace/pull/37","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/codespace-labs%2Fadk-samples-codespace/issues/37","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/37/packages"},{"uuid":"3704385207","node_id":"PR_kwDOQdDFL863kvdE","number":37,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":9,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T02:29:24.000Z","updated_at":"2026-02-09T04:04:41.437Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":8,"packages":[{"name":"pydantic","old_version":"2.12.4","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-genai","old_version":"1.49.0","new_version":"1.53.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"google-adk","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/google/adk-python"},{"name":"ruff","old_version":"0.14.4","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"agent-starter-pack","old_version":"0.20.4","new_version":"0.26.2","repository_url":"https://github.com/GoogleCloudPlatform/agent-starter-pack"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-dependencies group with 8 updates in the /python/agents/travel-concierge directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.4` | `2.12.5` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.49.0` | `1.53.0` |\n| [google-adk](https://github.com/google/adk-python) | `1.18.0` | `1.20.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.4` | `0.14.8` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [agent-starter-pack](https://github.com/GoogleCloudPlatform/agent-starter-pack) | `0.20.4` | `0.26.2` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n\n\nUpdates `pydantic` from 2.12.4 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.49.0 to 1.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.53.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.52.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.51.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly log warnings once for accessors in GenerateContentResponse and LiveServerMessage (\u003ca href=\"https://github.com/googleapis/python-genai/commit/eec841e6a35c5d656f79f0e0700f00126acfda9c\"\u003eeec841e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ef8f7a55de621aba3f8dc7384aebc0149f250c97\"\u003e\u003ccode\u003eef8f7a5\u003c/code\u003e\u003c/a\u003e chore(main): release 1.53.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1796\"\u003e#1796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e\u003ccode\u003e2f28b02\u003c/code\u003e\u003c/a\u003e fix: convert 'citationSources' key in CitationMetadata to 'citations' when pr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e\u003ccode\u003e97cc7e4\u003c/code\u003e\u003c/a\u003e feat: Add empty response for tunings.cancel()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e\u003ccode\u003e060f015\u003c/code\u003e\u003c/a\u003e docs: Updating codegen instructions to use gemini 3 pro and nano banana pro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ddbe6fd4b636a96f53346b3b7ea10bb898e61d9b\"\u003e\u003ccode\u003eddbe6fd\u003c/code\u003e\u003c/a\u003e chore: update README to make code gen instructions more prominent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003e\u003ccode\u003ec0b175a\u003c/code\u003e\u003c/a\u003e docs: Recommend using response_json_schema in error messages and docstrings.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e\u003ccode\u003e5b50adc\u003c/code\u003e\u003c/a\u003e docs: Improve docs for google.genai.types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003e\u003ccode\u003ea842721\u003c/code\u003e\u003c/a\u003e fix: Fix google.auth.transport.requests import error in Live API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/99058b6244a1ae1d63511b7bb9130edcea96cd00\"\u003e\u003ccode\u003e99058b6\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/4b5720a7fb1a75d850dd8a182e3d31a9f587e57f\"\u003e\u003ccode\u003e4b5720a\u003c/code\u003e\u003c/a\u003e chore(main): release 1.52.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1727\"\u003e#1727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.49.0...v1.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-adk` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e! Raise minimum Python version to 3.10\u003c/li\u003e\n\u003cli\u003eAdd a File based Artifact Service\u003c/li\u003e\n\u003cli\u003eReduce ADK API server startup latency by lazy loading\u003c/li\u003e\n\u003cli\u003eADK web light mode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ecustom_metadata\u003c/code\u003e fields to \u003ccode\u003eMemoryEntry\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4dd28a3970d0f76c571caf80b3e1bea1b79e9dde\"\u003e4dd28a3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/a5ac1d5e14f5ce7cd875d81a494a773710669dc1\"\u003ea5ac1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a2a_request_meta_provider to RemoteAgent init (\u003ca href=\"https://github.com/google/adk-python/commit/d12468ee5a2b906b6699ccdb94c6a5a4c2822465\"\u003ed12468e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd feature decorator for the feature registry system (\u003ca href=\"https://github.com/google/adk-python/commit/871da731f1c09c6a62d51b137d9d2e7c9fb3897a\"\u003e871da73\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/960b206752918d13f127a9d6ed8d21d34bcbc7fa\"\u003e\u003ccode\u003e960b206\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.20.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/5947c41b554aca905e795b49aefc60b6c85be05f\"\u003e\u003ccode\u003e5947c41\u003c/code\u003e\u003c/a\u003e chore: Update component owners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9d918d45df4275b5b464e46817d2daaa03859fe3\"\u003e\u003ccode\u003e9d918d4\u003c/code\u003e\u003c/a\u003e feat!: Rollback the DB migration as it is breaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8c9105bf14f57606a73753654922fe26f584dff6\"\u003e\u003ccode\u003e8c9105b\u003c/code\u003e\u003c/a\u003e chore: Drop Python 3.9 support, set minimum to Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e02b9fb608f645cdcf8300ffe4e64627df10ba28\"\u003e\u003ccode\u003ee02b9fb\u003c/code\u003e\u003c/a\u003e fix: Add a warning when deploying with the ADK Web UI enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/76dc169a83065ee10283d54253164e04f712ea5f\"\u003e\u003ccode\u003e76dc169\u003c/code\u003e\u003c/a\u003e fix: Add editLimit parameter to GraphQL query\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b638a48357c9fd5089b4d59dcd3f2102d1d2b3b8\"\u003e\u003ccode\u003eb638a48\u003c/code\u003e\u003c/a\u003e fix: Update API Registry Toolset to prod cloudapiregistry URL now that it is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b807d62fe35a5de4e1efd37f38230edcf5f992ad\"\u003e\u003ccode\u003eb807d62\u003c/code\u003e\u003c/a\u003e feat(bigquery): Add labels support to BigQueryToolConfig for job tracking and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3aef9a18b1f8b54cc1712af7b3477049e4f52932\"\u003e\u003ccode\u003e3aef9a1\u003c/code\u003e\u003c/a\u003e docs: Update ADK issue triaging agent to add component label before planned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/77401132d1b0fb4d2db0ffab00590c1e3961156a\"\u003e\u003ccode\u003e7740113\u003c/code\u003e\u003c/a\u003e chore: Add migration guide for DatabaseSessionService\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.4 to 0.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.8\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.14.8\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d4f1c6ae24b75642a586531f4c668213fbac3fb\"\u003e\u003ccode\u003e9d4f1c6\u003c/code\u003e\u003c/a\u003e Bump 0.14.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21791\"\u003e#21791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/326025d45f87548caba9a56c5606d80f85abc5ff\"\u003e\u003ccode\u003e326025d\u003c/code\u003e\u003c/a\u003e [ty] Always register rename provider if client doesn't support dynamic regist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3aefe85b32ff698b1a2086c2b50ff38af5c9dbed\"\u003e\u003ccode\u003e3aefe85\u003c/code\u003e\u003c/a\u003e [ty] Ensure \u003ccode\u003erename\u003c/code\u003e \u003ccode\u003eCursorTest\u003c/code\u003e calls \u003ccode\u003ecan_rename\u003c/code\u003e before renaming (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21790\"\u003e#21790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b8ecc83a54fd5d7955bf1ab4fb82fe18dcb52283\"\u003e\u003ccode\u003eb8ecc83\u003c/code\u003e\u003c/a\u003e Fix clippy errors on \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21788\"\u003e#21788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6491932757ca6365bd11b8241266d81c045f7a8b\"\u003e\u003ccode\u003e6491932\u003c/code\u003e\u003c/a\u003e [ty] Fix crash when hovering an unknown string annotation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21782\"\u003e#21782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a9f2bb41bd802c9f4db417e3fec8324cf6207868\"\u003e\u003ccode\u003ea9f2bb4\u003c/code\u003e\u003c/a\u003e [ty] Don't send publish diagnostics for clients supporting pull diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2b72fbf99920c5621243ee67e1028844a841d35\"\u003e\u003ccode\u003ee2b72fb\u003c/code\u003e\u003c/a\u003e [ty] cleanup test path (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21781\"\u003e#21781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fce0d44003ea30c30eb555344bd319da511380\"\u003e\u003ccode\u003e14fce0d\u003c/code\u003e\u003c/a\u003e [ty] Improve the display of various special-form types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21775\"\u003e#21775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8ebecb2a88d664a6291af71805b8f6876f414815\"\u003e\u003ccode\u003e8ebecb2\u003c/code\u003e\u003c/a\u003e [ty] Add subdiagnostic hint if the user wrote \u003ccode\u003eX = Any\u003c/code\u003e rather than \u003ccode\u003eX: Any\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/45ac30a4d762c9c564d45bb66df813666682e78e\"\u003e\u003ccode\u003e45ac30a\u003c/code\u003e\u003c/a\u003e [ty] Teach \u003ccode\u003ety\u003c/code\u003e the meaning of desperation (try ancestor \u003ccode\u003epyproject.toml\u003c/code\u003es as...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.4...0.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-starter-pack` from 0.20.4 to 0.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/releases\"\u003eagent-starter-pack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch1\u003e0.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update locks by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/582\"\u003eGoogleCloudPlatform/agent-starter-pack#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add Bob's Brain production ADK reference to community showcase by \u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add generation metadata to pyproject.toml by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/584\"\u003eGoogleCloudPlatform/agent-starter-pack#584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --prototype flag for minimal project creation by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/586\"\u003eGoogleCloudPlatform/agent-starter-pack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove metadata file by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/587\"\u003eGoogleCloudPlatform/agent-starter-pack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --adk quickstart mode with optimized GCP verification by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/590\"\u003eGoogleCloudPlatform/agent-starter-pack#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/588\"\u003eGoogleCloudPlatform/agent-starter-pack#588\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix: display actual account in interactive credentials flow by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/591\"\u003eGoogleCloudPlatform/agent-starter-pack#591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.1 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/592\"\u003eGoogleCloudPlatform/agent-starter-pack#592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: detect and reuse saved config in enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/593\"\u003eGoogleCloudPlatform/agent-starter-pack#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only show base template override prompt when template actually changes by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/594\"\u003eGoogleCloudPlatform/agent-starter-pack#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.2 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/595\"\u003eGoogleCloudPlatform/agent-starter-pack#595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add -s shortcut for --skip-checks flag by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/576\"\u003eGoogleCloudPlatform/agent-starter-pack#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --google-api-key option for AI Studio support by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/577\"\u003eGoogleCloudPlatform/agent-starter-pack#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add -k and --api-key shorthand for --google-api-key by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/578\"\u003eGoogleCloudPlatform/agent-starter-pack#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.25.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/579\"\u003eGoogleCloudPlatform/agent-starter-pack#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/573\"\u003eGoogleCloudPlatform/agent-starter-pack#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump express from 4.21.2 to 4.22.1 in /agent_starter_pack/frontends/adk_live_react/frontend by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/571\"\u003eGoogleCloudPlatform/agent-starter-pack#571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add YAML config agent support for enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/572\"\u003eGoogleCloudPlatform/agent-starter-pack#572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.24.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/574\"\u003eGoogleCloudPlatform/agent-starter-pack#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove idx folder by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/575\"\u003eGoogleCloudPlatform/agent-starter-pack#575\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update all samples to use gemini 3 pro by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/566\"\u003eGoogleCloudPlatform/agent-starter-pack#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update model selection to include gemini-3-pro-preview by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/567\"\u003eGoogleCloudPlatform/agent-starter-pack#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force GOOGLE_CLOUD_LOCATION env variable assignment by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/569\"\u003eGoogleCloudPlatform/agent-starter-pack#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/dd625841f4dbe5c5427ccf9fa63f1f0ff8fc0d0a\"\u003e\u003ccode\u003edd62584\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/4e91e902f51147aafa5342f45b7c4079d2de004a\"\u003e\u003ccode\u003e4e91e90\u003c/code\u003e\u003c/a\u003e fix: only show base template override prompt when template actually changes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1d9dec5a9a596ca320489a09dbddb81293db098e\"\u003e\u003ccode\u003e1d9dec5\u003c/code\u003e\u003c/a\u003e feat: detect and reuse saved config in enhance command (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/2497d5b1257b152c89659a7315596a7ac4b16d47\"\u003e\u003ccode\u003e2497d5b\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.1 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1c2c7a73672fdb4436b40405602218c9a3152274\"\u003e\u003ccode\u003e1c2c7a7\u003c/code\u003e\u003c/a\u003e fix: display actual account in interactive credentials flow (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b4eb1ede67034bf063ec1f712287ad8bc53e34b8\"\u003e\u003ccode\u003eb4eb1ed\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b8050d775226a5eff4bc3959cd336cd6d189b87e\"\u003e\u003ccode\u003eb8050d7\u003c/code\u003e\u003c/a\u003e feat: add --adk quickstart mode with optimized GCP verification (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/588395df0cf7bf2a4107c2c26fd87a2521ebb096\"\u003e\u003ccode\u003e588395d\u003c/code\u003e\u003c/a\u003e remove metadata file (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/38addd764cd499823ea7180fec5c5fafca04d336\"\u003e\u003ccode\u003e38addd7\u003c/code\u003e\u003c/a\u003e feat: add --prototype flag for minimal project creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/bc061b0557e38dd9267c0e633c04c24c216e17a9\"\u003e\u003ccode\u003ebc061b0\u003c/code\u003e\u003c/a\u003e feat: add generation metadata to pyproject.toml (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.20.4...0.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ashishraghav/-adk-samples/pull/37","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashishraghav%2F-adk-samples/issues/37","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/37/packages"},{"uuid":"3704383654","node_id":"PR_kwDOQbpvDc63kvJZ","number":30,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T02:28:44.000Z","updated_at":"2026-02-02T04:07:08.123Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":8,"packages":[{"name":"pydantic","old_version":"2.12.4","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-genai","old_version":"1.49.0","new_version":"1.53.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"google-adk","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/google/adk-python"},{"name":"ruff","old_version":"0.14.4","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"agent-starter-pack","old_version":"0.20.4","new_version":"0.26.2","repository_url":"https://github.com/GoogleCloudPlatform/agent-starter-pack"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-dependencies group with 8 updates in the /python/agents/travel-concierge directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.4` | `2.12.5` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.49.0` | `1.53.0` |\n| [google-adk](https://github.com/google/adk-python) | `1.18.0` | `1.20.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.4` | `0.14.8` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [agent-starter-pack](https://github.com/GoogleCloudPlatform/agent-starter-pack) | `0.20.4` | `0.26.2` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n\n\nUpdates `pydantic` from 2.12.4 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.49.0 to 1.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.53.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.52.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.51.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly log warnings once for accessors in GenerateContentResponse and LiveServerMessage (\u003ca href=\"https://github.com/googleapis/python-genai/commit/eec841e6a35c5d656f79f0e0700f00126acfda9c\"\u003eeec841e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ef8f7a55de621aba3f8dc7384aebc0149f250c97\"\u003e\u003ccode\u003eef8f7a5\u003c/code\u003e\u003c/a\u003e chore(main): release 1.53.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1796\"\u003e#1796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e\u003ccode\u003e2f28b02\u003c/code\u003e\u003c/a\u003e fix: convert 'citationSources' key in CitationMetadata to 'citations' when pr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e\u003ccode\u003e97cc7e4\u003c/code\u003e\u003c/a\u003e feat: Add empty response for tunings.cancel()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e\u003ccode\u003e060f015\u003c/code\u003e\u003c/a\u003e docs: Updating codegen instructions to use gemini 3 pro and nano banana pro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ddbe6fd4b636a96f53346b3b7ea10bb898e61d9b\"\u003e\u003ccode\u003eddbe6fd\u003c/code\u003e\u003c/a\u003e chore: update README to make code gen instructions more prominent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003e\u003ccode\u003ec0b175a\u003c/code\u003e\u003c/a\u003e docs: Recommend using response_json_schema in error messages and docstrings.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e\u003ccode\u003e5b50adc\u003c/code\u003e\u003c/a\u003e docs: Improve docs for google.genai.types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003e\u003ccode\u003ea842721\u003c/code\u003e\u003c/a\u003e fix: Fix google.auth.transport.requests import error in Live API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/99058b6244a1ae1d63511b7bb9130edcea96cd00\"\u003e\u003ccode\u003e99058b6\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/4b5720a7fb1a75d850dd8a182e3d31a9f587e57f\"\u003e\u003ccode\u003e4b5720a\u003c/code\u003e\u003c/a\u003e chore(main): release 1.52.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1727\"\u003e#1727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.49.0...v1.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-adk` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e! Raise minimum Python version to 3.10\u003c/li\u003e\n\u003cli\u003eAdd a File based Artifact Service\u003c/li\u003e\n\u003cli\u003eReduce ADK API server startup latency by lazy loading\u003c/li\u003e\n\u003cli\u003eADK web light mode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ecustom_metadata\u003c/code\u003e fields to \u003ccode\u003eMemoryEntry\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4dd28a3970d0f76c571caf80b3e1bea1b79e9dde\"\u003e4dd28a3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/a5ac1d5e14f5ce7cd875d81a494a773710669dc1\"\u003ea5ac1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a2a_request_meta_provider to RemoteAgent init (\u003ca href=\"https://github.com/google/adk-python/commit/d12468ee5a2b906b6699ccdb94c6a5a4c2822465\"\u003ed12468e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd feature decorator for the feature registry system (\u003ca href=\"https://github.com/google/adk-python/commit/871da731f1c09c6a62d51b137d9d2e7c9fb3897a\"\u003e871da73\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/960b206752918d13f127a9d6ed8d21d34bcbc7fa\"\u003e\u003ccode\u003e960b206\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.20.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/5947c41b554aca905e795b49aefc60b6c85be05f\"\u003e\u003ccode\u003e5947c41\u003c/code\u003e\u003c/a\u003e chore: Update component owners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9d918d45df4275b5b464e46817d2daaa03859fe3\"\u003e\u003ccode\u003e9d918d4\u003c/code\u003e\u003c/a\u003e feat!: Rollback the DB migration as it is breaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8c9105bf14f57606a73753654922fe26f584dff6\"\u003e\u003ccode\u003e8c9105b\u003c/code\u003e\u003c/a\u003e chore: Drop Python 3.9 support, set minimum to Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e02b9fb608f645cdcf8300ffe4e64627df10ba28\"\u003e\u003ccode\u003ee02b9fb\u003c/code\u003e\u003c/a\u003e fix: Add a warning when deploying with the ADK Web UI enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/76dc169a83065ee10283d54253164e04f712ea5f\"\u003e\u003ccode\u003e76dc169\u003c/code\u003e\u003c/a\u003e fix: Add editLimit parameter to GraphQL query\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b638a48357c9fd5089b4d59dcd3f2102d1d2b3b8\"\u003e\u003ccode\u003eb638a48\u003c/code\u003e\u003c/a\u003e fix: Update API Registry Toolset to prod cloudapiregistry URL now that it is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b807d62fe35a5de4e1efd37f38230edcf5f992ad\"\u003e\u003ccode\u003eb807d62\u003c/code\u003e\u003c/a\u003e feat(bigquery): Add labels support to BigQueryToolConfig for job tracking and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3aef9a18b1f8b54cc1712af7b3477049e4f52932\"\u003e\u003ccode\u003e3aef9a1\u003c/code\u003e\u003c/a\u003e docs: Update ADK issue triaging agent to add component label before planned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/77401132d1b0fb4d2db0ffab00590c1e3961156a\"\u003e\u003ccode\u003e7740113\u003c/code\u003e\u003c/a\u003e chore: Add migration guide for DatabaseSessionService\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.4 to 0.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.8\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.14.8\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d4f1c6ae24b75642a586531f4c668213fbac3fb\"\u003e\u003ccode\u003e9d4f1c6\u003c/code\u003e\u003c/a\u003e Bump 0.14.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21791\"\u003e#21791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/326025d45f87548caba9a56c5606d80f85abc5ff\"\u003e\u003ccode\u003e326025d\u003c/code\u003e\u003c/a\u003e [ty] Always register rename provider if client doesn't support dynamic regist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3aefe85b32ff698b1a2086c2b50ff38af5c9dbed\"\u003e\u003ccode\u003e3aefe85\u003c/code\u003e\u003c/a\u003e [ty] Ensure \u003ccode\u003erename\u003c/code\u003e \u003ccode\u003eCursorTest\u003c/code\u003e calls \u003ccode\u003ecan_rename\u003c/code\u003e before renaming (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21790\"\u003e#21790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b8ecc83a54fd5d7955bf1ab4fb82fe18dcb52283\"\u003e\u003ccode\u003eb8ecc83\u003c/code\u003e\u003c/a\u003e Fix clippy errors on \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21788\"\u003e#21788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6491932757ca6365bd11b8241266d81c045f7a8b\"\u003e\u003ccode\u003e6491932\u003c/code\u003e\u003c/a\u003e [ty] Fix crash when hovering an unknown string annotation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21782\"\u003e#21782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a9f2bb41bd802c9f4db417e3fec8324cf6207868\"\u003e\u003ccode\u003ea9f2bb4\u003c/code\u003e\u003c/a\u003e [ty] Don't send publish diagnostics for clients supporting pull diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2b72fbf99920c5621243ee67e1028844a841d35\"\u003e\u003ccode\u003ee2b72fb\u003c/code\u003e\u003c/a\u003e [ty] cleanup test path (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21781\"\u003e#21781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fce0d44003ea30c30eb555344bd319da511380\"\u003e\u003ccode\u003e14fce0d\u003c/code\u003e\u003c/a\u003e [ty] Improve the display of various special-form types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21775\"\u003e#21775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8ebecb2a88d664a6291af71805b8f6876f414815\"\u003e\u003ccode\u003e8ebecb2\u003c/code\u003e\u003c/a\u003e [ty] Add subdiagnostic hint if the user wrote \u003ccode\u003eX = Any\u003c/code\u003e rather than \u003ccode\u003eX: Any\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/45ac30a4d762c9c564d45bb66df813666682e78e\"\u003e\u003ccode\u003e45ac30a\u003c/code\u003e\u003c/a\u003e [ty] Teach \u003ccode\u003ety\u003c/code\u003e the meaning of desperation (try ancestor \u003ccode\u003epyproject.toml\u003c/code\u003es as...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.4...0.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-starter-pack` from 0.20.4 to 0.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/releases\"\u003eagent-starter-pack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch1\u003e0.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update locks by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/582\"\u003eGoogleCloudPlatform/agent-starter-pack#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add Bob's Brain production ADK reference to community showcase by \u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add generation metadata to pyproject.toml by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/584\"\u003eGoogleCloudPlatform/agent-starter-pack#584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --prototype flag for minimal project creation by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/586\"\u003eGoogleCloudPlatform/agent-starter-pack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove metadata file by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/587\"\u003eGoogleCloudPlatform/agent-starter-pack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --adk quickstart mode with optimized GCP verification by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/590\"\u003eGoogleCloudPlatform/agent-starter-pack#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/588\"\u003eGoogleCloudPlatform/agent-starter-pack#588\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix: display actual account in interactive credentials flow by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/591\"\u003eGoogleCloudPlatform/agent-starter-pack#591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.1 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/592\"\u003eGoogleCloudPlatform/agent-starter-pack#592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: detect and reuse saved config in enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/593\"\u003eGoogleCloudPlatform/agent-starter-pack#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only show base template override prompt when template actually changes by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/594\"\u003eGoogleCloudPlatform/agent-starter-pack#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.2 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/595\"\u003eGoogleCloudPlatform/agent-starter-pack#595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add -s shortcut for --skip-checks flag by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/576\"\u003eGoogleCloudPlatform/agent-starter-pack#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --google-api-key option for AI Studio support by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/577\"\u003eGoogleCloudPlatform/agent-starter-pack#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add -k and --api-key shorthand for --google-api-key by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/578\"\u003eGoogleCloudPlatform/agent-starter-pack#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.25.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/579\"\u003eGoogleCloudPlatform/agent-starter-pack#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/573\"\u003eGoogleCloudPlatform/agent-starter-pack#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump express from 4.21.2 to 4.22.1 in /agent_starter_pack/frontends/adk_live_react/frontend by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/571\"\u003eGoogleCloudPlatform/agent-starter-pack#571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add YAML config agent support for enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/572\"\u003eGoogleCloudPlatform/agent-starter-pack#572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.24.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/574\"\u003eGoogleCloudPlatform/agent-starter-pack#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove idx folder by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/575\"\u003eGoogleCloudPlatform/agent-starter-pack#575\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update all samples to use gemini 3 pro by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/566\"\u003eGoogleCloudPlatform/agent-starter-pack#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update model selection to include gemini-3-pro-preview by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/567\"\u003eGoogleCloudPlatform/agent-starter-pack#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force GOOGLE_CLOUD_LOCATION env variable assignment by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/569\"\u003eGoogleCloudPlatform/agent-starter-pack#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/dd625841f4dbe5c5427ccf9fa63f1f0ff8fc0d0a\"\u003e\u003ccode\u003edd62584\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/4e91e902f51147aafa5342f45b7c4079d2de004a\"\u003e\u003ccode\u003e4e91e90\u003c/code\u003e\u003c/a\u003e fix: only show base template override prompt when template actually changes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1d9dec5a9a596ca320489a09dbddb81293db098e\"\u003e\u003ccode\u003e1d9dec5\u003c/code\u003e\u003c/a\u003e feat: detect and reuse saved config in enhance command (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/2497d5b1257b152c89659a7315596a7ac4b16d47\"\u003e\u003ccode\u003e2497d5b\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.1 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1c2c7a73672fdb4436b40405602218c9a3152274\"\u003e\u003ccode\u003e1c2c7a7\u003c/code\u003e\u003c/a\u003e fix: display actual account in interactive credentials flow (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b4eb1ede67034bf063ec1f712287ad8bc53e34b8\"\u003e\u003ccode\u003eb4eb1ed\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b8050d775226a5eff4bc3959cd336cd6d189b87e\"\u003e\u003ccode\u003eb8050d7\u003c/code\u003e\u003c/a\u003e feat: add --adk quickstart mode with optimized GCP verification (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/588395df0cf7bf2a4107c2c26fd87a2521ebb096\"\u003e\u003ccode\u003e588395d\u003c/code\u003e\u003c/a\u003e remove metadata file (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/38addd764cd499823ea7180fec5c5fafca04d336\"\u003e\u003ccode\u003e38addd7\u003c/code\u003e\u003c/a\u003e feat: add --prototype flag for minimal project creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/bc061b0557e38dd9267c0e633c04c24c216e17a9\"\u003e\u003ccode\u003ebc061b0\u003c/code\u003e\u003c/a\u003e feat: add generation metadata to pyproject.toml (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.20.4...0.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/jovin-nicholas/Medi-Agent-System/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jovin-nicholas%2FMedi-Agent-System/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"},{"uuid":"3704382892","node_id":"PR_kwDOQdDFL863ku_n","number":32,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":9,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T02:28:30.000Z","updated_at":"2026-02-09T02:29:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":7,"packages":[{"name":"google-adk","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/google/adk-python"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"ruff","old_version":"0.14.4","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"agent-starter-pack","old_version":"0.20.4","new_version":"0.26.2","repository_url":"https://github.com/GoogleCloudPlatform/agent-starter-pack"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-dependencies group with 7 updates in the /python/agents/customer-service directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.18.0` | `1.20.0` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.2` | `4.0.4` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.4` | `0.14.8` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [agent-starter-pack](https://github.com/GoogleCloudPlatform/agent-starter-pack) | `0.20.4` | `0.26.2` |\n\n\nUpdates `google-adk` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e! Raise minimum Python version to 3.10\u003c/li\u003e\n\u003cli\u003eAdd a File based Artifact Service\u003c/li\u003e\n\u003cli\u003eReduce ADK API server startup latency by lazy loading\u003c/li\u003e\n\u003cli\u003eADK web light mode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ecustom_metadata\u003c/code\u003e fields to \u003ccode\u003eMemoryEntry\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4dd28a3970d0f76c571caf80b3e1bea1b79e9dde\"\u003e4dd28a3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/a5ac1d5e14f5ce7cd875d81a494a773710669dc1\"\u003ea5ac1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a2a_request_meta_provider to RemoteAgent init (\u003ca href=\"https://github.com/google/adk-python/commit/d12468ee5a2b906b6699ccdb94c6a5a4c2822465\"\u003ed12468e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd feature decorator for the feature registry system (\u003ca href=\"https://github.com/google/adk-python/commit/871da731f1c09c6a62d51b137d9d2e7c9fb3897a\"\u003e871da73\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/960b206752918d13f127a9d6ed8d21d34bcbc7fa\"\u003e\u003ccode\u003e960b206\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.20.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/5947c41b554aca905e795b49aefc60b6c85be05f\"\u003e\u003ccode\u003e5947c41\u003c/code\u003e\u003c/a\u003e chore: Update component owners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9d918d45df4275b5b464e46817d2daaa03859fe3\"\u003e\u003ccode\u003e9d918d4\u003c/code\u003e\u003c/a\u003e feat!: Rollback the DB migration as it is breaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8c9105bf14f57606a73753654922fe26f584dff6\"\u003e\u003ccode\u003e8c9105b\u003c/code\u003e\u003c/a\u003e chore: Drop Python 3.9 support, set minimum to Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e02b9fb608f645cdcf8300ffe4e64627df10ba28\"\u003e\u003ccode\u003ee02b9fb\u003c/code\u003e\u003c/a\u003e fix: Add a warning when deploying with the ADK Web UI enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/76dc169a83065ee10283d54253164e04f712ea5f\"\u003e\u003ccode\u003e76dc169\u003c/code\u003e\u003c/a\u003e fix: Add editLimit parameter to GraphQL query\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b638a48357c9fd5089b4d59dcd3f2102d1d2b3b8\"\u003e\u003ccode\u003eb638a48\u003c/code\u003e\u003c/a\u003e fix: Update API Registry Toolset to prod cloudapiregistry URL now that it is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b807d62fe35a5de4e1efd37f38230edcf5f992ad\"\u003e\u003ccode\u003eb807d62\u003c/code\u003e\u003c/a\u003e feat(bigquery): Add labels support to BigQueryToolConfig for job tracking and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3aef9a18b1f8b54cc1712af7b3477049e4f52932\"\u003e\u003ccode\u003e3aef9a1\u003c/code\u003e\u003c/a\u003e docs: Update ADK issue triaging agent to add component label before planned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/77401132d1b0fb4d2db0ffab00590c1e3961156a\"\u003e\u003ccode\u003e7740113\u003c/code\u003e\u003c/a\u003e chore: Add migration guide for DatabaseSessionService\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/84b6552b86e210097ac29de7ef64b152efb4a454\"\u003e\u003ccode\u003e84b6552\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.3, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10741\"\u003e#10741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/77b0cd8c0e40eb563ab96067be6bdb3e9e266f1e\"\u003e\u003ccode\u003e77b0cd8\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix(expand_modules): pass ignore_list to modutil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/755f2d0327809a5b358b99ad7fc67a7a5a2faad0\"\u003e\u003ccode\u003e755f2d0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Upgrade astroid to 4.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10733\"\u003e#10733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/c96a9e4d232abcfa1d7f449839b68337816305e9\"\u003e\u003ccode\u003ec96a9e4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a variable annotation is used as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/108191ebbcd9dc8fa9e3fb71c83fd247d2f6ccd1\"\u003e\u003ccode\u003e108191e\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for class attribute typed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0ed81725382db48ac0061c96c1948f42fe75f85d\"\u003e\u003ccode\u003e0ed8172\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a \u003ccode\u003eslice\u003c/code\u003e object is called (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10728\"\u003e#10728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/b128b7d909bf541b2978d84bfe5ed4f4d67210e5\"\u003e\u003ccode\u003eb128b7d\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for ``unbalanced-tuple-unpa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.4 to 0.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.8\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.14.8\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d4f1c6ae24b75642a586531f4c668213fbac3fb\"\u003e\u003ccode\u003e9d4f1c6\u003c/code\u003e\u003c/a\u003e Bump 0.14.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21791\"\u003e#21791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/326025d45f87548caba9a56c5606d80f85abc5ff\"\u003e\u003ccode\u003e326025d\u003c/code\u003e\u003c/a\u003e [ty] Always register rename provider if client doesn't support dynamic regist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3aefe85b32ff698b1a2086c2b50ff38af5c9dbed\"\u003e\u003ccode\u003e3aefe85\u003c/code\u003e\u003c/a\u003e [ty] Ensure \u003ccode\u003erename\u003c/code\u003e \u003ccode\u003eCursorTest\u003c/code\u003e calls \u003ccode\u003ecan_rename\u003c/code\u003e before renaming (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21790\"\u003e#21790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b8ecc83a54fd5d7955bf1ab4fb82fe18dcb52283\"\u003e\u003ccode\u003eb8ecc83\u003c/code\u003e\u003c/a\u003e Fix clippy errors on \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21788\"\u003e#21788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6491932757ca6365bd11b8241266d81c045f7a8b\"\u003e\u003ccode\u003e6491932\u003c/code\u003e\u003c/a\u003e [ty] Fix crash when hovering an unknown string annotation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21782\"\u003e#21782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a9f2bb41bd802c9f4db417e3fec8324cf6207868\"\u003e\u003ccode\u003ea9f2bb4\u003c/code\u003e\u003c/a\u003e [ty] Don't send publish diagnostics for clients supporting pull diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2b72fbf99920c5621243ee67e1028844a841d35\"\u003e\u003ccode\u003ee2b72fb\u003c/code\u003e\u003c/a\u003e [ty] cleanup test path (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21781\"\u003e#21781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fce0d44003ea30c30eb555344bd319da511380\"\u003e\u003ccode\u003e14fce0d\u003c/code\u003e\u003c/a\u003e [ty] Improve the display of various special-form types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21775\"\u003e#21775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8ebecb2a88d664a6291af71805b8f6876f414815\"\u003e\u003ccode\u003e8ebecb2\u003c/code\u003e\u003c/a\u003e [ty] Add subdiagnostic hint if the user wrote \u003ccode\u003eX = Any\u003c/code\u003e rather than \u003ccode\u003eX: Any\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/45ac30a4d762c9c564d45bb66df813666682e78e\"\u003e\u003ccode\u003e45ac30a\u003c/code\u003e\u003c/a\u003e [ty] Teach \u003ccode\u003ety\u003c/code\u003e the meaning of desperation (try ancestor \u003ccode\u003epyproject.toml\u003c/code\u003es as...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.4...0.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-starter-pack` from 0.20.4 to 0.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/releases\"\u003eagent-starter-pack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch1\u003e0.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update locks by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/582\"\u003eGoogleCloudPlatform/agent-starter-pack#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add Bob's Brain production ADK reference to community showcase by \u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add generation metadata to pyproject.toml by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/584\"\u003eGoogleCloudPlatform/agent-starter-pack#584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --prototype flag for minimal project creation by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/586\"\u003eGoogleCloudPlatform/agent-starter-pack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove metadata file by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/587\"\u003eGoogleCloudPlatform/agent-starter-pack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --adk quickstart mode with optimized GCP verification by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/590\"\u003eGoogleCloudPlatform/agent-starter-pack#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/588\"\u003eGoogleCloudPlatform/agent-starter-pack#588\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix: display actual account in interactive credentials flow by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/591\"\u003eGoogleCloudPlatform/agent-starter-pack#591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.1 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/592\"\u003eGoogleCloudPlatform/agent-starter-pack#592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: detect and reuse saved config in enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/593\"\u003eGoogleCloudPlatform/agent-starter-pack#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only show base template override prompt when template actually changes by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/594\"\u003eGoogleCloudPlatform/agent-starter-pack#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.2 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/595\"\u003eGoogleCloudPlatform/agent-starter-pack#595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add -s shortcut for --skip-checks flag by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/576\"\u003eGoogleCloudPlatform/agent-starter-pack#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --google-api-key option for AI Studio support by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/577\"\u003eGoogleCloudPlatform/agent-starter-pack#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add -k and --api-key shorthand for --google-api-key by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/578\"\u003eGoogleCloudPlatform/agent-starter-pack#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.25.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/579\"\u003eGoogleCloudPlatform/agent-starter-pack#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/573\"\u003eGoogleCloudPlatform/agent-starter-pack#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump express from 4.21.2 to 4.22.1 in /agent_starter_pack/frontends/adk_live_react/frontend by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/571\"\u003eGoogleCloudPlatform/agent-starter-pack#571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add YAML config agent support for enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/572\"\u003eGoogleCloudPlatform/agent-starter-pack#572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.24.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/574\"\u003eGoogleCloudPlatform/agent-starter-pack#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove idx folder by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/575\"\u003eGoogleCloudPlatform/agent-starter-pack#575\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update all samples to use gemini 3 pro by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/566\"\u003eGoogleCloudPlatform/agent-starter-pack#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update model selection to include gemini-3-pro-preview by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/567\"\u003eGoogleCloudPlatform/agent-starter-pack#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force GOOGLE_CLOUD_LOCATION env variable assignment by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/569\"\u003eGoogleCloudPlatform/agent-starter-pack#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/dd625841f4dbe5c5427ccf9fa63f1f0ff8fc0d0a\"\u003e\u003ccode\u003edd62584\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/4e91e902f51147aafa5342f45b7c4079d2de004a\"\u003e\u003ccode\u003e4e91e90\u003c/code\u003e\u003c/a\u003e fix: only show base template override prompt when template actually changes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1d9dec5a9a596ca320489a09dbddb81293db098e\"\u003e\u003ccode\u003e1d9dec5\u003c/code\u003e\u003c/a\u003e feat: detect and reuse saved config in enhance command (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/2497d5b1257b152c89659a7315596a7ac4b16d47\"\u003e\u003ccode\u003e2497d5b\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.1 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1c2c7a73672fdb4436b40405602218c9a3152274\"\u003e\u003ccode\u003e1c2c7a7\u003c/code\u003e\u003c/a\u003e fix: display actual account in interactive credentials flow (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b4eb1ede67034bf063ec1f712287ad8bc53e34b8\"\u003e\u003ccode\u003eb4eb1ed\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b8050d775226a5eff4bc3959cd336cd6d189b87e\"\u003e\u003ccode\u003eb8050d7\u003c/code\u003e\u003c/a\u003e feat: add --adk quickstart mode with optimized GCP verification (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/588395df0cf7bf2a4107c2c26fd87a2521ebb096\"\u003e\u003ccode\u003e588395d\u003c/code\u003e\u003c/a\u003e remove metadata file (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/38addd764cd499823ea7180fec5c5fafca04d336\"\u003e\u003ccode\u003e38addd7\u003c/code\u003e\u003c/a\u003e feat: add --prototype flag for minimal project creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/bc061b0557e38dd9267c0e633c04c24c216e17a9\"\u003e\u003ccode\u003ebc061b0\u003c/code\u003e\u003c/a\u003e feat: add generation metadata to pyproject.toml (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.20.4...0.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ashishraghav/-adk-samples/pull/32","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashishraghav%2F-adk-samples/issues/32","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/32/packages"},{"uuid":"3683649576","node_id":"PR_kwDOJpUI6c62fL54","number":296,"state":"closed","title":"Build(deps-dev): Bump the patch group with 4 updates","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-01T23:52:04.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-02T01:59:30.000Z","updated_at":"2026-02-01T23:52:06.000Z","time_to_close":5349154,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps-dev): Bump","group_name":"patch","update_count":4,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 4 updates: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [frequenz-repo-config[api]](https://github.com/frequenz-floss/frequenz-repo-config-python), [pylint](https://github.com/pylint-dev/pylint) and [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[api]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[api]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/84b6552b86e210097ac29de7ef64b152efb4a454\"\u003e\u003ccode\u003e84b6552\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.3, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10741\"\u003e#10741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/77b0cd8c0e40eb563ab96067be6bdb3e9e266f1e\"\u003e\u003ccode\u003e77b0cd8\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix(expand_modules): pass ignore_list to modutil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/755f2d0327809a5b358b99ad7fc67a7a5a2faad0\"\u003e\u003ccode\u003e755f2d0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Upgrade astroid to 4.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10733\"\u003e#10733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/c96a9e4d232abcfa1d7f449839b68337816305e9\"\u003e\u003ccode\u003ec96a9e4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a variable annotation is used as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/108191ebbcd9dc8fa9e3fb71c83fd247d2f6ccd1\"\u003e\u003ccode\u003e108191e\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for class attribute typed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0ed81725382db48ac0061c96c1948f42fe75f85d\"\u003e\u003ccode\u003e0ed8172\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a \u003ccode\u003eslice\u003c/code\u003e object is called (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10728\"\u003e#10728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/b128b7d909bf541b2978d84bfe5ed4f4d67210e5\"\u003e\u003ccode\u003eb128b7d\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for ``unbalanced-tuple-unpa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.","html_url":"https://github.com/frequenz-floss/frequenz-api-dispatch/pull/296","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-api-dispatch/issues/296","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/296/packages"},{"uuid":"3682920414","node_id":"PR_kwDOM8nbys62cr8c","number":24,"state":"closed","title":"Bump the patch group with 4 updates","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-01T18:42:30.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T21:22:24.000Z","updated_at":"2026-02-01T18:42:32.000Z","time_to_close":5347206,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"patch","update_count":4,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 4 updates: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [frequenz-repo-config[lib]](https://github.com/frequenz-floss/frequenz-repo-config-python), [pylint](https://github.com/pylint-dev/pylint) and [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[lib]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[lib]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/84b6552b86e210097ac29de7ef64b152efb4a454\"\u003e\u003ccode\u003e84b6552\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.3, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10741\"\u003e#10741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/77b0cd8c0e40eb563ab96067be6bdb3e9e266f1e\"\u003e\u003ccode\u003e77b0cd8\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix(expand_modules): pass ignore_list to modutil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/755f2d0327809a5b358b99ad7fc67a7a5a2faad0\"\u003e\u003ccode\u003e755f2d0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Upgrade astroid to 4.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10733\"\u003e#10733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/c96a9e4d232abcfa1d7f449839b68337816305e9\"\u003e\u003ccode\u003ec96a9e4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a variable annotation is used as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/108191ebbcd9dc8fa9e3fb71c83fd247d2f6ccd1\"\u003e\u003ccode\u003e108191e\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for class attribute typed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0ed81725382db48ac0061c96c1948f42fe75f85d\"\u003e\u003ccode\u003e0ed8172\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a \u003ccode\u003eslice\u003c/code\u003e object is called (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10728\"\u003e#10728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/b128b7d909bf541b2978d84bfe5ed4f4d67210e5\"\u003e\u003ccode\u003eb128b7d\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for ``unbalanced-tuple-unpa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/frequenz-floss/frequenz-microgrid-component-graph-python/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-microgrid-component-graph-python/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"},{"uuid":"3681804120","node_id":"PR_kwDON42vC862Y8AG","number":60,"state":"closed","title":"build(deps-dev): Bump the patch group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-01T13:56:54.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T16:26:11.000Z","updated_at":"2026-02-01T13:56:55.000Z","time_to_close":5347843,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): Bump","group_name":"patch","update_count":3,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"frequenz-repo-config","old_version":"0.13.5","new_version":"0.13.7"},{"name":"frequenz-repo-config","old_version":"0.13.5","new_version":"0.13.7"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 3 updates in the / directory: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [frequenz-repo-config[api]](https://github.com/frequenz-floss/frequenz-repo-config-python) and [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[api]` from 0.13.5 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[api]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.6\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePylint4 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eClear release notes by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/419\"\u003efrequenz-floss/frequenz-repo-config-python#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport pylint 4 by \u003ca href=\"https://github.com/Marenz\"\u003e\u003ccode\u003e@​Marenz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/458\"\u003efrequenz-floss/frequenz-repo-config-python#458\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.6\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.6\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/51a970d2c9d40beb5a609d3fae878b83c055a589\"\u003e\u003ccode\u003e51a970d\u003c/code\u003e\u003c/a\u003e Support pylint 4 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/458\"\u003e#458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/e796079053a522e50a9d1af944537da358d372a5\"\u003e\u003ccode\u003ee796079\u003c/code\u003e\u003c/a\u003e Update release notes for v0.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/66f625054a485a5e724a6366f56b9fd84ffb4ccf\"\u003e\u003ccode\u003e66f6250\u003c/code\u003e\u003c/a\u003e Update templates dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/461641ec24967ca665fe082f96ccf98884934b80\"\u003e\u003ccode\u003e461641e\u003c/code\u003e\u003c/a\u003e Support pylint 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/f6c99e8f65072800330da8f8a320ed2633e766fa\"\u003e\u003ccode\u003ef6c99e8\u003c/code\u003e\u003c/a\u003e Clear release notes (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/419\"\u003e#419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/cb985b606f594b133e90f9b227511074ff8acc7a\"\u003e\u003ccode\u003ecb985b6\u003c/code\u003e\u003c/a\u003e Clear release notes\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.13.5 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.6\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePylint4 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eClear release notes by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/419\"\u003efrequenz-floss/frequenz-repo-config-python#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport pylint 4 by \u003ca href=\"https://github.com/Marenz\"\u003e\u003ccode\u003e@​Marenz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/458\"\u003efrequenz-floss/frequenz-repo-config-python#458\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.6\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.6\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/51a970d2c9d40beb5a609d3fae878b83c055a589\"\u003e\u003ccode\u003e51a970d\u003c/code\u003e\u003c/a\u003e Support pylint 4 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/458\"\u003e#458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/e796079053a522e50a9d1af944537da358d372a5\"\u003e\u003ccode\u003ee796079\u003c/code\u003e\u003c/a\u003e Update release notes for v0.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/66f625054a485a5e724a6366f56b9fd84ffb4ccf\"\u003e\u003ccode\u003e66f6250\u003c/code\u003e\u003c/a\u003e Update templates dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/461641ec24967ca665fe082f96ccf98884934b80\"\u003e\u003ccode\u003e461641e\u003c/code\u003e\u003c/a\u003e Support pylint 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/f6c99e8f65072800330da8f8a320ed2633e766fa\"\u003e\u003ccode\u003ef6c99e8\u003c/code\u003e\u003c/a\u003e Clear release notes (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/419\"\u003e#419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/cb985b606f594b133e90f9b227511074ff8acc7a\"\u003e\u003ccode\u003ecb985b6\u003c/code\u003e\u003c/a\u003e Clear release notes\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/frequenz-floss/frequenz-api-assets/pull/60","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-api-assets/issues/60","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/60/packages"},{"uuid":"3680518336","node_id":"PR_kwDOBtu7C862Ui3I","number":72,"state":"closed","title":"Bump flake8-pyproject from 1.2.3 to 1.2.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["pylipp"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-02T21:07:44.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T11:19:33.000Z","updated_at":"2025-12-02T21:07:45.000Z","time_to_close":121691,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) from 1.2.3 to 1.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flake8-pyproject\u0026package-manager=pip\u0026previous-version=1.2.3\u0026new-version=1.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/pylipp/pydartz/pull/72","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylipp%2Fpydartz/issues/72","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/72/packages"},{"uuid":"3679329880","node_id":"PR_kwDOHzcOR862QeuN","number":374,"state":"closed","title":"Bump the patch group with 4 updates","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-01T05:53:14.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T05:40:06.000Z","updated_at":"2026-02-01T05:53:16.000Z","time_to_close":5357588,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"patch","update_count":4,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 4 updates: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [frequenz-repo-config[api]](https://github.com/frequenz-floss/frequenz-repo-config-python), [pylint](https://github.com/pylint-dev/pylint) and [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[api]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[api]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/84b6552b86e210097ac29de7ef64b152efb4a454\"\u003e\u003ccode\u003e84b6552\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.3, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10741\"\u003e#10741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/77b0cd8c0e40eb563ab96067be6bdb3e9e266f1e\"\u003e\u003ccode\u003e77b0cd8\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix(expand_modules): pass ignore_list to modutil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/755f2d0327809a5b358b99ad7fc67a7a5a2faad0\"\u003e\u003ccode\u003e755f2d0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Upgrade astroid to 4.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10733\"\u003e#10733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/c96a9e4d232abcfa1d7f449839b68337816305e9\"\u003e\u003ccode\u003ec96a9e4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a variable annotation is used as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/108191ebbcd9dc8fa9e3fb71c83fd247d2f6ccd1\"\u003e\u003ccode\u003e108191e\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for class attribute typed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0ed81725382db48ac0061c96c1948f42fe75f85d\"\u003e\u003ccode\u003e0ed8172\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a \u003ccode\u003eslice\u003c/code\u003e object is called (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10728\"\u003e#10728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/b128b7d909bf541b2978d84bfe5ed4f4d67210e5\"\u003e\u003ccode\u003eb128b7d\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for ``unbalanced-tuple-unpa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/frequenz-floss/frequenz-api-microgrid/pull/374","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-api-microgrid/issues/374","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/374/packages"}],"issue_packages":[{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2026-03-27T10:13:34.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"4151277285","node_id":"PR_kwDOHzcOR87OAMGj","number":385,"state":"open","title":"Bump the patch group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-27T10:13:34.000Z","updated_at":"2026-04-27T15:01:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"patch","update_count":3,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"mkdocs-literate-nav","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/oprypin/mkdocs-literate-nav"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.5","repository_url":"https://github.com/pylint-dev/pylint"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 3 updates in the / directory: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [mkdocs-literate-nav](https://github.com/oprypin/mkdocs-literate-nav) and [pylint](https://github.com/pylint-dev/pylint).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-literate-nav` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/releases\"\u003emkdocs-literate-nav's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eWarn when this plugin is being used from the mkdocs executable\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/oprypin/mkdocs-literate-nav/pull/39\"\u003eoprypin/mkdocs-literate-nav#39\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eApologies for the inconvenience. We are starting a community continuation of MkDocs under a new name \u003cstrong\u003eProperDocs\u003c/strong\u003e, and plugins are our main hope regarding how we can spread the word.\nSee \u003ca href=\"https://github.com/ProperDocs/properdocs/discussions/33\"\u003ehttps://github.com/ProperDocs/properdocs/discussions/33\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.2...v0.6.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/b91268c263f61e38a7e27f77ccf38ec287e0c0b5\"\u003e\u003ccode\u003eb91268c\u003c/code\u003e\u003c/a\u003e v0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/cee9ec49a1523036081378a39bda9fa014432526\"\u003e\u003ccode\u003ecee9ec4\u003c/code\u003e\u003c/a\u003e Exclude properdocs when testing minimal dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/ea523f5864f59fb7939f84cd4400df67280ad52c\"\u003e\u003ccode\u003eea523f5\u003c/code\u003e\u003c/a\u003e Warn when this plugin is being used from the mkdocs executable (\u003ca href=\"https://redirect.github.com/oprypin/mkdocs-literate-nav/issues/39\"\u003e#39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/258b15a15a3e25cedc816d0a5a971acfdb86541e\"\u003e\u003ccode\u003e258b15a\u003c/code\u003e\u003c/a\u003e Drop testing under Python 3.9 to fix CI\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/88e1ab7545a4af4aea15c305a154c164a95ab842\"\u003e\u003ccode\u003e88e1ab7\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.5, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10860\"\u003e#10860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/d96d489a1743d32b6bfa53fc0f69a4333209a146\"\u003e\u003ccode\u003ed96d489\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Relax isort version constraint to allow isort 8 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0b08ccb014c265700f244a885bdcbdfa3a03de46\"\u003e\u003ccode\u003e0b08ccb\u003c/code\u003e\u003c/a\u003e Fix dynamic color mapping for \u0026quot;fail-on\u0026quot; messages when using multiple reporter...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/154dba43276e8232a2e1cb8f90bfcc63886f3460\"\u003e\u003ccode\u003e154dba4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix FP for \u003ccode\u003einvalid-name\u003c/code\u003e with \u003ccode\u003etyping.Final\u003c/code\u003e on...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/7b73bfdedf275935b9c5b43a6aeda5cc648b4847\"\u003e\u003ccode\u003e7b73bfd\u003c/code\u003e\u003c/a\u003e Disable unspecified-encoding for py-version above Python 3.15 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10800\"\u003e#10800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/4cc98be8b7786dbc6692493fe9cedb8585af5518\"\u003e\u003ccode\u003e4cc98be\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix setting options for import order checker (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/f0d30a27b510d69f846e3aaa0054cf0a1412923c\"\u003e\u003ccode\u003ef0d30a2\u003c/code\u003e\u003c/a\u003e Sync astroid version with requirements file again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/38bdf024648724e6aea017e62d3b57cb44097ec3\"\u003e\u003ccode\u003e38bdf02\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix \u003ccode\u003elogging-unsupported-format\u003c/code\u003e when logging ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/f08c33ae3e691eed868e49c0d15270dc6e6a0d6c\"\u003e\u003ccode\u003ef08c33a\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Properly detect \u003ccode\u003eself.fail()\u003c/code\u003e as a terminating...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/frequenz-floss/frequenz-api-microgrid/pull/385","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-api-microgrid/issues/385","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/385/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2026-02-20T12:02:39.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3968222814","node_id":"PR_kwDOLYRIeM7FJib2","number":16,"state":"closed","title":"Bump the optional group with 15 updates","user":"dependabot[bot]","labels":["part:tooling"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-20T12:04:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-20T12:02:39.000Z","updated_at":"2026-02-20T12:04:44.000Z","time_to_close":123,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"optional","update_count":15,"packages":[{"name":"flake8","old_version":"7.0.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"pydoclint","old_version":"0.4.1","new_version":"0.8.3","repository_url":"https://github.com/jsh9/pydoclint"},{"name":"markdown","old_version":"3.6","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"mike","old_version":"2.1.1","new_version":"2.1.3","repository_url":"https://github.com/jimporter/mike"},{"name":"mkdocs-gen-files","old_version":"0.5.0","new_version":"0.6.0","repository_url":"https://github.com/oprypin/mkdocs-gen-files"},{"name":"mkdocs-literate-nav","old_version":"0.6.1","new_version":"0.6.2","repository_url":"https://github.com/oprypin/mkdocs-literate-nav"},{"name":"mkdocs-macros-plugin","old_version":"1.0.5","new_version":"1.5.0","repository_url":"https://github.com/fralau/mkdocs_macros_plugin"},{"name":"mkdocs-material","old_version":"9.5.25","new_version":"9.7.2","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"frequenz-repo-config","old_version":"0.9.2","new_version":"0.14.0"},{"name":"mypy","old_version":"1.10.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"types-markdown","old_version":"3.6.0.20240316","new_version":"3.10.2.20260211","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"frequenz-repo-config","old_version":"0.9.2","new_version":"0.14.0"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"async-solipsism","old_version":"0.6","new_version":"0.9","repository_url":"https://github.com/bmerry/async-solipsism"}],"path":null,"ecosystem":"pip"},"body":"Bumps the optional group with 15 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flake8](https://github.com/pycqa/flake8) | `7.0.0` | `7.3.0` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [pydoclint](https://github.com/jsh9/pydoclint) | `0.4.1` | `0.8.3` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.6` | `3.10.2` |\n| [mike](https://github.com/jimporter/mike) | `2.1.1` | `2.1.3` |\n| [mkdocs-gen-files](https://github.com/oprypin/mkdocs-gen-files) | `0.5.0` | `0.6.0` |\n| [mkdocs-literate-nav](https://github.com/oprypin/mkdocs-literate-nav) | `0.6.1` | `0.6.2` |\n| [mkdocs-macros-plugin](https://github.com/fralau/mkdocs_macros_plugin) | `1.0.5` | `1.5.0` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.5.25` | `9.7.2` |\n| [frequenz-repo-config[lib]](https://github.com/frequenz-floss/frequenz-repo-config-python) | `0.9.2` | `0.14.0` |\n| [mypy](https://github.com/python/mypy) | `1.10.0` | `1.19.1` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.6.0.20240316` | `3.10.2.20260211` |\n| [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python) | `0.9.2` | `0.14.0` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [async-solipsism](https://github.com/bmerry/async-solipsism) | `0.6` | `0.9` |\n\nUpdates `flake8` from 7.0.0 to 7.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/c48217e1fc006c2dddd14df54e83b67da15de5cd\"\u003e\u003ccode\u003ec48217e\u003c/code\u003e\u003c/a\u003e Release 7.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/f9e0f33281d5bb892cae2c674ac398439d99c732\"\u003e\u003ccode\u003ef9e0f33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1986\"\u003e#1986\u003c/a\u003e from PyCQA/document-f542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6bcdb628597fa2d03494965089ff87a492ffc1e9\"\u003e\u003ccode\u003e6bcdb62\u003c/code\u003e\u003c/a\u003e document F542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/70a15b8890d5bdf8c449ebb1b5259bd0140cc16b\"\u003e\u003ccode\u003e70a15b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1985\"\u003e#1985\u003c/a\u003e from PyCQA/upgrade-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/4941a3e32e54488698ecbc23993bfeb2a60c0fc5\"\u003e\u003ccode\u003e4941a3e\u003c/code\u003e\u003c/a\u003e upgrade pyflakes / pycodestyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/23e4005c5501999c29e1e3774de7ed18d1e4e22d\"\u003e\u003ccode\u003e23e4005\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1983\"\u003e#1983\u003c/a\u003e from PyCQA/py314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/019424b80d3d7d5d8a2a1638f5877080546e3f46\"\u003e\u003ccode\u003e019424b\u003c/code\u003e\u003c/a\u003e add support for t-strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6b6f3d5fefecc994a06f425c18c3cddc9b71e4a4\"\u003e\u003ccode\u003e6b6f3d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1980\"\u003e#1980\u003c/a\u003e from PyCQA/asottile-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/8dfa6695b4fb1e1401b357367a0a71037d29f6aa\"\u003e\u003ccode\u003e8dfa669\u003c/code\u003e\u003c/a\u003e add rtd sphinx config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/ce3411118382d9332feb2749c8f417d10bfa2584\"\u003e\u003ccode\u003ece34111\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1976\"\u003e#1976\u003c/a\u003e from PyCQA/document-f824\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pycqa/flake8/compare/7.0.0...7.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydoclint` from 0.4.1 to 0.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsh9/pydoclint/releases\"\u003epydoclint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix baseline renegeration bug by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/275\"\u003ejsh9/pydoclint#275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd config option to allow omitting stars in varargs by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/276\"\u003ejsh9/pydoclint#276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/277\"\u003ejsh9/pydoclint#277\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ability to partially match violation codes by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/272\"\u003ejsh9/pydoclint#272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how multiple \u003cstrong\u003einit\u003c/strong\u003e() are recognized by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/273\"\u003ejsh9/pydoclint#273\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange logic to detect docstring style mismatch by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/271\"\u003ejsh9/pydoclint#271\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd inline violation suppression for native mode by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/270\"\u003ejsh9/pydoclint#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh linters \u0026amp; formatters by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/269\"\u003ejsh9/pydoclint#269\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003e@property\u003c/code\u003e + \u003ccode\u003e@abstractmethod\u003c/code\u003e without a Returns: section by \u003ca href=\"https://github.com/barometz\"\u003e\u003ccode\u003e@​barometz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/261\"\u003ejsh9/pydoclint#261\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/barometz\"\u003e\u003ccode\u003e@​barometz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/261\"\u003ejsh9/pydoclint#261\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.4...0.7.5\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.4...0.7.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsh9/pydoclint/blob/main/CHANGELOG.md\"\u003epydoclint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.8.3] - 2025-11-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eA new config option \u003ccode\u003e--omit-stars-when-documenting-varargs\u003c/code\u003e (shortform:\n\u003ccode\u003e-oswdv\u003c/code\u003e) so docstrings may describe varargs without the leading \u003ccode\u003e*\u003c/code\u003e\ncharacters (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/268\"\u003ejsh9/pydoclint#268\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eA bug where \u003ccode\u003e--auto-regenerate-baseline\u003c/code\u003e removes entries of files that have\nnot yet been fixed (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/274\"\u003ejsh9/pydoclint#274\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.2] - 2025-11-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eAbility to partially match violation codes in inline \u003ccode\u003enoqa\u003c/code\u003e in the native\nmode (which \u003cem\u003eflake8\u003c/em\u003e already supports)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eA bug: when there are more than one \u003ccode\u003e__init__()\u003c/code\u003e in a class (overloaded),\nthe first \u003ccode\u003e__init__()\u003c/code\u003e is incorrectly recognized as the \u0026quot;right\u0026quot; one. (The\nlast \u003ccode\u003e__init__()\u003c/code\u003e should be considered the right one.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.1] - 2025-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged\n\u003cul\u003e\n\u003cli\u003eThe logic to detect docstring style mismatches, fixing a false positive\ncase where non-Sphinx style docstrings are detected as Sphinx style\n(because there are some rST keywords in them)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.0] - 2025-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eNew functionality: \u003cem\u003epydoclint\u003c/em\u003e native mode can parse \u0026quot;noqa\u0026quot; comments and\nthus users can suppress violations in the native mode.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.7.6] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged\n\u003cul\u003e\n\u003cli\u003eUpdated linter and auto-formatter configurations\u003c/li\u003e\n\u003cli\u003eMade a lot of changes to fix code style; some logic was also updated per\nthe suggestions of linters\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/98bb10c4e73a050e31471409df8edfaeb88befb8\"\u003e\u003ccode\u003e98bb10c\u003c/code\u003e\u003c/a\u003e Add config option to allow omitting stars in varargs (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/c37407d03df27b4c37b31e697fd474377c3c4efc\"\u003e\u003ccode\u003ec37407d\u003c/code\u003e\u003c/a\u003e Fix baseline renegeration bug (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/276\"\u003e#276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/3386cd2ad39784792a0d39d942dd4b26960c2a27\"\u003e\u003ccode\u003e3386cd2\u003c/code\u003e\u003c/a\u003e Fix baseline renegeration bug (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/8c1081806da276917ac686a12f0c435414955da0\"\u003e\u003ccode\u003e8c10818\u003c/code\u003e\u003c/a\u003e Fix how multiple \u003cstrong\u003einit\u003c/strong\u003e() are recognized (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/273\"\u003e#273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/51435e3714765f9d4b220c868ab185670f3bb14b\"\u003e\u003ccode\u003e51435e3\u003c/code\u003e\u003c/a\u003e Add ability to partially match violation codes (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/e361239034992fbceac83994e47a40a5e7ecf3ea\"\u003e\u003ccode\u003ee361239\u003c/code\u003e\u003c/a\u003e Change logic to detect docstring style mismatch (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/271\"\u003e#271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/bf4c4021dccf832777452e05e94f98a36c59636b\"\u003e\u003ccode\u003ebf4c402\u003c/code\u003e\u003c/a\u003e Add hyperlink\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/a7585273e2b3c8e84a1883d33a168519947c807f\"\u003e\u003ccode\u003ea758527\u003c/code\u003e\u003c/a\u003e Update --check-style-mismatch explanations in config_options.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/e8ffd8988fe57ce4dc8a0625c3281b24ca396240\"\u003e\u003ccode\u003ee8ffd89\u003c/code\u003e\u003c/a\u003e Add inline violation suppression for native mode (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/0a9ad0c159fe5ced98dbbcd3b850a8850ed009b7\"\u003e\u003ccode\u003e0a9ad0c\u003c/code\u003e\u003c/a\u003e Refresh linters \u0026amp; formatters (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.4.1...0.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.6 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.10.2] - 2026-02-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.1] - 2026-01-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.2] - 2025-06-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/e7a0efb3a7c36d6b8005403122705662bc17c904\"\u003e\u003ccode\u003ee7a0efb\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/630183336bda57c258becc3ed229105481876a7e\"\u003e\u003ccode\u003e6301833\u003c/code\u003e\u003c/a\u003e Document HTML sanitation policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/7f29f1a69d236f5bb11645c2fa03fcf701487c8c\"\u003e\u003ccode\u003e7f29f1a\u003c/code\u003e\u003c/a\u003e More reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c4386475a6b6daea43b7d7717add4271adc9a3c1\"\u003e\u003ccode\u003ec438647\u003c/code\u003e\u003c/a\u003e Fix regression of special comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/e5fa5b86e8ec380cbc520cfc637d72c779e5c601\"\u003e\u003ccode\u003ee5fa5b8\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f9253495f5d9919f2fdd5e147832b5fc21330f65\"\u003e\u003ccode\u003ef925349\u003c/code\u003e\u003c/a\u003e More HTML fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/9933a0a4699f3dea91f46528a2bf54863f531c08\"\u003e\u003ccode\u003e9933a0a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Allow reference links with backticks\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07dfa4eb43f7a2ab3181b4f842a960a03a6c1221\"\u003e\u003ccode\u003e07dfa4e\u003c/code\u003e\u003c/a\u003e Allow reference links with backticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/fb6b27a6ff90980b5bcb0cd51528a7c9dc3a93ca\"\u003e\u003ccode\u003efb6b27a\u003c/code\u003e\u003c/a\u003e Fix infinite loop when text contains multiple unclosed comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/89112c293f7b399ae8808f3a06306f46601e9684\"\u003e\u003ccode\u003e89112c2\u003c/code\u003e\u003c/a\u003e Make the docs build successfully with mkdocstrings-python 2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.6...3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mike` from 2.1.1 to 2.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jimporter/mike/releases\"\u003emike's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.3\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen deploying using a deploy prefix, only delete stale versions of the docs within that prefix\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove ambiguity of some Git commands so that file and branch names don't collide\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jimporter/mike/blob/master/CHANGES.md\"\u003emike's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.3 (2024-08-12)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen deploying using a deploy prefix, only delete stale versions of the docs\nwithin that prefix\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003ev2.1.2 (2024-06-23)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove ambiguity of some Git commands so that file and branch names don't\ncollide\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/c4e96085f86e6930e9669e12d81941eff7c3de1d\"\u003e\u003ccode\u003ec4e9608\u003c/code\u003e\u003c/a\u003e Update version to 2.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/3b19e27e9041cca20131f97419a9d7d88f85cf37\"\u003e\u003ccode\u003e3b19e27\u003c/code\u003e\u003c/a\u003e Announce the previous change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/dd9826a855965b0ce6bd06d290665f43ce9dabab\"\u003e\u003ccode\u003edd9826a\u003c/code\u003e\u003c/a\u003e Consult deploy prefix when deleting files during deploy; resolves \u003ca href=\"https://redirect.github.com/jimporter/mike/issues/227\"\u003e#227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/91cf5ee70da446a80bbc6108513581d0d6858ecf\"\u003e\u003ccode\u003e91cf5ee\u003c/code\u003e\u003c/a\u003e Properly escape parameters in regex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/90cf1314af3452003eaf40c9f97853efd2ee4e86\"\u003e\u003ccode\u003e90cf131\u003c/code\u003e\u003c/a\u003e Update version to 2.2.0.dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/62aaeafe60927b0653b319585cbe4a1a1eb1bc23\"\u003e\u003ccode\u003e62aaeaf\u003c/code\u003e\u003c/a\u003e Update version to 2.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/3f7d756e26fca03660e6f08927c7cd911e933c78\"\u003e\u003ccode\u003e3f7d756\u003c/code\u003e\u003c/a\u003e Use \u0026quot;--\u0026quot; to disambiguate Git arguments in a few more places; resolves \u003ca href=\"https://redirect.github.com/jimporter/mike/issues/218\"\u003e#218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/5e6970d65beaf2c92fa1d22dbf524a931a393e8b\"\u003e\u003ccode\u003e5e6970d\u003c/code\u003e\u003c/a\u003e Belatedly update copyright year\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jimporter/mike/commit/9291efbd6961d652c16c000dc1fe4f2f1e19f94c\"\u003e\u003ccode\u003e9291efb\u003c/code\u003e\u003c/a\u003e Update version to 2.2.0.dev0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jimporter/mike/compare/v2.1.1...v2.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-gen-files` from 0.5.0 to 0.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/releases\"\u003emkdocs-gen-files's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCompatibility with MkDocs 1.6 is improved - generated files don't have to have an \u003ccode\u003eabs_src_path\u003c/code\u003e - \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThere was a bug: using \u003ccode\u003eedit_uri_template\u003c/code\u003e in MkDocs would prevent \u003ccode\u003eset_edit_path()\u003c/code\u003e from working.\nThis is now fixed - \u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/issues/37\"\u003e#37\u003c/a\u003e - thanks to \u003ca href=\"https://github.com/frankkusters\"\u003e\u003ccode\u003e@​frankkusters\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe MkDocs configuration file now can be \u003ccode\u003emkdocs.yaml\u003c/code\u003e, not only \u003ccode\u003emkdocs.yml\u003c/code\u003e. Thanks to \u003ca href=\"https://github.com/mgor\"\u003e\u003ccode\u003e@​mgor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/pull/39\"\u003eoprypin/mkdocs-gen-files#39\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMkDocs 1.4.1 is now the lowest supported version -  \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/2e47124f6a00150b40e2694cfb721d4f373be914\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/2e47124f6a00150b40e2694cfb721d4f373be914\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePython 3.9 is now the lowest supported version.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ca href=\"https://oprypin.github.io/mkdocs-gen-files/extras.html#programmatically-generating-the-navigation\"\u003enav generator\u003c/a\u003e can support empty paths - \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/5136a79ab5af156688cca28fb1c081204250159b\"\u003e\u003ccode\u003e5136a79\u003c/code\u003e\u003c/a\u003e v0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/df9d4dc3fb81edb6b9337e03a24421cc6f040d52\"\u003e\u003ccode\u003edf9d4dc\u003c/code\u003e\u003c/a\u003e Add a workaround that allows edit_uri_template to work in MkDocs 1.6+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/e0e32472a5651f30545354cbd903e26091f50b38\"\u003e\u003ccode\u003ee0e3247\u003c/code\u003e\u003c/a\u003e allow \u003ccode\u003e.yaml\u003c/code\u003e extension for mkdocs configuration file (\u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/issues/39\"\u003e#39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/bfe7bbcf0b336d5d9f5d395224b4d063c10c3778\"\u003e\u003ccode\u003ebfe7bbc\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/d56e1d95d927bc53afc5f18ec9ef8167e9b4de13\"\u003e\u003ccode\u003ed56e1d9\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\"\u003e\u003ccode\u003e440b0bf\u003c/code\u003e\u003c/a\u003e Support empty path in \u003ccode\u003eNav\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/85d56eb8ed6eccf1528ca158dbf97c8f0b6bb72e\"\u003e\u003ccode\u003e85d56eb\u003c/code\u003e\u003c/a\u003e Add more lints, update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/1a822d9e0d376d8ecae95fb961144a5af4887ef1\"\u003e\u003ccode\u003e1a822d9\u003c/code\u003e\u003c/a\u003e Update template, fix lints, update docs deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\"\u003e\u003ccode\u003e7baa032\u003c/code\u003e\u003c/a\u003e Fix types and compatibility with MkDocs 1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/6fd0fe048ebf928763458d8dba1a476ca2196117\"\u003e\u003ccode\u003e6fd0fe0\u003c/code\u003e\u003c/a\u003e Template upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-literate-nav` from 0.6.1 to 0.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/releases\"\u003emkdocs-literate-nav's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/6cc020ab973468678fa4420434ce84ee53ea2208?w=1\"\u003eFix compatibility with MkDocs 1.6+\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire at least MkDocs 1.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther refactors, see \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\"\u003ehttps://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/7423f00fe2c26c879310f76631b8180cb2bb6ace\"\u003e\u003ccode\u003e7423f00\u003c/code\u003e\u003c/a\u003e v0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/285344cc3e328c484deb5d932b722a252336e71b\"\u003e\u003ccode\u003e285344c\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/c39fba6d1d789fb7ab9ee31d75fc2ec5973797c0\"\u003e\u003ccode\u003ec39fba6\u003c/code\u003e\u003c/a\u003e Put more items into TYPE_CHECKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/889bcb240e2757f4a2a0efd3a0ef9d58db96427d\"\u003e\u003ccode\u003e889bcb2\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/12f9f79e8ce5d6ee2c934e7787d20d0f055e4c50\"\u003e\u003ccode\u003e12f9f79\u003c/code\u003e\u003c/a\u003e Add more lints, update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/57210ef5a0e855d7cf49be6e2136e9208493cc13\"\u003e\u003ccode\u003e57210ef\u003c/code\u003e\u003c/a\u003e Update template, fix lints, update docs deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/6cc020ab973468678fa4420434ce84ee53ea2208\"\u003e\u003ccode\u003e6cc020a\u003c/code\u003e\u003c/a\u003e Fix types and compatibility with MkDocs 1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/9c0564974487df94a62158028fd5e839f6779f68\"\u003e\u003ccode\u003e9c05649\u003c/code\u003e\u003c/a\u003e Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/07787d5ac634eca808742de2dfafad60f676d90c\"\u003e\u003ccode\u003e07787d5\u003c/code\u003e\u003c/a\u003e Refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/1a7b4d74d283cdabe0b625614cf00e299d678c3f\"\u003e\u003ccode\u003e1a7b4d7\u003c/code\u003e\u003c/a\u003e Refactor for type annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-macros-plugin` from 1.0.5 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fralau/mkdocs_macros_plugin/releases\"\u003emkdocs-macros-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev.1.3.7 With Test Framework\u003c/h2\u003e\n\u003ch2\u003e1.3.7, 2024-10-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed: incompatibility with the d2 module (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/249\"\u003e#249\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.3.6, 2024-10-17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: complete test framework, using pytest and Mkdocs-Test (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/244\"\u003e#244\u003c/a\u003e)\nA number of automated test cases are implemented.\u003c/li\u003e\n\u003cli\u003eChanged: move from setup.py to pyproject.toml (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/250\"\u003e#250\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.2.0, 2024-09-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: three hooks \u003ccode\u003eregister_variables/macros/filters\u003c/code\u003e to facilitate\ncooperation with other MkDocs plugins.\u003c/li\u003e\n\u003cli\u003eFixed: `define_env() was always required in module (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/191\"\u003e#191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded: trace the case when no module is found (INFO)\u003c/li\u003e\n\u003cli\u003eImproved documentation, particularly about HTML pages\u003c/li\u003e\n\u003cli\u003eAdded: parameters \u003ccode\u003ej2_comment_start_string\u003c/code\u003e and\n\u003ccode\u003ej2_comment_end_string\u003c/code\u003e to plugin's parameters,\nto specify alternate markers for comments.\u003c/li\u003e\n\u003cli\u003eAdded the multiline parameter \u003ccode\u003eforce_render_paths\u003c/code\u003e in the config file,\nto specify directories or file patterns to be rendered for the case when \u003ccode\u003erender_by_default = false\u003c/code\u003e\n(the \u003ccode\u003erender_macros\u003c/code\u003e parameter in the YAML header of the page\nhas the last word).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.5, 2023-10-31\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: git.short_tag (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/183\"\u003e#183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded: Mermaid diagrams in the documentation (Readthedocs)\u003c/li\u003e\n\u003cli\u003eFixed: Changelog was no longer displayed (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/186\"\u003e#186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/blob/master/CHANGELOG.md\"\u003emkdocs-macros-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0, 2025-11-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: For each push, testing on github for versions Python 3.8 to 3.12\u003c/li\u003e\n\u003cli\u003eFixed: bug in import of packages when not in source dir (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.1, 2025-10-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: support for j2_extensions paramater in config file (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: missing dependency declaration on \u003ccode\u003erequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.0, 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved: auto-install of missing pluglet (meaningful error message \u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/262\"\u003e#262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: error with yaml dumps (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/258\"\u003e#258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: detection of Jinja2, to allow title rendering (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSmall improvements to documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.3.7, 2024-10-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed: incompatibility with the d2 module (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/249\"\u003e#249\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.3.6, 2024-10-17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: complete test framework, using pytest and Mkdocs-Test (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/244\"\u003e#244\u003c/a\u003e)\nA number of automated test cases are implemented.\u003c/li\u003e\n\u003cli\u003eChanged: move from setup.py to pyproject.toml (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/250\"\u003e#250\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.2.0, 2024-09-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: three hooks \u003ccode\u003eregister_variables/macros/filters\u003c/code\u003e to facilitate\ncooperation with other MkDocs plugins.\u003c/li\u003e\n\u003cli\u003eFixed: `define_env() was always required in module (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/191\"\u003e#191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded: trace the case when no module is found (INFO)\u003c/li\u003e\n\u003cli\u003eImproved documentation, particularly about HTML pages\u003c/li\u003e\n\u003cli\u003eAdded: parameters \u003ccode\u003ej2_comment_start_string\u003c/code\u003e and\n\u003ccode\u003ej2_comment_end_string\u003c/code\u003e to plugin's parameters,\nto specify alternate markers for comments.\u003c/li\u003e\n\u003cli\u003eAdded the multiline parameter \u003ccode\u003eforce_render_paths\u003c/code\u003e in the config file,\nto specify directories or file patterns to be rendered for the case when \u003ccode\u003erender_by_default = false\u003c/code\u003e\n(the \u003ccode\u003erender_macros\u003c/code\u003e parameter in the YAML header of the page\nhas the last word).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/0536f4da1dc643e1fa1f0cc90e71512ada67dc04\"\u003e\u003ccode\u003e0536f4d\u003c/code\u003e\u003c/a\u003e Fix type hint for compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/d9a6bc3aac5b12b86f9e2be7af18e1e9178287f6\"\u003e\u003ccode\u003ed9a6bc3\u003c/code\u003e\u003c/a\u003e Require mkdocs-test\u0026gt;=0.6.0 (compatibility with Python 3.8 and 3.9)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/bcaa72db2820d60822ffba15e87c75669abc7b92\"\u003e\u003ccode\u003ebcaa72d\u003c/code\u003e\u003c/a\u003e Make last minute corrections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/356fc2a5b55d1897a2f2c47856d52b10cff4611c\"\u003e\u003ccode\u003e356fc2a\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/aaf16bdcb9dfcb9c6ea9b6567ea4af7f8c178185\"\u003e\u003ccode\u003eaaf16bd\u003c/code\u003e\u003c/a\u003e Limit testing to 3.10 up (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/ba5356c0c263355556aa82dad0fbfde3cce4bc4d\"\u003e\u003ccode\u003eba5356c\u003c/code\u003e\u003c/a\u003e Use proper exit for pytest if Python \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/6c796600bc0886696ce9b76b84354d7e2bc1b6fa\"\u003e\u003ccode\u003e6c79660\u003c/code\u003e\u003c/a\u003e Skip test_modules.py if Python version \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cec7440d46589b303d741a5e2df0a240c25b9bdb\"\u003e\u003ccode\u003ecec7440\u003c/code\u003e\u003c/a\u003e Test installation of d2 in a cross-platform way (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/492759c5ab3d05f7c55ec62ffdf9573b715ac6ed\"\u003e\u003ccode\u003e492759c\u003c/code\u003e\u003c/a\u003e Update with changes from local repo (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cc5416834a07ffd2ba1fe3d917a701ac6e9c98ad\"\u003e\u003ccode\u003ecc54168\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:fralau/mkdocs_macros_plugin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fralau/mkdocs_macros_plugin/compare/v1.0.5...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.5.25 to 9.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to \u003ccode\u003emkdocs build\u003c/code\u003e about impending MkDocs 2.0 incompatibility (doesn't affect strict mode)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.7.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.7.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is now in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote on deprecated plugins\u003c/strong\u003e: The [projects] and [typeset] plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eChanges\u003c/strong\u003e:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.2 (2026-02-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to 'mkdocs build' about impending MkDocs 2.0 incompatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for automatic image optimization via optimize plugin\u003c/li\u003e\n\u003cli\u003eAdded support for navigation paths (breadcrumbs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/e21a119e38f7bca184e469eaeefa3d5535e5022b\"\u003e\u003ccode\u003ee21a119\u003c/code\u003e\u003c/a\u003e Updated changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/d5654b500a7021625d3c78f59842805c45e7b65a\"\u003e\u003ccode\u003ed5654b5\u003c/code\u003e\u003c/a\u003e Prepare 9.7.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/b18af2f74a98e0d54f7f11b4e029d7ea29166df3\"\u003e\u003ccode\u003eb18af2f\u003c/code\u003e\u003c/a\u003e Opened up version ranges in optional dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/39cdfbd87c80079cd06a6d2a953cd53f531db61d\"\u003e\u003ccode\u003e39cdfbd\u003c/code\u003e\u003c/a\u003e Added social card for blog post\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/09ee7b1913eab1988ff3a81982c39634915336e1\"\u003e\u003ccode\u003e09ee7b1\u003c/code\u003e\u003c/a\u003e Added blog post on MkDocs 2.0 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8564\"\u003e#8564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/0d11a2d01174a0ab3bec97300c4432da44128253\"\u003e\u003ccode\u003e0d11a2d\u003c/code\u003e\u003c/a\u003e Documentation (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8560\"\u003e#8560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/8fc61b5cb00845825179d6fd3e331c789f83187b\"\u003e\u003ccode\u003e8fc61b5\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3f0eaca8da7e06db5bbb8ca41febb78459baf650\"\u003e\u003ccode\u003e3f0eaca\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/eaba2dc24f196ecbf8e9aa87f8982be4e154920b\"\u003e\u003ccode\u003eeaba2dc\u003c/code\u003e\u003c/a\u003e Re-enable publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/7e236f6866b73aa080cd4d209752f6440bf67440\"\u003e\u003ccode\u003e7e236f6\u003c/code\u003e\u003c/a\u003e Temporarily disable publishing\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.5.25...9.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[lib]` from 0.9.2 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[lib]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release adds a new workflow for Dependabot auto-merge and updates mkdocstrings to v2.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code, just have a look at the script output for further instructions.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emkdocsstrings-python\u003c/code\u003e v2 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003cli\u003eNew warning ignores for protobuf gencode versions in pytest.\u003c/li\u003e\n\u003cli\u003eAdded Dependabot auto-merge workflow using \u003ccode\u003efrequenz-floss/dependabot-auto-approve\u003c/code\u003e action.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emkdocstrings: Move \u003ccode\u003epaths\u003c/code\u003e key to the right section in \u003ccode\u003emkdocs.yml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix invalid YAML syntax in Dependabot workflow template.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump types-pyyaml from 6.0.12.20250402 to 6.0.12.20250516 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/410\"\u003efrequenz-floss/frequenz-repo-config-python#410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/408\"\u003efrequenz-floss/frequenz-repo-config-python#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/409\"\u003efrequenz-floss/frequenz-repo-config-python#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove filtering of warnings in pytest by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/411\"\u003efrequenz-floss/frequenz-repo-config-python#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix mkdocsstrings config by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/412\"\u003efrequenz-floss/frequenz-repo-config-python#412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge v0.13.x into v0.x.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/420\"\u003efrequenz-floss/frequenz-repo-config-python#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/424\"\u003efrequenz-floss/frequenz-repo-config-python#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/423\"\u003efrequenz-floss/frequenz-repo-config-python#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate templates dependencies by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/431\"\u003efrequenz-floss/frequenz-repo-config-python#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump types-markdown from 3.8.0.20250415 to 3.8.0.20250708 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/430\"\u003efrequenz-floss/frequenz-repo-config-python#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mypy from 1.16.1 to 1.17.1 in the minor group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/428\"\u003efrequenz-floss/frequenz-repo-config-python#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the mkdocstrings group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/432\"\u003efrequenz-floss/frequenz-repo-config-python#432\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.x.x/RELEASE_NOTES.md\"\u003efrequenz-repo-config[lib]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release migrates lightweight GitHub Actions workflow jobs to use the new cost-effective \u003ccode\u003eubuntu-slim\u003c/code\u003e runner.\nIt also updates cookiecutter pyproject license metadata to SPDX expressions to avoid setuptools deprecation warnings.\nThe auto-dependabot workflow now uses a GitHub App installation token instead of \u003ccode\u003eGITHUB_TOKEN\u003c/code\u003e to fix merge queue and auto-merge failures.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMigrated lightweight workflow jobs to use the new \u003ccode\u003eubuntu-slim\u003c/code\u003e runner for cost savings.\nThe following jobs now use \u003ccode\u003eubuntu-slim\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eci.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e, \u003ccode\u003enox-all\u003c/code\u003e, \u003ccode\u003etest-installation-all\u003c/code\u003e, \u003ccode\u003ecreate-github-release\u003c/code\u003e, \u003ccode\u003epublish-to-pypi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eci-pr.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauto-dependabot.yaml\u003c/code\u003e: \u003ccode\u003eauto-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erelease-notes-check.yml\u003c/code\u003e: \u003ccode\u003echeck-release-notes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edco-merge-queue.yml\u003c/code\u003e: \u003ccode\u003eDCO\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elabeler.yml\u003c/code\u003e: \u003ccode\u003eLabel\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ca href=\"https://github.com/pjknkda/flake8-datetimez\"\u003e\u003ccode\u003eflake8-datetimez\u003c/code\u003e\u003c/a\u003e plugin to the \u003ccode\u003eflake8\u003c/code\u003e session. This plugin prevents accidental use of naive \u003ccode\u003edatetime\u003c/code\u003e objects by flagging calls that create or return datetimes without timezone information.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe CI workflow now uses a simpler matrix.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitched \u003ccode\u003eproject.license\u003c/code\u003e to SPDX expressions and added \u003ccode\u003eproject.license-files\u003c/code\u003e. This removes deprecated setuptools license metadata and avoids build warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/a72bd53788be72e52e392ba037d1846e9af9bdb0\"\u003e\u003ccode\u003ea72bd53\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/10341d61167efc0469c829a7e5159f4fb98db43b\"\u003e\u003ccode\u003e10341d6\u003c/code\u003e\u003c/a\u003e template: Bump protobuf and grpcio to latest versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/af4476785f83336c08114d344820f3c5e47819fa\"\u003e\u003ccode\u003eaf44767\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/8a4e067b5d713b7667fa0e2fb00328de43bf2355\"\u003e\u003ccode\u003e8a4e067\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/73dc4ef502a49f798a6ad672edd6b6b5478851ec\"\u003e\u003ccode\u003e73dc4ef\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/3d86e084ef981c8f5c8b7256918866bd22bbc069\"\u003e\u003ccode\u003e3d86e08\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/5894e50f24b3fcd742d8d44d2c370ad9a43d734f\"\u003e\u003ccode\u003e5894e50\u003c/code\u003e\u003c/a\u003e Bump pydoclint from 0.7.3 to 0.8.3 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/4a81cbbb8281d46e23c58112bdd202ace0861c85\"\u003e\u003ccode\u003e4a81cbb\u003c/code\u003e\u003c/a\u003e Bump frequenz-floss/gh-action-nox from 1.0.1 to 1.1.0 in the compatible group...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/41b3a2cb1a54c14ca1a4bc1bb983b17bee5580b1\"\u003e\u003ccode\u003e41b3a2c\u003c/code\u003e\u003c/a\u003e Bump pytest from 9.0.1 to 9.0.2 in the patch group (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/c2bbc77892b57010335680effe03cb368dc54b75\"\u003e\u003ccode\u003ec2bbc77\u003c/code\u003e\u003c/a\u003e Bump the minor group with 7 updates (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.9.2...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.10.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.10.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-markdown` from 3.6.0.20240316 to 3.10.2.20260211\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typeshed-internal/stub_uploader/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.9.2 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release adds a new workflow for Dependabot auto-merge and updates mkdocstrings to v2.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code, just have a look at the script output for further instructions.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emkdocsstrings-python\u003c/code\u003e v2 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003cli\u003eNew warning ignores for protobuf gencode versions in pytest.\u003c/li\u003e\n\u003cli\u003eAdded Dependabot auto-merge workflow using \u003ccode\u003efrequenz-floss/dependabot-auto-approve\u003c/code\u003e action.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emkdocstrings: Move \u003ccode\u003epaths\u003c/code\u003e key to the right section in \u003ccode\u003emkdocs.yml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix invalid YAML syntax in Dependabot workflow template.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump types-pyyaml from 6.0.12.20250402 to 6.0.12.20250516 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"h...\n\n_Description has been truncated_","html_url":"https://github.com/llucax/frequenz-client-microgrid-python/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/llucax%2Ffrequenz-client-microgrid-python/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2026-02-18T13:09:40.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3957798327","node_id":"PR_kwDOMJcMMM7EngGP","number":23,"state":"closed","title":"Bump the patch group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["part:tooling"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-18T14:54:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-18T13:09:40.000Z","updated_at":"2026-02-18T14:54:29.000Z","time_to_close":6287,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"patch","update_count":2,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"setuptools-scm","old_version":"9.2.0","new_version":"9.2.2"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 2 updates in the / directory: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) and [setuptools-scm[toml]](https://github.com/pypa/setuptools-scm).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm[toml]` from 9.2.0 to 9.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm[toml]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: don't warn about tool.setuptools.dynamic.version when only using file finder by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1232\"\u003epypa/setuptools-scm#1232\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMark recently yanked versions in changelog by \u003ca href=\"https://github.com/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix 1216 explicitly deprecate setuptools dynamic version when active by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1219\"\u003epypa/setuptools-scm#1219\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare Release v9.2.1 by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1226\"\u003epypa/setuptools-scm#1226\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm[toml]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1231\"\u003e#1231\u003c/a\u003e: don't warn about \u003ccode\u003etool.setuptools.dynamic.version\u003c/code\u003e when only using file finder.\nThe warning about combining version guessing with setuptools dynamic versions should only\nbe issued when setuptools-scm is performing version inference, not when it's only being\nused for its file finder functionality.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1216\"\u003e#1216\u003c/a\u003e: accept and create a warning for usages of \u003ccode\u003eversion = attr:\u003c/code\u003e in setuptools config.\nunfortunately dozens of projects cargo-culted that antipattern\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/e56b78fcd4c1e79aa36c1e4700fca34c8ff540fe\"\u003e\u003ccode\u003ee56b78f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1232\"\u003e#1232\u003c/a\u003e from RonnyPfannschmidt/fix-1231-dont-warn-when-no-guess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/4f55e9585e398e13103112a6fd488109d9da4ead\"\u003e\u003ccode\u003e4f55e95\u003c/code\u003e\u003c/a\u003e docs: update changelog for v9.2.2 patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/95a0c47553ea0b373238bb64aa344b2c2547c849\"\u003e\u003ccode\u003e95a0c47\u003c/code\u003e\u003c/a\u003e fix: don't warn about tool.setuptools.dynamic.version when only using file fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/338f562e6a38f8d32fd5aeb4677b3f87fc5a0122\"\u003e\u003ccode\u003e338f562\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1226\"\u003e#1226\u003c/a\u003e from RonnyPfannschmidt/prepare-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/a893634c36a074052ed3f6d0e77b076b582c72ab\"\u003e\u003ccode\u003ea893634\u003c/code\u003e\u003c/a\u003e Prepare release v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/ad83282242e96fe11c958227740ee03a7a2ed0fe\"\u003e\u003ccode\u003ead83282\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1225\"\u003e#1225\u003c/a\u003e from pypa/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/20a44648f299f64b1241a448bdbafde9b1871ebf\"\u003e\u003ccode\u003e20a4464\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/70f69429c40f8c8d3c4e0eec2d8b4a6794671c88\"\u003e\u003ccode\u003e70f6942\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1219\"\u003e#1219\u003c/a\u003e from RonnyPfannschmidt/fix-1216-explicitly-deprecate...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/14d85c0fb8fa9efd1ec4bac3413f48aea0e319f5\"\u003e\u003ccode\u003e14d85c0\u003c/code\u003e\u003c/a\u003e Install Mercurial on Windows runners via Chocolatey\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/8c5cec917123e4cc87b490f56b6e7af27a3b0399\"\u003e\u003ccode\u003e8c5cec9\u003c/code\u003e\u003c/a\u003e Fix API stability check workflow to install griffe and improve reporting\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/llucax/frequenz-core-python/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/llucax%2Ffrequenz-core-python/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2026-02-10T14:21:32.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3921745888","node_id":"PR_kwDOOdxeKs7CwbeO","number":6,"state":"open","title":"Bump the optional group with 14 updates","user":"dependabot[bot]","labels":["part:tooling"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-10T14:21:32.000Z","updated_at":"2026-02-10T14:21:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"optional","update_count":14,"packages":[{"name":"flake8","old_version":"7.1.1","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"pydoclint","old_version":"0.6.0","new_version":"0.8.3","repository_url":"https://github.com/jsh9/pydoclint"},{"name":"markdown","old_version":"3.7","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"mkdocs-gen-files","old_version":"0.5.0","new_version":"0.6.0","repository_url":"https://github.com/oprypin/mkdocs-gen-files"},{"name":"mkdocs-literate-nav","old_version":"0.6.1","new_version":"0.6.2","repository_url":"https://github.com/oprypin/mkdocs-literate-nav"},{"name":"mkdocs-macros-plugin","old_version":"1.3.7","new_version":"1.5.0","repository_url":"https://github.com/fralau/mkdocs_macros_plugin"},{"name":"mkdocs-material","old_version":"9.6.2","new_version":"9.7.1","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"frequenz-repo-config","old_version":"0.12.3","new_version":"0.14.0"},{"name":"mypy","old_version":"1.9.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"types-markdown","old_version":"3.7.0.20241204","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"frequenz-repo-config","old_version":"0.12.3","new_version":"0.14.0"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"async-solipsism","old_version":"0.7","new_version":"0.9","repository_url":"https://github.com/bmerry/async-solipsism"}],"path":null,"ecosystem":"pip"},"body":"Bumps the optional group with 14 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flake8](https://github.com/pycqa/flake8) | `7.1.1` | `7.3.0` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [pydoclint](https://github.com/jsh9/pydoclint) | `0.6.0` | `0.8.3` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.7` | `3.10.2` |\n| [mkdocs-gen-files](https://github.com/oprypin/mkdocs-gen-files) | `0.5.0` | `0.6.0` |\n| [mkdocs-literate-nav](https://github.com/oprypin/mkdocs-literate-nav) | `0.6.1` | `0.6.2` |\n| [mkdocs-macros-plugin](https://github.com/fralau/mkdocs_macros_plugin) | `1.3.7` | `1.5.0` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.6.2` | `9.7.1` |\n| [frequenz-repo-config[lib]](https://github.com/frequenz-floss/frequenz-repo-config-python) | `0.12.3` | `0.14.0` |\n| [mypy](https://github.com/python/mypy) | `1.9.0` | `1.19.1` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.7.0.20241204` | `3.10.0.20251106` |\n| [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python) | `0.12.3` | `0.14.0` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [async-solipsism](https://github.com/bmerry/async-solipsism) | `0.7` | `0.9` |\n\nUpdates `flake8` from 7.1.1 to 7.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/c48217e1fc006c2dddd14df54e83b67da15de5cd\"\u003e\u003ccode\u003ec48217e\u003c/code\u003e\u003c/a\u003e Release 7.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/f9e0f33281d5bb892cae2c674ac398439d99c732\"\u003e\u003ccode\u003ef9e0f33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1986\"\u003e#1986\u003c/a\u003e from PyCQA/document-f542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6bcdb628597fa2d03494965089ff87a492ffc1e9\"\u003e\u003ccode\u003e6bcdb62\u003c/code\u003e\u003c/a\u003e document F542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/70a15b8890d5bdf8c449ebb1b5259bd0140cc16b\"\u003e\u003ccode\u003e70a15b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1985\"\u003e#1985\u003c/a\u003e from PyCQA/upgrade-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/4941a3e32e54488698ecbc23993bfeb2a60c0fc5\"\u003e\u003ccode\u003e4941a3e\u003c/code\u003e\u003c/a\u003e upgrade pyflakes / pycodestyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/23e4005c5501999c29e1e3774de7ed18d1e4e22d\"\u003e\u003ccode\u003e23e4005\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1983\"\u003e#1983\u003c/a\u003e from PyCQA/py314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/019424b80d3d7d5d8a2a1638f5877080546e3f46\"\u003e\u003ccode\u003e019424b\u003c/code\u003e\u003c/a\u003e add support for t-strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6b6f3d5fefecc994a06f425c18c3cddc9b71e4a4\"\u003e\u003ccode\u003e6b6f3d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1980\"\u003e#1980\u003c/a\u003e from PyCQA/asottile-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/8dfa6695b4fb1e1401b357367a0a71037d29f6aa\"\u003e\u003ccode\u003e8dfa669\u003c/code\u003e\u003c/a\u003e add rtd sphinx config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/ce3411118382d9332feb2749c8f417d10bfa2584\"\u003e\u003ccode\u003ece34111\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1976\"\u003e#1976\u003c/a\u003e from PyCQA/document-f824\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pycqa/flake8/compare/7.1.1...7.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydoclint` from 0.6.0 to 0.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsh9/pydoclint/releases\"\u003epydoclint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix baseline renegeration bug by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/275\"\u003ejsh9/pydoclint#275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd config option to allow omitting stars in varargs by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/276\"\u003ejsh9/pydoclint#276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/277\"\u003ejsh9/pydoclint#277\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ability to partially match violation codes by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/272\"\u003ejsh9/pydoclint#272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how multiple \u003cstrong\u003einit\u003c/strong\u003e() are recognized by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/273\"\u003ejsh9/pydoclint#273\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange logic to detect docstring style mismatch by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/271\"\u003ejsh9/pydoclint#271\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd inline violation suppression for native mode by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/270\"\u003ejsh9/pydoclint#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh linters \u0026amp; formatters by \u003ca href=\"https://github.com/jsh9\"\u003e\u003ccode\u003e@​jsh9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/269\"\u003ejsh9/pydoclint#269\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003e@property\u003c/code\u003e + \u003ccode\u003e@abstractmethod\u003c/code\u003e without a Returns: section by \u003ca href=\"https://github.com/barometz\"\u003e\u003ccode\u003e@​barometz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/261\"\u003ejsh9/pydoclint#261\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/barometz\"\u003e\u003ccode\u003e@​barometz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jsh9/pydoclint/pull/261\"\u003ejsh9/pydoclint#261\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.4...0.7.5\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.4...0.7.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.7.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsh9/pydoclint/blob/main/CHANGELOG.md\"\u003epydoclint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.8.3] - 2025-11-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eA new config option \u003ccode\u003e--omit-stars-when-documenting-varargs\u003c/code\u003e (shortform:\n\u003ccode\u003e-oswdv\u003c/code\u003e) so docstrings may describe varargs without the leading \u003ccode\u003e*\u003c/code\u003e\ncharacters (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/268\"\u003ejsh9/pydoclint#268\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eA bug where \u003ccode\u003e--auto-regenerate-baseline\u003c/code\u003e removes entries of files that have\nnot yet been fixed (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/274\"\u003ejsh9/pydoclint#274\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.2...0.8.3\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.2] - 2025-11-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eAbility to partially match violation codes in inline \u003ccode\u003enoqa\u003c/code\u003e in the native\nmode (which \u003cem\u003eflake8\u003c/em\u003e already supports)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eA bug: when there are more than one \u003ccode\u003e__init__()\u003c/code\u003e in a class (overloaded),\nthe first \u003ccode\u003e__init__()\u003c/code\u003e is incorrectly recognized as the \u0026quot;right\u0026quot; one. (The\nlast \u003ccode\u003e__init__()\u003c/code\u003e should be considered the right one.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.1...0.8.2\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.1] - 2025-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged\n\u003cul\u003e\n\u003cli\u003eThe logic to detect docstring style mismatches, fixing a false positive\ncase where non-Sphinx style docstrings are detected as Sphinx style\n(because there are some rST keywords in them)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.8.0...0.8.1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.8.0] - 2025-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eNew functionality: \u003cem\u003epydoclint\u003c/em\u003e native mode can parse \u0026quot;noqa\u0026quot; comments and\nthus users can suppress violations in the native mode.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.6...0.8.0\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.7.6] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged\n\u003cul\u003e\n\u003cli\u003eUpdated linter and auto-formatter configurations\u003c/li\u003e\n\u003cli\u003eMade a lot of changes to fix code style; some logic was also updated per\nthe suggestions of linters\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFull diff\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\"\u003ehttps://github.com/jsh9/pydoclint/compare/0.7.5...0.7.6\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/98bb10c4e73a050e31471409df8edfaeb88befb8\"\u003e\u003ccode\u003e98bb10c\u003c/code\u003e\u003c/a\u003e Add config option to allow omitting stars in varargs (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/c37407d03df27b4c37b31e697fd474377c3c4efc\"\u003e\u003ccode\u003ec37407d\u003c/code\u003e\u003c/a\u003e Fix baseline renegeration bug (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/276\"\u003e#276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/3386cd2ad39784792a0d39d942dd4b26960c2a27\"\u003e\u003ccode\u003e3386cd2\u003c/code\u003e\u003c/a\u003e Fix baseline renegeration bug (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/8c1081806da276917ac686a12f0c435414955da0\"\u003e\u003ccode\u003e8c10818\u003c/code\u003e\u003c/a\u003e Fix how multiple \u003cstrong\u003einit\u003c/strong\u003e() are recognized (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/273\"\u003e#273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/51435e3714765f9d4b220c868ab185670f3bb14b\"\u003e\u003ccode\u003e51435e3\u003c/code\u003e\u003c/a\u003e Add ability to partially match violation codes (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/e361239034992fbceac83994e47a40a5e7ecf3ea\"\u003e\u003ccode\u003ee361239\u003c/code\u003e\u003c/a\u003e Change logic to detect docstring style mismatch (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/271\"\u003e#271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/bf4c4021dccf832777452e05e94f98a36c59636b\"\u003e\u003ccode\u003ebf4c402\u003c/code\u003e\u003c/a\u003e Add hyperlink\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/a7585273e2b3c8e84a1883d33a168519947c807f\"\u003e\u003ccode\u003ea758527\u003c/code\u003e\u003c/a\u003e Update --check-style-mismatch explanations in config_options.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/e8ffd8988fe57ce4dc8a0625c3281b24ca396240\"\u003e\u003ccode\u003ee8ffd89\u003c/code\u003e\u003c/a\u003e Add inline violation suppression for native mode (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsh9/pydoclint/commit/0a9ad0c159fe5ced98dbbcd3b850a8850ed009b7\"\u003e\u003ccode\u003e0a9ad0c\u003c/code\u003e\u003c/a\u003e Refresh linters \u0026amp; formatters (\u003ca href=\"https://redirect.github.com/jsh9/pydoclint/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsh9/pydoclint/compare/0.6.0...0.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.7 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.10.2] - 2026-02-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.1] - 2026-01-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.2] - 2025-06-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/e7a0efb3a7c36d6b8005403122705662bc17c904\"\u003e\u003ccode\u003ee7a0efb\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/630183336bda57c258becc3ed229105481876a7e\"\u003e\u003ccode\u003e6301833\u003c/code\u003e\u003c/a\u003e Document HTML sanitation policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/7f29f1a69d236f5bb11645c2fa03fcf701487c8c\"\u003e\u003ccode\u003e7f29f1a\u003c/code\u003e\u003c/a\u003e More reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c4386475a6b6daea43b7d7717add4271adc9a3c1\"\u003e\u003ccode\u003ec438647\u003c/code\u003e\u003c/a\u003e Fix regression of special comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/e5fa5b86e8ec380cbc520cfc637d72c779e5c601\"\u003e\u003ccode\u003ee5fa5b8\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f9253495f5d9919f2fdd5e147832b5fc21330f65\"\u003e\u003ccode\u003ef925349\u003c/code\u003e\u003c/a\u003e More HTML fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/9933a0a4699f3dea91f46528a2bf54863f531c08\"\u003e\u003ccode\u003e9933a0a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Allow reference links with backticks\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07dfa4eb43f7a2ab3181b4f842a960a03a6c1221\"\u003e\u003ccode\u003e07dfa4e\u003c/code\u003e\u003c/a\u003e Allow reference links with backticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/fb6b27a6ff90980b5bcb0cd51528a7c9dc3a93ca\"\u003e\u003ccode\u003efb6b27a\u003c/code\u003e\u003c/a\u003e Fix infinite loop when text contains multiple unclosed comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/89112c293f7b399ae8808f3a06306f46601e9684\"\u003e\u003ccode\u003e89112c2\u003c/code\u003e\u003c/a\u003e Make the docs build successfully with mkdocstrings-python 2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.7...3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-gen-files` from 0.5.0 to 0.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/releases\"\u003emkdocs-gen-files's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCompatibility with MkDocs 1.6 is improved - generated files don't have to have an \u003ccode\u003eabs_src_path\u003c/code\u003e - \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThere was a bug: using \u003ccode\u003eedit_uri_template\u003c/code\u003e in MkDocs would prevent \u003ccode\u003eset_edit_path()\u003c/code\u003e from working.\nThis is now fixed - \u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/issues/37\"\u003e#37\u003c/a\u003e - thanks to \u003ca href=\"https://github.com/frankkusters\"\u003e\u003ccode\u003e@​frankkusters\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe MkDocs configuration file now can be \u003ccode\u003emkdocs.yaml\u003c/code\u003e, not only \u003ccode\u003emkdocs.yml\u003c/code\u003e. Thanks to \u003ca href=\"https://github.com/mgor\"\u003e\u003ccode\u003e@​mgor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/pull/39\"\u003eoprypin/mkdocs-gen-files#39\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMkDocs 1.4.1 is now the lowest supported version -  \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/2e47124f6a00150b40e2694cfb721d4f373be914\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/2e47124f6a00150b40e2694cfb721d4f373be914\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePython 3.9 is now the lowest supported version.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ca href=\"https://oprypin.github.io/mkdocs-gen-files/extras.html#programmatically-generating-the-navigation\"\u003enav generator\u003c/a\u003e can support empty paths - \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\"\u003ehttps://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/5136a79ab5af156688cca28fb1c081204250159b\"\u003e\u003ccode\u003e5136a79\u003c/code\u003e\u003c/a\u003e v0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/df9d4dc3fb81edb6b9337e03a24421cc6f040d52\"\u003e\u003ccode\u003edf9d4dc\u003c/code\u003e\u003c/a\u003e Add a workaround that allows edit_uri_template to work in MkDocs 1.6+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/e0e32472a5651f30545354cbd903e26091f50b38\"\u003e\u003ccode\u003ee0e3247\u003c/code\u003e\u003c/a\u003e allow \u003ccode\u003e.yaml\u003c/code\u003e extension for mkdocs configuration file (\u003ca href=\"https://redirect.github.com/oprypin/mkdocs-gen-files/issues/39\"\u003e#39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/bfe7bbcf0b336d5d9f5d395224b4d063c10c3778\"\u003e\u003ccode\u003ebfe7bbc\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/d56e1d95d927bc53afc5f18ec9ef8167e9b4de13\"\u003e\u003ccode\u003ed56e1d9\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/440b0bfafa35bd1b1b3b3ed5aaa7b9f11d9cfe7c\"\u003e\u003ccode\u003e440b0bf\u003c/code\u003e\u003c/a\u003e Support empty path in \u003ccode\u003eNav\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/85d56eb8ed6eccf1528ca158dbf97c8f0b6bb72e\"\u003e\u003ccode\u003e85d56eb\u003c/code\u003e\u003c/a\u003e Add more lints, update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/1a822d9e0d376d8ecae95fb961144a5af4887ef1\"\u003e\u003ccode\u003e1a822d9\u003c/code\u003e\u003c/a\u003e Update template, fix lints, update docs deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/7baa03225e6c34cc85d17f79c47e42eb2c2e359e\"\u003e\u003ccode\u003e7baa032\u003c/code\u003e\u003c/a\u003e Fix types and compatibility with MkDocs 1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/commit/6fd0fe048ebf928763458d8dba1a476ca2196117\"\u003e\u003ccode\u003e6fd0fe0\u003c/code\u003e\u003c/a\u003e Template upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oprypin/mkdocs-gen-files/compare/v0.5.0...v0.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-literate-nav` from 0.6.1 to 0.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/releases\"\u003emkdocs-literate-nav's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/6cc020ab973468678fa4420434ce84ee53ea2208?w=1\"\u003eFix compatibility with MkDocs 1.6+\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire at least MkDocs 1.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther refactors, see \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\"\u003ehttps://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/7423f00fe2c26c879310f76631b8180cb2bb6ace\"\u003e\u003ccode\u003e7423f00\u003c/code\u003e\u003c/a\u003e v0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/285344cc3e328c484deb5d932b722a252336e71b\"\u003e\u003ccode\u003e285344c\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/c39fba6d1d789fb7ab9ee31d75fc2ec5973797c0\"\u003e\u003ccode\u003ec39fba6\u003c/code\u003e\u003c/a\u003e Put more items into TYPE_CHECKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/889bcb240e2757f4a2a0efd3a0ef9d58db96427d\"\u003e\u003ccode\u003e889bcb2\u003c/code\u003e\u003c/a\u003e Update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/12f9f79e8ce5d6ee2c934e7787d20d0f055e4c50\"\u003e\u003ccode\u003e12f9f79\u003c/code\u003e\u003c/a\u003e Add more lints, update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/57210ef5a0e855d7cf49be6e2136e9208493cc13\"\u003e\u003ccode\u003e57210ef\u003c/code\u003e\u003c/a\u003e Update template, fix lints, update docs deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/6cc020ab973468678fa4420434ce84ee53ea2208\"\u003e\u003ccode\u003e6cc020a\u003c/code\u003e\u003c/a\u003e Fix types and compatibility with MkDocs 1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/9c0564974487df94a62158028fd5e839f6779f68\"\u003e\u003ccode\u003e9c05649\u003c/code\u003e\u003c/a\u003e Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/07787d5ac634eca808742de2dfafad60f676d90c\"\u003e\u003ccode\u003e07787d5\u003c/code\u003e\u003c/a\u003e Refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/commit/1a7b4d74d283cdabe0b625614cf00e299d678c3f\"\u003e\u003ccode\u003e1a7b4d7\u003c/code\u003e\u003c/a\u003e Refactor for type annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-macros-plugin` from 1.3.7 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/blob/master/CHANGELOG.md\"\u003emkdocs-macros-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0, 2025-11-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: For each push, testing on github for versions Python 3.8 to 3.12\u003c/li\u003e\n\u003cli\u003eFixed: bug in import of packages when not in source dir (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.1, 2025-10-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: support for j2_extensions paramater in config file (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: missing dependency declaration on \u003ccode\u003erequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.0, 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved: auto-install of missing pluglet (meaningful error message \u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/262\"\u003e#262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: error with yaml dumps (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/258\"\u003e#258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: detection of Jinja2, to allow title rendering (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSmall improvements to documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/0536f4da1dc643e1fa1f0cc90e71512ada67dc04\"\u003e\u003ccode\u003e0536f4d\u003c/code\u003e\u003c/a\u003e Fix type hint for compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/d9a6bc3aac5b12b86f9e2be7af18e1e9178287f6\"\u003e\u003ccode\u003ed9a6bc3\u003c/code\u003e\u003c/a\u003e Require mkdocs-test\u0026gt;=0.6.0 (compatibility with Python 3.8 and 3.9)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/bcaa72db2820d60822ffba15e87c75669abc7b92\"\u003e\u003ccode\u003ebcaa72d\u003c/code\u003e\u003c/a\u003e Make last minute corrections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/356fc2a5b55d1897a2f2c47856d52b10cff4611c\"\u003e\u003ccode\u003e356fc2a\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/aaf16bdcb9dfcb9c6ea9b6567ea4af7f8c178185\"\u003e\u003ccode\u003eaaf16bd\u003c/code\u003e\u003c/a\u003e Limit testing to 3.10 up (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/ba5356c0c263355556aa82dad0fbfde3cce4bc4d\"\u003e\u003ccode\u003eba5356c\u003c/code\u003e\u003c/a\u003e Use proper exit for pytest if Python \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/6c796600bc0886696ce9b76b84354d7e2bc1b6fa\"\u003e\u003ccode\u003e6c79660\u003c/code\u003e\u003c/a\u003e Skip test_modules.py if Python version \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cec7440d46589b303d741a5e2df0a240c25b9bdb\"\u003e\u003ccode\u003ecec7440\u003c/code\u003e\u003c/a\u003e Test installation of d2 in a cross-platform way (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/492759c5ab3d05f7c55ec62ffdf9573b715ac6ed\"\u003e\u003ccode\u003e492759c\u003c/code\u003e\u003c/a\u003e Update with changes from local repo (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cc5416834a07ffd2ba1fe3d917a701ac6e9c98ad\"\u003e\u003ccode\u003ecc54168\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:fralau/mkdocs_macros_plugin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fralau/mkdocs_macros_plugin/compare/v1.3.7...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.6.2 to 9.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.7.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is now in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote on deprecated plugins\u003c/strong\u003e: The [projects] and [typeset] plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eChanges\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for projects plugin (for compat, now deprecated)\u003c/li\u003e\n\u003cli\u003eAdded support for typeset plugin (for compat, now deprecated)\u003c/li\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for automatic image optimization via optimize plugin\u003c/li\u003e\n\u003cli\u003eAdded support for navigation paths (breadcrumbs)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8519\"\u003e#8519\u003c/a\u003e: Vector accents do not render when using KaTeX\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.23 (2025-11-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/7e236f6866b73aa080cd4d209752f6440bf67440\"\u003e\u003ccode\u003e7e236f6\u003c/code\u003e\u003c/a\u003e Temporarily disable publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/394149152dc10fc5383c956cd133a665c22fa907\"\u003e\u003ccode\u003e3941491\u003c/code\u003e\u003c/a\u003e Fixed CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/034eaf7b0b7a0a4d2e66179de0dcaded4c923f76\"\u003e\u003ccode\u003e034eaf7\u003c/code\u003e\u003c/a\u003e Prepare 9.7.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/79ba428abebf9b365d4930fb9b147255edd10b88\"\u003e\u003ccode\u003e79ba428\u003c/code\u003e\u003c/a\u003e Fixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/61cad249b6eec5727bcf245ca2dea3ef6c98790f\"\u003e\u003ccode\u003e61cad24\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/dde13ceb9bb49be3b84bc8c1e59b313250ea8516\"\u003e\u003ccode\u003edde13ce\u003c/code\u003e\u003c/a\u003e Fixed false positives and negatives captured in privacy plugin  (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/291012dcf5aff75a32a6fe9e9a6be4d769da12ac\"\u003e\u003ccode\u003e291012d\u003c/code\u003e\u003c/a\u003e Updated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/673d8ca986c37ddeabe25c7e7b7299ec644910ed\"\u003e\u003ccode\u003e673d8ca\u003c/code\u003e\u003c/a\u003e Fixed links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/17227844dce216bf172c9e5de69809765a0b5ab7\"\u003e\u003ccode\u003e1722784\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/aee925f5a0ae3e343ff310e35c667d24eeaff7df\"\u003e\u003ccode\u003eaee925f\u003c/code\u003e\u003c/a\u003e Fixed links\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.6.2...9.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[lib]` from 0.12.3 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[lib]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release adds a new workflow for Dependabot auto-merge and updates mkdocstrings to v2.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code, just have a look at the script output for further instructions.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emkdocsstrings-python\u003c/code\u003e v2 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003cli\u003eNew warning ignores for protobuf gencode versions in pytest.\u003c/li\u003e\n\u003cli\u003eAdded Dependabot auto-merge workflow using \u003ccode\u003efrequenz-floss/dependabot-auto-approve\u003c/code\u003e action.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emkdocstrings: Move \u003ccode\u003epaths\u003c/code\u003e key to the right section in \u003ccode\u003emkdocs.yml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix invalid YAML syntax in Dependabot workflow template.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump types-pyyaml from 6.0.12.20250402 to 6.0.12.20250516 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/410\"\u003efrequenz-floss/frequenz-repo-config-python#410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/408\"\u003efrequenz-floss/frequenz-repo-config-python#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/409\"\u003efrequenz-floss/frequenz-repo-config-python#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove filtering of warnings in pytest by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/411\"\u003efrequenz-floss/frequenz-repo-config-python#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix mkdocsstrings config by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/412\"\u003efrequenz-floss/frequenz-repo-config-python#412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge v0.13.x into v0.x.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/420\"\u003efrequenz-floss/frequenz-repo-config-python#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/424\"\u003efrequenz-floss/frequenz-repo-config-python#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/423\"\u003efrequenz-floss/frequenz-repo-config-python#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate templates dependencies by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/431\"\u003efrequenz-floss/frequenz-repo-config-python#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump types-markdown from 3.8.0.20250415 to 3.8.0.20250708 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/430\"\u003efrequenz-floss/frequenz-repo-config-python#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mypy from 1.16.1 to 1.17.1 in the minor group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/428\"\u003efrequenz-floss/frequenz-repo-config-python#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the mkdocstrings group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/432\"\u003efrequenz-floss/frequenz-repo-config-python#432\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.x.x/RELEASE_NOTES.md\"\u003efrequenz-repo-config[lib]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release migrates lightweight GitHub Actions workflow jobs to use the new cost-effective \u003ccode\u003eubuntu-slim\u003c/code\u003e runner.\nIt also updates cookiecutter pyproject license metadata to SPDX expressions to avoid setuptools deprecation warnings.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated lightweight workflow jobs to use the new \u003ccode\u003eubuntu-slim\u003c/code\u003e runner for cost savings.\nThe following jobs now use \u003ccode\u003eubuntu-slim\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eci.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e, \u003ccode\u003enox-all\u003c/code\u003e, \u003ccode\u003etest-installation-all\u003c/code\u003e, \u003ccode\u003ecreate-github-release\u003c/code\u003e, \u003ccode\u003epublish-to-pypi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eci-pr.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauto-dependabot.yaml\u003c/code\u003e: \u003ccode\u003eauto-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erelease-notes-check.yml\u003c/code\u003e: \u003ccode\u003echeck-release-notes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edco-merge-queue.yml\u003c/code\u003e: \u003ccode\u003eDCO\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elabeler.yml\u003c/code\u003e: \u003ccode\u003eLabel\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitched \u003ccode\u003eproject.license\u003c/code\u003e to SPDX expressions and added \u003ccode\u003eproject.license-files\u003c/code\u003e.\nThis removes deprecated setuptools license metadata and avoids build warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/a72bd53788be72e52e392ba037d1846e9af9bdb0\"\u003e\u003ccode\u003ea72bd53\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/10341d61167efc0469c829a7e5159f4fb98db43b\"\u003e\u003ccode\u003e10341d6\u003c/code\u003e\u003c/a\u003e template: Bump protobuf and grpcio to latest versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/af4476785f83336c08114d344820f3c5e47819fa\"\u003e\u003ccode\u003eaf44767\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/8a4e067b5d713b7667fa0e2fb00328de43bf2355\"\u003e\u003ccode\u003e8a4e067\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/73dc4ef502a49f798a6ad672edd6b6b5478851ec\"\u003e\u003ccode\u003e73dc4ef\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/3d86e084ef981c8f5c8b7256918866bd22bbc069\"\u003e\u003ccode\u003e3d86e08\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/5894e50f24b3fcd742d8d44d2c370ad9a43d734f\"\u003e\u003ccode\u003e5894e50\u003c/code\u003e\u003c/a\u003e Bump pydoclint from 0.7.3 to 0.8.3 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/4a81cbbb8281d46e23c58112bdd202ace0861c85\"\u003e\u003ccode\u003e4a81cbb\u003c/code\u003e\u003c/a\u003e Bump frequenz-floss/gh-action-nox from 1.0.1 to 1.1.0 in the compatible group...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/41b3a2cb1a54c14ca1a4bc1bb983b17bee5580b1\"\u003e\u003ccode\u003e41b3a2c\u003c/code\u003e\u003c/a\u003e Bump pytest from 9.0.1 to 9.0.2 in the patch group (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/c2bbc77892b57010335680effe03cb368dc54b75\"\u003e\u003ccode\u003ec2bbc77\u003c/code\u003e\u003c/a\u003e Bump the minor group with 7 updates (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.12.3...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.9.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/1.9.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-markdown` from 3.7.0.20241204 to 3.10.0.20251106\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typeshed-internal/stub_uploader/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.12.3 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release adds a new workflow for Dependabot auto-merge and updates mkdocstrings to v2.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code, just have a look at the script output for further instructions.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emkdocsstrings-python\u003c/code\u003e v2 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003cli\u003eNew warning ignores for protobuf gencode versions in pytest.\u003c/li\u003e\n\u003cli\u003eAdded Dependabot auto-merge workflow using \u003ccode\u003efrequenz-floss/dependabot-auto-approve\u003c/code\u003e action.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emkdocstrings: Move \u003ccode\u003epaths\u003c/code\u003e key to the right section in \u003ccode\u003emkdocs.yml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix invalid YAML syntax in Dependabot workflow template.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump types-pyyaml from 6.0.12.20250402 to 6.0.12.20250516 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/410\"\u003efrequenz-floss/frequenz-repo-config-python#410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/408\"\u003efrequenz-floss/frequenz-repo-config-python#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/409\"\u003efrequenz-floss/frequenz-repo-config-python#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove filtering of warnings in pytest by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/411\"\u003efrequenz-floss/frequenz-repo-config-python#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix mkdocsstrings config by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/412\"\u003efrequenz-floss/frequenz-repo-config-python#412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge v0.13.x into v0.x.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/420\"\u003efrequenz-floss/frequenz-repo-config-python#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the patch group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/424\"\u003efrequenz-floss/frequenz-repo-config-python#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/423\"\u003efrequenz-floss/frequenz-repo-config-python#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate templates dependencies by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/431\"\u003efrequenz-floss/frequenz-repo-config-python#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump types-markdown from 3.8.0.20250415 to 3.8.0.20250708 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/430\"\u003efrequenz-floss/frequenz-repo-config-python#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mypy from 1.16.1 to 1.17.1 in the minor group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/428\"\u003efrequenz-floss/frequenz-repo-config-python#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the mkdocstrings group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/432\"\u003efrequenz-floss/frequenz-repo-config-python#432\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.x.x/RELEASE_NOTES.md\"\u003efrequenz-repo-config[extra-lint-examples]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release migrates lightweight GitHub Actions workflow jobs to use the new cost-effective \u003ccode\u003eubuntu-slim\u003c/code\u003e runner.\nIt also updates cookiecutter pyproject license metadata to SPDX expressions to avoid setuptools deprecation warnings.\u003c/p\u003e\n\u003ch2\u003eUpgrading\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cp\u003eAll upgrading should be done via the migration script or regenerating the templates.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBut you might still need to adapt your code:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated lightweight workflow jobs to use the new \u003ccode\u003eubuntu-slim\u003c/code\u003e runner for cost savings.\nThe following jobs now use \u003ccode\u003eubuntu-slim\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eci.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e, \u003ccode\u003enox-all\u003c/code\u003e, \u003ccode\u003etest-installation-all\u003c/code\u003e, \u003ccode\u003ecreate-github-release\u003c/code\u003e, \u003ccode\u003epublish-to-pypi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eci-pr.yaml\u003c/code\u003e: \u003ccode\u003eprotolint\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauto-dependabot.yaml\u003c/code\u003e: \u003ccode\u003eauto-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erelease-notes-check.yml\u003c/code\u003e: \u003ccode\u003echeck-release-notes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edco-merge-queue.yml\u003c/code\u003e: \u003ccode\u003eDCO\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elabeler.yml\u003c/code\u003e: \u003ccode\u003eLabel\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitched \u003ccode\u003eproject.license\u003c/code\u003e to SPDX expressions and added \u003ccode\u003eproject.license-files\u003c/code\u003e.\nThis removes deprecated setuptools license metadata and avoids build warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/a72bd53788be72e52e392ba037d1846e9af9bdb0\"\u003e\u003ccode\u003ea72bd53\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/10341d61167efc0469c829a7e5159f4fb98db43b\"\u003e\u003ccode\u003e10341d6\u003c/code\u003e\u003c/a\u003e template: Bump protobuf and grpcio to latest versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/af4476785f83336c08114d344820f3c5e47819fa\"\u003e\u003ccode\u003eaf44767\u003c/code\u003e\u003c/a\u003e Update mypy-protobuf requirement from \u0026lt;4,\u0026gt;=3.0.0 to \u0026gt;=3.0.0,\u0026lt;5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/8a4e067b5d713b7667fa0e2fb00328de43bf2355\"\u003e\u003ccode\u003e8a4e067\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/73dc4ef502a49f798a6ad672edd6b6b5478851ec\"\u003e\u003ccode\u003e73dc4ef\u003c/code\u003e\u003c/a\u003e Prepare for release v0.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/3d86e084ef981c8f5c8b7256918866bd22bbc069\"\u003e\u003ccode\u003e3d86e08\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github....\n\n_Description has been truncated_","html_url":"https://github.com/llucax/frequenz-client-weather-python/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/llucax%2Ffrequenz-client-weather-python/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2026-02-04T16:38:52.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3897416665","node_id":"PR_kwDORIn0eM7BgtPu","number":6,"state":"open","title":"Bump flake8-pyproject from 1.2.3 to 1.2.4","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-04T16:38:52.000Z","updated_at":"2026-02-04T16:38:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) from 1.2.3 to 1.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flake8-pyproject\u0026package-manager=pip\u0026previous-version=1.2.3\u0026new-version=1.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jamesaorson/template-python/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesaorson%2Ftemplate-python/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2026-01-19T18:08:04.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3830734724","node_id":"PR_kwDOPUpNZM6-D6Z9","number":196,"state":"open","title":"deps(deps-dev): bump the python-development group with 17 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-19T18:08:04.000Z","updated_at":"2026-01-19T18:08:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps-dev): bump","group_name":"python-development","update_count":17,"packages":[{"name":"dependency-injector","old_version":"4.48.2","new_version":"4.48.3","repository_url":"https://github.com/ets-labs/python-dependency-injector"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"freezegun","old_version":"1.5.3","new_version":"1.5.5","repository_url":"https://github.com/spulec/freezegun"},{"name":"ipython","old_version":"9.4.0","new_version":"9.9.0","repository_url":"https://github.com/ipython/ipython"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pyfakefs","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/pytest-dev/pyfakefs"},{"name":"pytest-asyncio","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-deadfixtures","old_version":"2.2.1","new_version":"3.1.0","repository_url":"https://github.com/jllorencetti/pytest-deadfixtures"},{"name":"pytest-mock","old_version":"3.14.1","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-randomly","old_version":"3.16.0","new_version":"4.0.1","repository_url":"https://github.com/pytest-dev/pytest-randomly"},{"name":"pytest-reportportal","old_version":"5.5.2","new_version":"5.6.0","repository_url":"https://github.com/reportportal/agent-python-pytest"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.25.7","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"ruff","old_version":"0.12.11","new_version":"0.14.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"wemake-python-styleguide","old_version":"1.3.0","new_version":"1.5.0","repository_url":"https://github.com/wemake-services/wemake-python-styleguide"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-development group with 17 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [dependency-injector](https://github.com/ets-labs/python-dependency-injector) | `4.48.2` | `4.48.3` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [freezegun](https://github.com/spulec/freezegun) | `1.5.3` | `1.5.5` |\n| [ipython](https://github.com/ipython/ipython) | `9.4.0` | `9.9.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.5.1` |\n| [pyfakefs](https://github.com/pytest-dev/pyfakefs) | `5.10.2` | `6.0.0` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.2.0` | `1.3.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-deadfixtures](https://github.com/jllorencetti/pytest-deadfixtures) | `2.2.1` | `3.1.0` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.1` | `3.15.1` |\n| [pytest-randomly](https://github.com/pytest-dev/pytest-randomly) | `3.16.0` | `4.0.1` |\n| [pytest-reportportal](https://github.com/reportportal/agent-python-pytest) | `5.5.2` | `5.6.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.25.7` | `0.25.8` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.11` | `0.14.13` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) | `1.3.0` | `1.5.0` |\n\nUpdates `dependency-injector` from 4.48.2 to 4.48.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ets-labs/python-dependency-injector/releases\"\u003edependency-injector's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.48.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix providers.Resource missing overloads for AbstractContextManager and AbstractAsyncContextManager by \u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/927\"\u003eets-labs/python-dependency-injector#927\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFast depends v3 compatibility fix by \u003ca href=\"https://github.com/AndrianEquestrian\"\u003e\u003ccode\u003e@​AndrianEquestrian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/933\"\u003eets-labs/python-dependency-injector#933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow explicit typing on selector using TypeVar with default Any by \u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/932\"\u003eets-labs/python-dependency-injector#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetrofit assert_type for Aggregate and Callable by \u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/935\"\u003eets-labs/python-dependency-injector#935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eAnnotated\u003c/code\u003e marker to be anywhere in the annotation list. by \u003ca href=\"https://github.com/BrianPugh\"\u003e\u003ccode\u003e@​BrianPugh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/939\"\u003eets-labs/python-dependency-injector#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/927\"\u003eets-labs/python-dependency-injector#927\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BrianPugh\"\u003e\u003ccode\u003e@​BrianPugh\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/939\"\u003eets-labs/python-dependency-injector#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ets-labs/python-dependency-injector/compare/4.48.1...4.48.3\"\u003ehttps://github.com/ets-labs/python-dependency-injector/compare/4.48.1...4.48.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/1510a8479732229bd851f74b9cf28520f59760d7\"\u003e\u003ccode\u003e1510a84\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/51f818720211f7257d0372bda37372f067a3347d\"\u003e\u003ccode\u003e51f8187\u003c/code\u003e\u003c/a\u003e Allow annotated marker to be anywhere in the annotation list (\u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/244deee75ff87c43e92b81ccbe0a062ad8f44c3d\"\u003e\u003ccode\u003e244deee\u003c/code\u003e\u003c/a\u003e Retrofit assert_type for Aggregate and Callable (\u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/d72d07caf751669d6d40e7fc12a2aa97816e6069\"\u003e\u003ccode\u003ed72d07c\u003c/code\u003e\u003c/a\u003e Improve type annotations in providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/009a86de2c4a44f747e4499b1ccdf475dd449ab9\"\u003e\u003ccode\u003e009a86d\u003c/code\u003e\u003c/a\u003e Imporve dict typings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/18e32521a00e54113fa442b2b0b506d5ca109609\"\u003e\u003ccode\u003e18e3252\u003c/code\u003e\u003c/a\u003e Allow explicit typing on Selector using TypeVar with default Any (\u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/932\"\u003e#932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/059f78b27ccecabc5f8cf68f181e3253002c8f34\"\u003e\u003ccode\u003e059f78b\u003c/code\u003e\u003c/a\u003e Fix FastDepends v3 compatibility (\u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/9d3a43271e4cb3802a8fdf504656e126b99e0af8\"\u003e\u003ccode\u003e9d3a432\u003c/code\u003e\u003c/a\u003e Fix providers.Resource missing overloads for AbstractContextManager and Abstr...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ets-labs/python-dependency-injector/compare/4.48.2...4.48.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `freezegun` from 1.5.3 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spulec/freezegun/blob/master/CHANGELOG\"\u003efreezegun's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow parametrized arguments called 'func' (Broken in 1.5.4)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Ability to yield fixtures (broken in 1.5.3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/c9bf52c5aa12ea1b5b8647a136a92504ea071f2f\"\u003e\u003ccode\u003ec9bf52c\u003c/code\u003e\u003c/a\u003e Increase version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/0f2bd7ed8b420da73372f4cbb0207b777caa66e9\"\u003e\u003ccode\u003e0f2bd7e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spulec/freezegun/issues/582\"\u003e#582\u003c/a\u003e from spulec/fixture-called-func\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/a6080557cbcbe4891843934c1334430bb1c5ead7\"\u003e\u003ccode\u003ea608055\u003c/code\u003e\u003c/a\u003e Allow parametrized arguments with name 'func'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/2bb47113a5f9f290d26630c92732e58f49557179\"\u003e\u003ccode\u003e2bb4711\u003c/code\u003e\u003c/a\u003e Increase version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/7599eeea16b8f206e881892dc104128a5b36de82\"\u003e\u003ccode\u003e7599eee\u003c/code\u003e\u003c/a\u003e Add 1.5.4 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/0d00e7ddd9ad33fc63fbed29af17853b18bc3c61\"\u003e\u003ccode\u003e0d00e7d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spulec/freezegun/issues/579\"\u003e#579\u003c/a\u003e from zsh8/decorate_generator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/10c93f2d6c98f82e54470b05144cd0f17d3e1b46\"\u003e\u003ccode\u003e10c93f2\u003c/code\u003e\u003c/a\u003e fix: preserve functionality in pytest yield fixtures\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/spulec/freezegun/compare/1.5.3...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.4.0 to 9.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/0c28fe5821b85b091bf5693ff5ba3eda7bcc49ec\"\u003e\u003ccode\u003e0c28fe5\u003c/code\u003e\u003c/a\u003e release 9.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/b33b1341ae21649744d45934b50697218af86e40\"\u003e\u003ccode\u003eb33b134\u003c/code\u003e\u003c/a\u003e whats new 9.9 (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15113\"\u003e#15113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/3841c05af036bdbc31abbb9d012795c2a50bf71f\"\u003e\u003ccode\u003e3841c05\u003c/code\u003e\u003c/a\u003e whats new 99\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/0423da85d0eecfb7dad4d3b0f714b4c2376cd439\"\u003e\u003ccode\u003e0423da8\u003c/code\u003e\u003c/a\u003e Stop assuming that memory addresses are signed (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15111\"\u003e#15111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/4d0cb19f4724133b102eca3b72b353125efa66ba\"\u003e\u003ccode\u003e4d0cb19\u003c/code\u003e\u003c/a\u003e Stop assuming that memory addresses are signed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/4d71bcf89fe04107f6b1ecb0cf52c047c13c31c0\"\u003e\u003ccode\u003e4d71bcf\u003c/code\u003e\u003c/a\u003e Fix completions for methods starting with \u003ccode\u003e_\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15106\"\u003e#15106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/28d83b9ef7054d8603a7d2d0466cd656b2df0778\"\u003e\u003ccode\u003e28d83b9\u003c/code\u003e\u003c/a\u003e fix-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/74bf6d080d6a6cb917c44c45e54aa6620bcb3718\"\u003e\u003ccode\u003e74bf6d0\u003c/code\u003e\u003c/a\u003e add-end-to-end-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/e62c4ba60fb720fe46758dd5f60f179a7e3f55cb\"\u003e\u003ccode\u003ee62c4ba\u003c/code\u003e\u003c/a\u003e fix-completions-for-private-attr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/11e1f400eecbfa12bbf55cdfff758a256d41d34e\"\u003e\u003ccode\u003e11e1f40\u003c/code\u003e\u003c/a\u003e Add prompt_toolkit's unix_word_rubout to assignable commands for shortcuts (#...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.4.0...9.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.2.0 to 4.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases for \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be deprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.1 - 2025-12-16\u003c/h1\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.5.0 - 2025-11-22\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.4.0 - 2025-11-08\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases\nfor \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be\ndeprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.3.0 - 2025-08-09\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8a0630ca1aa7f6d5665effe674ebe2022af17919\"\u003e\u003ccode\u003e8a0630c\u003c/code\u003e\u003c/a\u003e v4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fcbc745744377ef2c9fe6a7e1a21c67d797933dc\"\u003e\u003ccode\u003efcbc745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e from pre-commit/empty-setup-py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/51592eececd13b99c40ec477ad8f810799147227\"\u003e\u003ccode\u003e51592ee\u003c/code\u003e\u003c/a\u003e fix python local template when artifact dirs are present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/67e8faf80baffcb4b79c31b89ca9a413a1cd6776\"\u003e\u003ccode\u003e67e8faf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3596\"\u003e#3596\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/c251e6b6d011b3b262339dc8e109de29b0ff8db1\"\u003e\u003ccode\u003ec251e6b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/98ccafa3ce42b846b9a9be9ed73fbbec7415496d\"\u003e\u003ccode\u003e98ccafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3593\"\u003e#3593\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/48953556d06f8cdb4248002c1a0044e69e0916b3\"\u003e\u003ccode\u003e4895355\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2cedd58e691f4d3bc6ab266c7d7c28464c3502be\"\u003e\u003ccode\u003e2cedd58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3588\"\u003e#3588\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/465192d7de58d569776eaaa818c94cb2b962d436\"\u003e\u003ccode\u003e465192d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fd42f96874279c4f65363bfea5238714419e54d7\"\u003e\u003ccode\u003efd42f96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3586\"\u003e#3586\u003c/a\u003e from pre-commit/zipapp-sha256-file-not-needed\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.2.0...v4.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyfakefs` from 5.10.2 to 6.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pyfakefs/releases\"\u003epyfakefs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epyfakefs release version 6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eremoves some deprecated functionality\u003c/li\u003e\n\u003cli\u003eremoves support for Python \u0026lt; 3.10\u003c/li\u003e\n\u003cli\u003esee the \u003ca href=\"https://github.com/pytest-dev/pyfakefs/blob/version-6.0/CHANGES.md#version-600-2025-12-21\"\u003erelease notes\u003c/a\u003e for a list of changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pyfakefs/blob/main/CHANGES.md\"\u003epyfakefs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://pypi.python.org/pypi/pyfakefs/6.0.0\"\u003eVersion 6.0.0\u003c/a\u003e (2025-12-21)\u003c/h2\u003e\n\u003cp\u003eRemoves some deprecated functionality, removes support for Python \u0026lt; 3.10.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremoved support for Python versions \u0026lt; 3.10; patch releases based on \u003ccode\u003epyfakefs\u003c/code\u003e 5.10\nsupporting older versions may be made on demand\u003c/li\u003e\n\u003cli\u003eremoved support for patching legacy modules \u003ccode\u003escandir\u003c/code\u003e and \u003ccode\u003epathlib2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003echanged the default for \u003ccode\u003eFakeFilesystem.shuffle_listdir_results\u003c/code\u003e to \u003ccode\u003eTrue\u003c/code\u003e to reflect\nthe real filesystem behavior\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded some support for Python 3.15a3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efixes a problem with \u003ccode\u003ePath\u003c/code\u003e type hints using the pipe symbol in wrapped functions\ninside an \u003ccode\u003efs\u003c/code\u003e dependent fixture (see \u003ca href=\"https://redirect.github.com/pytest-dev/pyfakefs/issues/1242\"\u003e#1242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efixes problem with new \u003ccode\u003ecoverage\u003c/code\u003e in Python 3.14 using the fake filesystem\n(see \u003ca href=\"https://redirect.github.com/pytest-dev/pyfakefs/issues/1245\"\u003e#1245\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded project information to documentation pages\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInfrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded CI tests for Python 3.15\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/fe83300fa947d680afe687386c5d25a4c15819c6\"\u003e\u003ccode\u003efe83300\u003c/code\u003e\u003c/a\u003e Release 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/326eaa377a4acf75ef5e1092778faf905d9329ac\"\u003e\u003ccode\u003e326eaa3\u003c/code\u003e\u003c/a\u003e Pin myst-parser to latest version 4.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/ff7d90820b863726816b229cbe9f9c190ef7298e\"\u003e\u003ccode\u003eff7d908\u003c/code\u003e\u003c/a\u003e Add project info to documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/42ad731dc9665d735d864208c21d862ba691c6a0\"\u003e\u003ccode\u003e42ad731\u003c/code\u003e\u003c/a\u003e Adapt to changes in Python 3.15a3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/7613b9fb0ebb3c3bd15dbc6c089385f8986ef6a0\"\u003e\u003ccode\u003e7613b9f\u003c/code\u003e\u003c/a\u003e Add CI tests for Python 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/4a4dea86226e8653f3ade74b85f562b0a1b5cc53\"\u003e\u003ccode\u003e4a4dea8\u003c/code\u003e\u003c/a\u003e Make old, deprecated \u0026quot;import py\u0026quot; optional (\u003ca href=\"https://redirect.github.com/pytest-dev/pyfakefs/issues/1257\"\u003e#1257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/f0794eebd424523eb2bb5d4280106379efebb4c4\"\u003e\u003ccode\u003ef0794ee\u003c/code\u003e\u003c/a\u003e Update furo from 2025.7.19 to 2025.12.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/09a128334f49182a70dc8e671f83678e2a7ae9aa\"\u003e\u003ccode\u003e09a1283\u003c/code\u003e\u003c/a\u003e Update pre-commit from 4.5.0 to 4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/57e6dfeef6131665816121bf721135996b11aec5\"\u003e\u003ccode\u003e57e6dfe\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pyfakefs/commit/722ab00af67871af59bf28bb8c9c97931b75f016\"\u003e\u003ccode\u003e722ab00\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4 to 5\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pyfakefs/compare/v5.10.2...v6.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.2.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0\"\u003e1.3.0\u003c/a\u003e - 2025-11-10\u003c/h1\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for pytest 9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTested Python versions include free threaded Python 3.14t (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTests are run in the same pytest process, instead of spawning a subprocess with \u003ccode\u003epytest.Pytester.runpytest_subprocess\u003c/code\u003e. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1275\"\u003e#1275\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/2e9695fcf8c5c514f30f57b7d14ab83846357b96\"\u003e\u003ccode\u003e2e9695f\u003c/code\u003e\u003c/a\u003e docs: Compile changelog for v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/dd0e9ba3fa672fd6bf375004319742f8d3a50e12\"\u003e\u003ccode\u003edd0e9ba\u003c/code\u003e\u003c/a\u003e docs: Reference correct issue in news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4c31abe5bf46bca3c9bdc7b18405f3deba4145d0\"\u003e\u003ccode\u003e4c31abe\u003c/code\u003e\u003c/a\u003e Build(deps): Bump nh3 from 0.3.1 to 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/13e94770d7bb146c329ae0e02486c0a6b38f3772\"\u003e\u003ccode\u003e13e9477\u003c/code\u003e\u003c/a\u003e Link to migration guides from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4d2cf3c36f47d7c4d563d401cdf229b35da34fbe\"\u003e\u003ccode\u003e4d2cf3c\u003c/code\u003e\u003c/a\u003e tests: handle Python 3.14 DefaultEventLoopPolicy deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ee3549b6efb729b934e370e2be8040b25b034010\"\u003e\u003ccode\u003eee3549b\u003c/code\u003e\u003c/a\u003e test: Remove obsolete test for the event_loop fixture.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7a67c82c5ae548f0968438e9dfa0f282d51c4597\"\u003e\u003ccode\u003e7a67c82\u003c/code\u003e\u003c/a\u003e tests: Fix failing test by preventing warning conversion to error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a17b689a750d05b6fc9369f5fb2b06baaba83536\"\u003e\u003ccode\u003ea17b689\u003c/code\u003e\u003c/a\u003e test: add pytest config to isolated test directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/18afc9df5a3153dc1fbdc4e11a56517ef95480df\"\u003e\u003ccode\u003e18afc9d\u003c/code\u003e\u003c/a\u003e fix(tests): replace runpytest_subprocess with runpytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/cdc6bd1de75b4738289eafd546f5e27a0bfd3b41\"\u003e\u003ccode\u003ecdc6bd1\u003c/code\u003e\u003c/a\u003e Add support for pytest 9 and drop Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.2.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 6.1.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0 (2025-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for subprocesses measurement.\u003c/p\u003e\n\u003cp\u003eIt was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests.\nIt relied on a \u003ccode\u003e.pth\u003c/code\u003e file, there was no way to opt-out and it created bad interations\nwith \u003ccode\u003ecoverage's new patch system \u0026lt;https://coverage.readthedocs.io/en/latest/config.html#run-patch\u0026gt;\u003c/code\u003e_ added\nin \u003ccode\u003e7.10 \u0026lt;https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eTo migrate to this release you might need to enable the suprocess patch, example for \u003ccode\u003e.coveragerc\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: ini\u003c/p\u003e\n\u003cp\u003e[run]\npatch = subprocess\u003c/p\u003e\n\u003cp\u003eThis release also requires at least coverage 7.10.6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitched packaging to have metadata completely in \u003ccode\u003epyproject.toml\u003c/code\u003e and use \u003ccode\u003ehatchling \u0026lt;https://pypi.org/project/hatchling/\u0026gt;\u003c/code\u003e_ for\nbuilding.\nContributed by Ofek Lev in \u003ccode\u003e[#551](https://github.com/pytest-dev/pytest-cov/issues/551) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/551\u0026gt;\u003c/code\u003e_\nwith some extras in \u003ccode\u003e[#716](https://github.com/pytest-dev/pytest-cov/issues/716) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/716\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved some not really necessary testing deps like \u003ccode\u003esix\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0 (2025-09-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for markdown reports.\nContributed by Marcos Boger in \u003ccode\u003e[#712](https://github.com/pytest-dev/pytest-cov/issues/712) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/712\u0026gt;\u003c/code\u003e_\nand \u003ccode\u003e[#714](https://github.com/pytest-dev/pytest-cov/issues/714) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/714\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed some formatting issues in docs.\nAnonymous contribution in \u003ccode\u003e[#706](https://github.com/pytest-dev/pytest-cov/issues/706) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/706\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.1 (2025-06-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded a version requirement for pytest's pluggy dependency (1.2.0, released 2023-06-21) that has the required new-style hookwrapper API.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved deprecated license classifier (packaging).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisabled coverage warnings in two more situations where they have no value:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;module-not-measured\u0026quot; in workers\u003c/li\u003e\n\u003cli\u003e\u0026quot;already-imported\u0026quot; in subprocesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.0 (2025-06-11)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe plugin now adds 3 rules in the filter warnings configuration to prevent common coverage warnings being raised as obscure errors::\u003c/p\u003e\n\u003cp\u003edefault:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\nonce::PytestCovWarning\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/224d8964caad90074a8cf6dc8720b8f70f31629b\"\u003e\u003ccode\u003e224d896\u003c/code\u003e\u003c/a\u003e Bump version: 6.3.0 → 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/73424e3999f865eac72e27f09d5fe11b9703cfd6\"\u003e\u003ccode\u003e73424e3\u003c/code\u003e\u003c/a\u003e Cleanup the docs a bit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/36f1cc2967831dbd4c8aa70086fc86dc495f8b9a\"\u003e\u003ccode\u003e36f1cc2\u003c/code\u003e\u003c/a\u003e Bump pins in template.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f299c590a63a48e51e3ae949993dc7bb1f1d480d\"\u003e\u003ccode\u003ef299c59\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/25f0b2e0cdbc345c0d3e49170f7a328c3e0d805f\"\u003e\u003ccode\u003e25f0b2e\u003c/code\u003e\u003c/a\u003e Update docs/config.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/bb23eacc5531fb8f499213d8420407e0d72f88e3\"\u003e\u003ccode\u003ebb23eac\u003c/code\u003e\u003c/a\u003e Improve configuration docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/a19531e91e1ab753ccf648a2d9bab08a6fddebb9\"\u003e\u003ccode\u003ea19531e\u003c/code\u003e\u003c/a\u003e Switch from build/pre-commit to uv/prek - this should make this faster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/82f999391073f2fb8ae422af452602f310086a2a\"\u003e\u003ccode\u003e82f9993\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/211b5cd41c29916bc643b4a11b00578ba4fd6fe8\"\u003e\u003ccode\u003e211b5cd\u003c/code\u003e\u003c/a\u003e Fix links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/97aadd74bcbc00a2078d240e8fe871dd62b83d80\"\u003e\u003ccode\u003e97aadd7\u003c/code\u003e\u003c/a\u003e Update some ci config, reformat and apply some lint fixes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v6.1.1...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-deadfixtures` from 2.2.1 to 3.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/releases\"\u003epytest-deadfixtures's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds more test cases by \u003ca href=\"https://github.com/burkestar\"\u003e\u003ccode\u003e@​burkestar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/31\"\u003ejllorencetti/pytest-deadfixtures#31\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emove ci from travis to gh-actions by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/40\"\u003ejllorencetti/pytest-deadfixtures#40\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix flak8 pre-commit url by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/41\"\u003ejllorencetti/pytest-deadfixtures#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for parametrize fixtures by \u003ca href=\"https://github.com/jonatrios\"\u003e\u003ccode\u003e@​jonatrios\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/38\"\u003ejllorencetti/pytest-deadfixtures#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/42\"\u003ejllorencetti/pytest-deadfixtures#42\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump codecov/codecov-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/45\"\u003ejllorencetti/pytest-deadfixtures#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/44\"\u003ejllorencetti/pytest-deadfixtures#44\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump codecov/codecov-action from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/50\"\u003ejllorencetti/pytest-deadfixtures#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support 3.12 and 3.13 python, min python set 3.8 by \u003ca href=\"https://github.com/even-even\"\u003e\u003ccode\u003e@​even-even\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/51\"\u003ejllorencetti/pytest-deadfixtures#51\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/53\"\u003ejllorencetti/pytest-deadfixtures#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/52\"\u003ejllorencetti/pytest-deadfixtures#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun tests on supported Python versions by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/54\"\u003ejllorencetti/pytest-deadfixtures#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unused fixtures count by \u003ca href=\"https://github.com/Ivan-Feofanov\"\u003e\u003ccode\u003e@​Ivan-Feofanov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/36\"\u003ejllorencetti/pytest-deadfixtures#36\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burkestar\"\u003e\u003ccode\u003e@​burkestar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/31\"\u003ejllorencetti/pytest-deadfixtures#31\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonatrios\"\u003e\u003ccode\u003e@​jonatrios\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/38\"\u003ejllorencetti/pytest-deadfixtures#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/42\"\u003ejllorencetti/pytest-deadfixtures#42\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/even-even\"\u003e\u003ccode\u003e@​even-even\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/51\"\u003ejllorencetti/pytest-deadfixtures#51\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ivan-Feofanov\"\u003e\u003ccode\u003e@​Ivan-Feofanov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/36\"\u003ejllorencetti/pytest-deadfixtures#36\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.0.0\"\u003ehttps://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/blob/main/CHANGES.rst\"\u003epytest-deadfixtures's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.1.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add `deadfixtures_ignore` decorator to ignore specific fixtures from being reported as unused\n\u003cp\u003e3.0.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.5\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.8 and 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/58fd8179d8cc86130e312888dba20bdb5d28f1e3\"\u003e\u003ccode\u003e58fd817\u003c/code\u003e\u003c/a\u003e Remove license classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/fef94a5c05632118dd64c3c8daa453bb93f624ae\"\u003e\u003ccode\u003efef94a5\u003c/code\u003e\u003c/a\u003e Add documentation for ignoring specific fixtures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/33a4a02ba6589f9d6b9ee83e56da92d411c0ba48\"\u003e\u003ccode\u003e33a4a02\u003c/code\u003e\u003c/a\u003e Add support for ignoring specific fixtures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/7eae1ae08955c521c8d54c69cb5b51dc633f5408\"\u003e\u003ccode\u003e7eae1ae\u003c/code\u003e\u003c/a\u003e Fixes code format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/e6dbe8e20b49ad07ef84dbf7b38a65627d562290\"\u003e\u003ccode\u003ee6dbe8e\u003c/code\u003e\u003c/a\u003e add unused fixtures count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/28605dc26213f4cc557b60cba3c78dc8795bcc4d\"\u003e\u003ccode\u003e28605dc\u003c/code\u003e\u003c/a\u003e Run tests on supported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/bdae857bc5e1fd3324037514ada0a953a1fb4c50\"\u003e\u003ccode\u003ebdae857\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/f5e6c4a16d93ef7e67721e28556584d2bd0ebc8f\"\u003e\u003ccode\u003ef5e6c4a\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/5abe1f11c199d369635c02a5574be1e7f67ab8f0\"\u003e\u003ccode\u003e5abe1f1\u003c/code\u003e\u003c/a\u003e add support 3.12 and 3.13 python, min python set 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/ff9bf35f14142396972aa00a221d3e6b2eab2ac6\"\u003e\u003ccode\u003eff9bf35\u003c/code\u003e\u003c/a\u003e add support 3.12 and 3.13 python, min python set 3.8\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-mock` from 3.14.1 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/529\"\u003e#529\u003c/a\u003e: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/524\"\u003e#524\u003c/a\u003e: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst\"\u003epytest-mock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#529](https://github.com/pytest-dev/pytest-mock/issues/529) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/529\u0026gt;\u003c/code\u003e_: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#524](https://github.com/pytest-dev/pytest-mock/issues/524) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/524\u0026gt;\u003c/code\u003e_: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e1b5c62a38c5a05cae614aef3847f240ba50d269\"\u003e\u003ccode\u003ee1b5c62\u003c/code\u003e\u003c/a\u003e Release 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/184eb190d6be417f5f33727bcbc9704909479498\"\u003e\u003ccode\u003e184eb19\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003espy_return_iter\u003c/code\u003e only when explicitly requested (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/4fa0088a0aa85eefb1313bd97adf43889bf1f647\"\u003e\u003ccode\u003e4fa0088\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f5aff33ce71ed4620acc43dc41cb3b198bcf4cb0\"\u003e\u003ccode\u003ef5aff33\u003c/code\u003e\u003c/a\u003e Fix test failure with pytest 8+ and verbose mode (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/535\"\u003e#535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/adc41873c9d6aa69b87e3f108c93a29c847869aa\"\u003e\u003ccode\u003eadc4187\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/95ad5700609aae73c6f767b8cc2ccfb2483e0f5c\"\u003e\u003ccode\u003e95ad570\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/532\"\u003e#532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e696bf02c199b1f7d0c48adb450f40e5a75b699a\"\u003e\u003ccode\u003ee696bf0\u003c/code\u003e\u003c/a\u003e Fix standalone mock support (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/531\"\u003e#531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5b29b03ce9581cfcd867dd6c04a970fb2c861291\"\u003e\u003ccode\u003e5b29b03\u003c/code\u003e\u003c/a\u003e Fix gen-release-notes script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/7d22ef4e560351832e60687d8bd15ebe2785ff3b\"\u003e\u003ccode\u003e7d22ef4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/528\"\u003e#528\u003c/a\u003e from pytest-dev/release-3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.14.1...v3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-randomly` from 3.16.0 to 4.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-randomly/blob/main/CHANGELOG.rst\"\u003epytest-randomly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.1 (2025-09-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove the random state caching, which would grow without bound, leaking memory in long test runs.\nThe caching was added to slightly speed up re-using the same (final) seed, but since the final seed is now different for each test, it has no effect.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#690](https://github.com/pytest-dev/pytest-randomly/issues/690) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/687\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModify Numpy seed restriction, replacing hashing with a modulo operation.\nThe extra work to hash is unnecessary now that we generate a final seed per test with CRC32.\nThis change saves ~500ns per test when Numpy is installed.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#691](https://github.com/pytest-dev/pytest-randomly/issues/691) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/691\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0 (2025-09-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Python 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse a different random seed per test, based on the test ID.\u003c/p\u003e\n\u003cp\u003eThis change should mean that tests exercise more random data values in a given run, and that any randomly-generated identifiers have a lower chance of collision when stored in a shared resource like a database.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#687](https://github.com/pytest-dev/pytest-randomly/issues/687) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/687\u0026gt;\u003c/code\u003e\u003cstrong\u003e.\nThanks to Bryce Drennan for the suggestion in \u003ccode\u003eIssue [#600](https://github.com/pytest-dev/pytest-randomly/issues/600) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/600\u0026gt;\u003c/code\u003e\u003c/strong\u003e and initial implementation in \u003ccode\u003ePR [#617](https://github.com/pytest-dev/pytest-randomly/issues/617) \u0026lt;https://github.com/pytest-dev/pytest-randomly/pull/617\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove from MD5 to CRC32 for hashing test IDs, as it’s 5x faster and we don’t need cryptographic security.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eIssue [#686](https://github.com/pytest-dev/pytest-randomly/issues/686) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/686\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/50de0961ad3479901a153a4a89ff58ca7898b550\"\u003e\u003ccode\u003e50de096\u003c/code\u003e\u003c/a\u003e Version 4.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/f9406ec4452d05a865ee67b83fed58bc8f914bac\"\u003e\u003ccode\u003ef9406ec\u003c/code\u003e\u003c/a\u003e Modify Numpy seed restriction (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/22049aabcd1e19012c878dccd5fb1ad728221331\"\u003e\u003ccode\u003e22049aa\u003c/code\u003e\u003c/a\u003e Remove the random state caching (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/ded2e547566368d8751a13bf6b6e6ac8b509caa2\"\u003e\u003ccode\u003eded2e54\u003c/code\u003e\u003c/a\u003e Version 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/cb9b86128c9e79284f1bfad0dbd5d4c5427b5dfc\"\u003e\u003ccode\u003ecb9b861\u003c/code\u003e\u003c/a\u003e Move from MD5 to CRC32 for hashing test IDs (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/bd697bd670943c54b8d21e713dea58ab92508d08\"\u003e\u003ccode\u003ebd697bd\u003c/code\u003e\u003c/a\u003e Use a different random seed per test (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/acadf4684fd12e5e9ca14243167f44b8d302f093\"\u003e\u003ccode\u003eacadf46\u003c/code\u003e\u003c/a\u003e Generate default seed on demand (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/685\"\u003e#685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/f818056fa7933f9f08ff6c5cda0d78ecee14d0af\"\u003e\u003ccode\u003ef818056\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/684\"\u003e#684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/456f7877992809b4e152bf3a356c0a4658275fb7\"\u003e\u003ccode\u003e456f787\u003c/code\u003e\u003c/a\u003e Drop unused import of xdist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/e00b7822dff8061d26ff2b4bdf9dc1a3ea823092\"\u003e\u003ccode\u003ee00b782\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-randomly/compare/3.16.0...4.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-reportportal` from 5.5.2 to 5.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/reportportal/agent-python-pytest/releases\"\u003epytest-reportportal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 5.6.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficial \u003ccode\u003ePython 3.14\u003c/code\u003e support, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/reportportal/agent-python-pytest/issues/396\"\u003e#396\u003c/a\u003e parametrize marker IDs, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom log level handling with \u003ccode\u003erp_log_custom_levels\u003c/code\u003e configuration parameter, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClient version updated on \u003ca href=\"https://github.com/reportportal/client-Python/releases/tag/5.7.0\"\u003e5.7.0\u003c/a\u003e, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePython 3.8\u003c/code\u003e support, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eretries\u003c/code\u003e parameter, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 5.5.4\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn back deprecated \u003ccode\u003erp_log_batch_payload_size\u003c/code\u003e parameter for sake of backward compatibility, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eNOTE: This is the last agent version which supports Python 3.8\u003c/h1\u003e\n\u003ch2\u003eRelease 5.5.3\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth 2.0 Password Grant authentication, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClient version updated to \u003ca href=\"https://github.com/reportportal/client-Python/releases/tag/5.6.7\"\u003e5.6.7\u003c/a\u003e, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSome configuration parameter names, which are different in the client, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erp_uuid\u003c/code\u003e param support, as it was deprecated pretty while ago, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/reportportal/agent-python-pytest/blob/develop/CHANGELOG.md\"\u003epytest-reportportal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[5.6.0]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficial \u003ccode\u003ePython 3.14\u003c/code\u003e support, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/reportportal/agent-python-pytest/issues/396\"\u003e#396\u003c/a\u003e parametrize marker IDs, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom log level handling with \u003ccode\u003erp_log_custom_levels\u003c/code\u003e configuration parameter, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClient version updated on \u003ca href=\"https://github.com/reportportal/client-Python/releases/tag/5.7.0\"\u003e5.7.0\u003c/a\u003e, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePython 3.8\u003c/code\u003e support, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eretries\u003c/code\u003e parameter, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[5.5.4]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn back deprecated \u003ccode\u003erp_log_batch_payload_size\u003c/code\u003e parameter for sake of backward compatibility, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[5.5.3]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth 2.0 Password Grant authentication, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClient version updated to \u003ca href=\"https://github.com/reportportal/client-Python/releases/tag/5.6.7\"\u003e5.6.7\u003c/a\u003e, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSome configuration parameter names, which are different in the client, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erp_uuid\u003c/code\u003e param support, as it was deprecated pretty while ago, by \u003ca href=\"https://github.com/HardNorth\"\u003e\u003ccode\u003e@​HardNorth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/5c94b4b8fcdc1dd6473fc6399fe81d74776885bd\"\u003e\u003ccode\u003e5c94b4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/reportportal/agent-python-pytest/issues/406\"\u003e#406\u003c/a\u003e from reportportal/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/655740c6fc2709c2ccf2f23bd104ec3a3ee0b556\"\u003e\u003ccode\u003e655740c\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/a7ac7ce6e6fc61f764f297558a173f3a752d5d82\"\u003e\u003ccode\u003ea7ac7ce\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/10c3f461e2911444ad41625322ae11f955e96c22\"\u003e\u003ccode\u003e10c3f46\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/84dff8f1f4f4dc73a167ddb5a45b55cddbd064fa\"\u003e\u003ccode\u003e84dff8f\u003c/code\u003e\u003c/a\u003e Add custom log level handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/f828c91050cfb4fb2bca6808885856c9b1f97a90\"\u003e\u003ccode\u003ef828c91\u003c/code\u003e\u003c/a\u003e Update types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/7c8496a1dae27c0554ea80fec5edcf0dfc435371\"\u003e\u003ccode\u003e7c8496a\u003c/code\u003e\u003c/a\u003e Implements issue \u003ca href=\"https://redirect.github.com/reportportal/agent-python-pytest/issues/396\"\u003e#396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/0887b2c9ae2d0153d4fcb7a29c298bbe7f49ca56\"\u003e\u003ccode\u003e0887b2c\u003c/code\u003e\u003c/a\u003e .gitignore update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/cb2ecf4f5df8b08584da1a14b86b3be8c78ff8a5\"\u003e\u003ccode\u003ecb2ecf4\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/reportportal/agent-python-pytest/commit/c59a1aa49744d2fa768251cb36bf96659572be73\"\u003e\u003ccode\u003ec59a1aa\u003c/code\u003e\u003c/a\u003e Minor version bump, Python 3.8 support remove, deprecated code remove\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/reportportal/agent-python-pytest/compare/5.5.2...5.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-xdist` from 3.6.1 to 3.8.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst\"\u003epytest-xdist's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003epytest-xdist 3.8.0 (2025-06-30)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1083](https://github.com/pytest-dev/pytest-xdist/issues/1083) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1083\u0026gt;\u003c/code\u003e_: Add \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e and \u003ccode\u003e--loadscope-reorder\u003c/code\u003e option to control whether to automatically reorder tests in loadscope for tests where relative ordering matters. This only applies when using \u003ccode\u003eloadscope\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, [test_file_1, test_file_2, ..., test_file_n] are given as input test files, if \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e is used, for either worker, the \u003ccode\u003etest_file_a\u003c/code\u003e will be executed before \u003ccode\u003etest_file_b\u003c/code\u003e only if \u003ccode\u003ea \u0026lt; b\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default behavior is to reorder the tests to maximize the number of tests that can be executed in parallel.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003epytest-xdist 3.7.0 (2025-05-26)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1142](https://github.com/pytest-dev/pytest-xdist/issues/1142) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1142\u0026gt;\u003c/code\u003e_: Added support for Python 3.13.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1144](https://github.com/pytest-dev/pytest-xdist/issues/1144) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1144\u0026gt;\u003c/code\u003e_: The internal \u003ccode\u003esteal\u003c/code\u003e command is now atomic - it unschedules either all requested tests or none.\u003c/p\u003e\n\u003cp\u003eThis is a prerequisite for group/scope support in the \u003ccode\u003eworksteal\u003c/code\u003e scheduler, so test groups won't be broken up incorrectly.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1170](https://github.com/pytest-dev/pytest-xdist/issues/1170) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1170\u0026gt;\u003c/code\u003e_: Add the \u003ccode\u003e--px\u003c/code\u003e arg to create proxy gateways.\u003c/p\u003e\n\u003cp\u003eProxy gateways are passed to additional gateways using the \u003ccode\u003evia\u003c/code\u003e keyword.\nThey can serve as a way to run multiple workers on remote machines.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1200](https://github.com/pytest-dev/pytest-xdist/issues/1200) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1200\u0026gt;\u003c/code\u003e_: Now multiple \u003ccode\u003exdist_group\u003c/code\u003e markers are considered when assigning tests to groups (order does not matter).\u003c/p\u003e\n\u003cp\u003ePreviously, only the last marker would assign a test to a group, but now if a test has multiple \u003ccode\u003exdist_group\u003c/code\u003e marks applied (for example via parametrization or via fixtures), they are merged to make a new group.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#1162](https://github.com/pytest-dev/pytest-xdist/issues/1162) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1162\u0026gt;\u003c/code\u003e_: Dropped support for EOL Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTrivial Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1092](https://github.com/pytest-dev/pytest-xdist/issues/1092) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1092\u0026gt;\u003c/code\u003e_: Update an error message to better indicate where users should go for more information.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1190](https://github.com/pytest-dev/pytest-xdist/issues/1190) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1190\u0026gt;\u003c/code\u003e_: Switched to using a SPDX license identifier introduced in PEP 639.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/1e3e4dc16523c8a8f6c67d95a950166420718c99\"\u003e\u003ccode\u003e1e3e4dc\u003c/code\u003e\u003c/a\u003e Release 3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/600aad575a4e4382855145b0c464d51b8f0b7242\"\u003e\u003ccode\u003e600aad5\u003c/code\u003e\u003c/a\u003e Ensure all xdist group names are strings (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/9d7ba5b5fbbbe26793fbfb7cb1903eb69425cf09\"\u003e\u003ccode\u003e9d7ba5b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e and \u003ccode\u003e--loadscope-reorder\u003c/code\u003e options (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/532f07fb181bb1546eda79bbe6b46bdb56c699e1\"\u003e\u003ccode\u003e532f07f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1210\"\u003e#1210\u003c/a\u003e from pytest-dev/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/0883ad085e0cf039c8ae13eb2789c1076544d225\"\u003e\u003ccode\u003e0883ad0\u003c/code\u003e\u003c/a\u003e Fix Path usage in \u003ccode\u003etest_rsync_roots_no_roots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/58a51bc14015d211761e44c2bdacab09c3893668\"\u003e\u003ccode\u003e58a51bc\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/59a2ad0150697b9ff837f3ae8dcf6e074d5a114b\"\u003e\u003ccode\u003e59a2ad0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1220\"\u003e#1220\u003c/a\u003e from pytest-dev/dependabot/github_actions/github-act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/d42b9c72044855236c68286ca3bdb34486a05872\"\u003e\u003ccode\u003ed42b9c7\u003c/code\u003e\u003c/a\u003e build(deps): bump hynek/build-and-inspect-python-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/ebfcb99072aed3503fda5175245f28895a0204bb\"\u003e\u003ccode\u003eebfcb99\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1206\"\u003e#1206\u003c/a\u003e from pytest-dev/release-3.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/23b7fd6054298a530b02b33d07007b3082a36277\"\u003e\u003ccode\u003e23b7fd6\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1207\"\u003e#1207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-xdist/compare/v3.6.1...v3.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `responses` from 0.25.7 to 0.25.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/responses/releases\"\u003eresponses's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where the content type is always recorded as either text/plain or application/json. See \u003ca href=\"https://redirect.github.com/getsentry/responses/issues/770\"\u003e#770\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow asserts on add_callback() matches. See ...\n\n_Description has been truncated_","html_url":"https://github.com/softwareone-platform/mpt-api-python-client/pull/196","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwareone-platform%2Fmpt-api-python-client/issues/196","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/196/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":"the patch group","pr_created_at":"2026-01-01T18:17:57.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3774994393","node_id":"PR_kwDOQRAEks67N9YT","number":19,"state":"closed","title":"Bump flake8-pyproject from 1.2.3 to 1.2.4 in the patch group","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt","tool:auto-merged"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-21T16:10:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-01T18:17:57.000Z","updated_at":"2026-01-21T16:10:53.000Z","time_to_close":1720374,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":"the patch group","ecosystem":"pip"},"body":"Bumps the patch group with 1 update: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flake8-pyproject\u0026package-manager=pip\u0026previous-version=1.2.3\u0026new-version=1.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/frequenz-floss/frequenz-client-marketmetering-python/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-client-marketmetering-python/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2026-01-01T11:23:51.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3774516240","node_id":"PR_kwDOQm-Fac67Ma6i","number":18,"state":"closed","title":"build(deps-dev): Bump the patch group with 3 updates","user":"dependabot[bot]","labels":["part:tooling","tool:auto-merged"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-01T11:24:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-01T11:23:51.000Z","updated_at":"2026-01-01T11:24:13.000Z","time_to_close":15,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): Bump","group_name":"patch","update_count":3,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"mkdocs-material","old_version":"9.7.0","new_version":"9.7.1","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"mypy","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 3 updates: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [mkdocs-material](https://github.com/squidfunk/mkdocs-material) and [mypy](https://github.com/python/mypy).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.7.0 to 9.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for automatic image optimization via optimize plugin\u003c/li\u003e\n\u003cli\u003eAdded support for navigation paths (breadcrumbs)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8519\"\u003e#8519\u003c/a\u003e: Vector accents do not render when using KaTeX\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.23 (2025-11-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/7e236f6866b73aa080cd4d209752f6440bf67440\"\u003e\u003ccode\u003e7e236f6\u003c/code\u003e\u003c/a\u003e Temporarily disable publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/394149152dc10fc5383c956cd133a665c22fa907\"\u003e\u003ccode\u003e3941491\u003c/code\u003e\u003c/a\u003e Fixed CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/034eaf7b0b7a0a4d2e66179de0dcaded4c923f76\"\u003e\u003ccode\u003e034eaf7\u003c/code\u003e\u003c/a\u003e Prepare 9.7.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/79ba428abebf9b365d4930fb9b147255edd10b88\"\u003e\u003ccode\u003e79ba428\u003c/code\u003e\u003c/a\u003e Fixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/61cad249b6eec5727bcf245ca2dea3ef6c98790f\"\u003e\u003ccode\u003e61cad24\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/dde13ceb9bb49be3b84bc8c1e59b313250ea8516\"\u003e\u003ccode\u003edde13ce\u003c/code\u003e\u003c/a\u003e Fixed false positives and negatives captured in privacy plugin  (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/291012dcf5aff75a32a6fe9e9a6be4d769da12ac\"\u003e\u003ccode\u003e291012d\u003c/code\u003e\u003c/a\u003e Updated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/673d8ca986c37ddeabe25c7e7b7299ec644910ed\"\u003e\u003ccode\u003e673d8ca\u003c/code\u003e\u003c/a\u003e Fixed links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/17227844dce216bf172c9e5de69809765a0b5ab7\"\u003e\u003ccode\u003e1722784\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/aee925f5a0ae3e343ff310e35c667d24eeaff7df\"\u003e\u003ccode\u003eaee925f\u003c/code\u003e\u003c/a\u003e Fixed links\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.7.0...9.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.19.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Marenz/frequenz-client-marketmetering-python-standalone-backup/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marenz%2Ffrequenz-client-marketmetering-python-standalone-backup/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2026-01-01T11:02:03.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3774467099","node_id":"PR_kwDOI2sz8s67MPyA","number":97,"state":"closed","title":"chore(deps-dev): bump flake8-pyproject from 1.2.3 to 1.2.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-02T03:48:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-01T11:02:03.000Z","updated_at":"2026-01-02T03:48:15.000Z","time_to_close":60370,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) from 1.2.3 to 1.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flake8-pyproject\u0026package-manager=pip\u0026previous-version=1.2.3\u0026new-version=1.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/layertwo/aws-cdk-game-stacks/pull/97","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/layertwo%2Faws-cdk-game-stacks/issues/97","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/97/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2025-12-22T11:58:54.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3753520706","node_id":"PR_kwDOK5vSp866IJ2b","number":698,"state":"open","title":"deps(deps-dev): bump the python-development group with 17 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-22T11:58:54.000Z","updated_at":"2025-12-22T12:04:03.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps-dev): bump","group_name":"python-development","update_count":17,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"freezegun","old_version":"1.4.0","new_version":"1.5.5","repository_url":"https://github.com/spulec/freezegun"},{"name":"ipython","old_version":"8.37.0","new_version":"9.8.0","repository_url":"https://github.com/ipython/ipython"},{"name":"mypy","old_version":"1.8.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pre-commit","old_version":"3.6.2","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pytest","old_version":"7.4.4","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"4.1.0","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-deadfixtures","old_version":"2.2.1","new_version":"3.0.0","repository_url":"https://github.com/jllorencetti/pytest-deadfixtures"},{"name":"pytest-django","old_version":"4.7.0","new_version":"4.11.1","repository_url":"https://github.com/pytest-dev/pytest-django"},{"name":"pytest-mock","old_version":"3.12.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-randomly","old_version":"3.15.0","new_version":"4.0.1","repository_url":"https://github.com/pytest-dev/pytest-randomly"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"ruff","old_version":"0.12.11","new_version":"0.14.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"types-requests","old_version":"2.31.0.20240406","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"wemake-python-styleguide","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/wemake-services/wemake-python-styleguide"},{"name":"debugpy","old_version":"1.8.17","new_version":"1.8.19","repository_url":"https://github.com/microsoft/debugpy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-development group with 17 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [freezegun](https://github.com/spulec/freezegun) | `1.4.0` | `1.5.5` |\n| [ipython](https://github.com/ipython/ipython) | `8.37.0` | `9.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.8.0` | `1.19.1` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `3.6.2` | `4.5.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `7.4.4` | `9.0.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `4.1.0` | `7.0.0` |\n| [pytest-deadfixtures](https://github.com/jllorencetti/pytest-deadfixtures) | `2.2.1` | `3.0.0` |\n| [pytest-django](https://github.com/pytest-dev/pytest-django) | `4.7.0` | `4.11.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.12.0` | `3.15.1` |\n| [pytest-randomly](https://github.com/pytest-dev/pytest-randomly) | `3.15.0` | `4.0.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.25.8` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.11` | `0.14.10` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.31.0.20240406` | `2.32.4.20250913` |\n| [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) | `1.3.0` | `1.4.0` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.17` | `1.8.19` |\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `freezegun` from 1.4.0 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spulec/freezegun/blob/master/CHANGELOG\"\u003efreezegun's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow parametrized arguments called 'func' (Broken in 1.5.4)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Ability to yield fixtures (broken in 1.5.3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility with pytest 8.4.0 when using fixtures\u003c/li\u003e\n\u003cli\u003eAdd (back) class-decorator overload to guarantee Pytype understands it\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.7\u003c/li\u003e\n\u003cli\u003eExplicitly marks support for Python 3.13\u003c/li\u003e\n\u003cli\u003eImproved project documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the typing of the \u003ccode\u003etick()\u003c/code\u003e method, and improve it's behaviour.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe default ignore list now contains the \u003ccode\u003equeue\u003c/code\u003e-package\u003c/li\u003e\n\u003cli\u003eAdded a missing \u003ccode\u003emove_to\u003c/code\u003e-function when calling \u003ccode\u003efreeze_time(tick=True)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixes a rounding error in \u003ccode\u003etime.time_ns()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed a bug where the default ignore list could not be empty (\u003ccode\u003econfigure(default_ignore_list=[])\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAll \u003ccode\u003etick()\u003c/code\u003e methods now return the new datetime (instead of None)\u003c/li\u003e\n\u003cli\u003eType improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/c9bf52c5aa12ea1b5b8647a136a92504ea071f2f\"\u003e\u003ccode\u003ec9bf52c\u003c/code\u003e\u003c/a\u003e Increase version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/0f2bd7ed8b420da73372f4cbb0207b777caa66e9\"\u003e\u003ccode\u003e0f2bd7e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spulec/freezegun/issues/582\"\u003e#582\u003c/a\u003e from spulec/fixture-called-func\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/a6080557cbcbe4891843934c1334430bb1c5ead7\"\u003e\u003ccode\u003ea608055\u003c/code\u003e\u003c/a\u003e Allow parametrized arguments with name 'func'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/2bb47113a5f9f290d26630c92732e58f49557179\"\u003e\u003ccode\u003e2bb4711\u003c/code\u003e\u003c/a\u003e Increase version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/7599eeea16b8f206e881892dc104128a5b36de82\"\u003e\u003ccode\u003e7599eee\u003c/code\u003e\u003c/a\u003e Add 1.5.4 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/0d00e7ddd9ad33fc63fbed29af17853b18bc3c61\"\u003e\u003ccode\u003e0d00e7d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spulec/freezegun/issues/579\"\u003e#579\u003c/a\u003e from zsh8/decorate_generator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/10c93f2d6c98f82e54470b05144cd0f17d3e1b46\"\u003e\u003ccode\u003e10c93f2\u003c/code\u003e\u003c/a\u003e fix: preserve functionality in pytest yield fixtures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/d2e0a00addb0653b0cf3be65f8fa7137c7e3bda1\"\u003e\u003ccode\u003ed2e0a00\u003c/code\u003e\u003c/a\u003e Increase version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/6229e27d27ec61c4c55d7006db7ede6f16d7280a\"\u003e\u003ccode\u003e6229e27\u003c/code\u003e\u003c/a\u003e Add 1.5.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spulec/freezegun/commit/3111775d6e484f55a85030c626180b592adef569\"\u003e\u003ccode\u003e3111775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spulec/freezegun/issues/576\"\u003e#576\u003c/a\u003e from spulec/support-fixtures-pytest-840\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spulec/freezegun/compare/1.4.0...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 8.37.0 to 9.8.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/2fc1f45803f44e80ed121b6da0de9c5b38a3f3ec\"\u003e\u003ccode\u003e2fc1f45\u003c/code\u003e\u003c/a\u003e release 9.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/ed971f9ca5d63484d0a63d2d0f1d29b91eb71261\"\u003e\u003ccode\u003eed971f9\u003c/code\u003e\u003c/a\u003e Whatsnew 9.8 (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15090\"\u003e#15090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/6b93788154f321c8e3968319f1eb141170978497\"\u003e\u003ccode\u003e6b93788\u003c/code\u003e\u003c/a\u003e Whatsnew 9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/413a07737495343b967b1cb9f36b8da01271adf8\"\u003e\u003ccode\u003e413a077\u003c/code\u003e\u003c/a\u003e Some documentation updates. (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15084\"\u003e#15084\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/df6b2d0f8eecab875f4fa43bf5127b8f36d85a63\"\u003e\u003ccode\u003edf6b2d0\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15086\"\u003e#15086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/b33d048d19e4f7d5e1fa28551ef46d0d45ff93f5\"\u003e\u003ccode\u003eb33d048\u003c/code\u003e\u003c/a\u003e execution count more atomic, run_cell_async reenterable (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15088\"\u003e#15088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/aaa5a4562899f6a805468772aecfddb5036158a9\"\u003e\u003ccode\u003eaaa5a45\u003c/code\u003e\u003c/a\u003e execution count more atomic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/e9e7e4f7df001d345fa0be1362c30ccb8f88839f\"\u003e\u003ccode\u003ee9e7e4f\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/263ebaa46d8a3aca21cfbc2c073e0e4e2c5b4ef6\"\u003e\u003ccode\u003e263ebaa\u003c/code\u003e\u003c/a\u003e Fix some ruff issues with import (rule UP35 not activated yet) (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15037\"\u003e#15037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/6240d23b089973bf3cf1a3274c0cadc91b963dc4\"\u003e\u003ccode\u003e6240d23\u003c/code\u003e\u003c/a\u003e Many documentation updates.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/8.37.0...9.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.8.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.8.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 3.6.2 to 4.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases for \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be deprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFor \u003ccode\u003elanguage: python\u003c/code\u003e first attempt a versioned python executable for the default language version before consulting a potentially unversioned \u003ccode\u003esys.executable\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3430\"\u003e#3430\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle error during conflict detection when a file is named \u0026quot;HEAD\u0026quot;\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3425\"\u003e#3425\u003c/a\u003e PR by \u003ca href=\"https://github.com/tusharsadhwani\"\u003e\u003ccode\u003e@​tusharsadhwani\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.1 - 2025-12-16\u003c/h1\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.5.0 - 2025-11-22\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.4.0 - 2025-11-08\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases\nfor \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be\ndeprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.3.0 - 2025-08-09\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8a0630ca1aa7f6d5665effe674ebe2022af17919\"\u003e\u003ccode\u003e8a0630c\u003c/code\u003e\u003c/a\u003e v4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fcbc745744377ef2c9fe6a7e1a21c67d797933dc\"\u003e\u003ccode\u003efcbc745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e from pre-commit/empty-setup-py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/51592eececd13b99c40ec477ad8f810799147227\"\u003e\u003ccode\u003e51592ee\u003c/code\u003e\u003c/a\u003e fix python local template when artifact dirs are present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/67e8faf80baffcb4b79c31b89ca9a413a1cd6776\"\u003e\u003ccode\u003e67e8faf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3596\"\u003e#3596\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/c251e6b6d011b3b262339dc8e109de29b0ff8db1\"\u003e\u003ccode\u003ec251e6b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/98ccafa3ce42b846b9a9be9ed73fbbec7415496d\"\u003e\u003ccode\u003e98ccafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3593\"\u003e#3593\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/48953556d06f8cdb4248002c1a0044e69e0916b3\"\u003e\u003ccode\u003e4895355\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2cedd58e691f4d3bc6ab266c7d7c28464c3502be\"\u003e\u003ccode\u003e2cedd58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3588\"\u003e#3588\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/465192d7de58d569776eaaa818c94cb2b962d436\"\u003e\u003ccode\u003e465192d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fd42f96874279c4f65363bfea5238714419e54d7\"\u003e\u003ccode\u003efd42f96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3586\"\u003e#3586\u003c/a\u003e from pre-commit/zipapp-sha256-file-not-needed\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v3.6.2...v4.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 7.4.4 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.1\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.1 (2025-11-12)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13895\"\u003e#13895\u003c/a\u003e: Restore support for skipping tests via \u003ccode\u003eraise unittest.SkipTest\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the verbosity settings in the API reference from number to string.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13910\"\u003e#13910\u003c/a\u003e: Fixed \u003c!-- raw HTML omitted --\u003eUserWarning: Do not expect file_or_dir\u003c!-- raw HTML omitted --\u003e on some earlier Python 3.12 and 3.13 point versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13891\"\u003e#13891\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13942\"\u003e#13942\u003c/a\u003e: The CI/CD part of the release automation is now capable of\ncreating GitHub Releases without having a Git checkout on\ndisk -- by \u003ccode\u003ebluetech\u003c/code\u003e and \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/7.4.4...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 4.1.0 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0 (2025-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for subprocesses measurement.\u003c/p\u003e\n\u003cp\u003eIt was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests.\nIt relied on a \u003ccode\u003e.pth\u003c/code\u003e file, there was no way to opt-out and it created bad interations\nwith \u003ccode\u003ecoverage's new patch system \u0026lt;https://coverage.readthedocs.io/en/latest/config.html#run-patch\u0026gt;\u003c/code\u003e_ added\nin \u003ccode\u003e7.10 \u0026lt;https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eTo migrate to this release you might need to enable the suprocess patch, example for \u003ccode\u003e.coveragerc\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: ini\u003c/p\u003e\n\u003cp\u003e[run]\npatch = subprocess\u003c/p\u003e\n\u003cp\u003eThis release also requires at least coverage 7.10.6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitched packaging to have metadata completely in \u003ccode\u003epyproject.toml\u003c/code\u003e and use \u003ccode\u003ehatchling \u0026lt;https://pypi.org/project/hatchling/\u0026gt;\u003c/code\u003e_ for\nbuilding.\nContributed by Ofek Lev in \u003ccode\u003e[#551](https://github.com/pytest-dev/pytest-cov/issues/551) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/551\u0026gt;\u003c/code\u003e_\nwith some extras in \u003ccode\u003e[#716](https://github.com/pytest-dev/pytest-cov/issues/716) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/716\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved some not really necessary testing deps like \u003ccode\u003esix\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0 (2025-09-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for markdown reports.\nContributed by Marcos Boger in \u003ccode\u003e[#712](https://github.com/pytest-dev/pytest-cov/issues/712) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/712\u0026gt;\u003c/code\u003e_\nand \u003ccode\u003e[#714](https://github.com/pytest-dev/pytest-cov/issues/714) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/714\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed some formatting issues in docs.\nAnonymous contribution in \u003ccode\u003e[#706](https://github.com/pytest-dev/pytest-cov/issues/706) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/706\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.1 (2025-06-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded a version requirement for pytest's pluggy dependency (1.2.0, released 2023-06-21) that has the required new-style hookwrapper API.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved deprecated license classifier (packaging).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisabled coverage warnings in two more situations where they have no value:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;module-not-measured\u0026quot; in workers\u003c/li\u003e\n\u003cli\u003e\u0026quot;already-imported\u0026quot; in subprocesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.0 (2025-06-11)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe plugin now adds 3 rules in the filter warnings configuration to prevent common coverage warnings being raised as obscure errors::\u003c/p\u003e\n\u003cp\u003edefault:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\nonce::PytestCovWarning\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/224d8964caad90074a8cf6dc8720b8f70f31629b\"\u003e\u003ccode\u003e224d896\u003c/code\u003e\u003c/a\u003e Bump version: 6.3.0 → 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/73424e3999f865eac72e27f09d5fe11b9703cfd6\"\u003e\u003ccode\u003e73424e3\u003c/code\u003e\u003c/a\u003e Cleanup the docs a bit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/36f1cc2967831dbd4c8aa70086fc86dc495f8b9a\"\u003e\u003ccode\u003e36f1cc2\u003c/code\u003e\u003c/a\u003e Bump pins in template.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f299c590a63a48e51e3ae949993dc7bb1f1d480d\"\u003e\u003ccode\u003ef299c59\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/25f0b2e0cdbc345c0d3e49170f7a328c3e0d805f\"\u003e\u003ccode\u003e25f0b2e\u003c/code\u003e\u003c/a\u003e Update docs/config.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/bb23eacc5531fb8f499213d8420407e0d72f88e3\"\u003e\u003ccode\u003ebb23eac\u003c/code\u003e\u003c/a\u003e Improve configuration docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/a19531e91e1ab753ccf648a2d9bab08a6fddebb9\"\u003e\u003ccode\u003ea19531e\u003c/code\u003e\u003c/a\u003e Switch from build/pre-commit to uv/prek - this should make this faster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/82f999391073f2fb8ae422af452602f310086a2a\"\u003e\u003ccode\u003e82f9993\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/211b5cd41c29916bc643b4a11b00578ba4fd6fe8\"\u003e\u003ccode\u003e211b5cd\u003c/code\u003e\u003c/a\u003e Fix links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/97aadd74bcbc00a2078d240e8fe871dd62b83d80\"\u003e\u003ccode\u003e97aadd7\u003c/code\u003e\u003c/a\u003e Update some ci config, reformat and apply some lint fixes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v4.1.0...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-deadfixtures` from 2.2.1 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/releases\"\u003epytest-deadfixtures's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds more test cases by \u003ca href=\"https://github.com/burkestar\"\u003e\u003ccode\u003e@​burkestar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/31\"\u003ejllorencetti/pytest-deadfixtures#31\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emove ci from travis to gh-actions by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/40\"\u003ejllorencetti/pytest-deadfixtures#40\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix flak8 pre-commit url by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/41\"\u003ejllorencetti/pytest-deadfixtures#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for parametrize fixtures by \u003ca href=\"https://github.com/jonatrios\"\u003e\u003ccode\u003e@​jonatrios\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/38\"\u003ejllorencetti/pytest-deadfixtures#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/42\"\u003ejllorencetti/pytest-deadfixtures#42\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump codecov/codecov-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/45\"\u003ejllorencetti/pytest-deadfixtures#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/44\"\u003ejllorencetti/pytest-deadfixtures#44\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump codecov/codecov-action from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/50\"\u003ejllorencetti/pytest-deadfixtures#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support 3.12 and 3.13 python, min python set 3.8 by \u003ca href=\"https://github.com/even-even\"\u003e\u003ccode\u003e@​even-even\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/51\"\u003ejllorencetti/pytest-deadfixtures#51\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/53\"\u003ejllorencetti/pytest-deadfixtures#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/52\"\u003ejllorencetti/pytest-deadfixtures#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun tests on supported Python versions by \u003ca href=\"https://github.com/jairhenrique\"\u003e\u003ccode\u003e@​jairhenrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/54\"\u003ejllorencetti/pytest-deadfixtures#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unused fixtures count by \u003ca href=\"https://github.com/Ivan-Feofanov\"\u003e\u003ccode\u003e@​Ivan-Feofanov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/36\"\u003ejllorencetti/pytest-deadfixtures#36\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burkestar\"\u003e\u003ccode\u003e@​burkestar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/31\"\u003ejllorencetti/pytest-deadfixtures#31\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonatrios\"\u003e\u003ccode\u003e@​jonatrios\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/38\"\u003ejllorencetti/pytest-deadfixtures#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/42\"\u003ejllorencetti/pytest-deadfixtures#42\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/even-even\"\u003e\u003ccode\u003e@​even-even\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/51\"\u003ejllorencetti/pytest-deadfixtures#51\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ivan-Feofanov\"\u003e\u003ccode\u003e@​Ivan-Feofanov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jllorencetti/pytest-deadfixtures/pull/36\"\u003ejllorencetti/pytest-deadfixtures#36\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.0.0\"\u003ehttps://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/blob/main/CHANGES.rst\"\u003epytest-deadfixtures's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.0.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Drop support for Python 3.5\n* Add support for Python 3.8 and 3.9\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/7eae1ae08955c521c8d54c69cb5b51dc633f5408\"\u003e\u003ccode\u003e7eae1ae\u003c/code\u003e\u003c/a\u003e Fixes code format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/e6dbe8e20b49ad07ef84dbf7b38a65627d562290\"\u003e\u003ccode\u003ee6dbe8e\u003c/code\u003e\u003c/a\u003e add unused fixtures count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/28605dc26213f4cc557b60cba3c78dc8795bcc4d\"\u003e\u003ccode\u003e28605dc\u003c/code\u003e\u003c/a\u003e Run tests on supported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/bdae857bc5e1fd3324037514ada0a953a1fb4c50\"\u003e\u003ccode\u003ebdae857\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/f5e6c4a16d93ef7e67721e28556584d2bd0ebc8f\"\u003e\u003ccode\u003ef5e6c4a\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/5abe1f11c199d369635c02a5574be1e7f67ab8f0\"\u003e\u003ccode\u003e5abe1f1\u003c/code\u003e\u003c/a\u003e add support 3.12 and 3.13 python, min python set 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/ff9bf35f14142396972aa00a221d3e6b2eab2ac6\"\u003e\u003ccode\u003eff9bf35\u003c/code\u003e\u003c/a\u003e add support 3.12 and 3.13 python, min python set 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/6c2d68392bcec742185019eb6e8213d8e673633d\"\u003e\u003ccode\u003e6c2d683\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/dfb111924269a4dada7c883cce5386eddd9fcd6a\"\u003e\u003ccode\u003edfb1119\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/commit/1fa67ddd2430735f3679e1c07d815113e670f154\"\u003e\u003ccode\u003e1fa67dd\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 3 to 4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jllorencetti/pytest-deadfixtures/compare/2.2.1...3.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-django` from 4.7.0 to 4.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-django/releases\"\u003epytest-django's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.11.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4111-2025-04-03\"\u003ehttps://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4111-2025-04-03\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.11.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4110-2025-04-01\"\u003ehttps://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4110-2025-04-01\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.10.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4100-2025-02-10\"\u003ehttps://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4100-2025-02-10\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.9.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v490-2024-09-02\"\u003ehttps://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v490-2024-09-02\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.8.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pytest-django.readthedocs.io/en/latest/changelog.html#v4-8-0-2024-01-30\"\u003ehttps://pytest-django.readthedocs.io/en/latest/changelog.html#v4-8-0-2024-01-30\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst\"\u003epytest-django's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.11.1 (2025-04-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a regression in v4.11.0 for Django \u003ccode\u003eTestCase\u003c/code\u003e tests using the \u003ccode\u003edatabases\u003c/code\u003e class variable (\u003ccode\u003e[#1188](https://github.com/pytest-dev/pytest-django/issues/1188) \u0026lt;https://github.com/pytest-dev/pytest-django/issues/1188\u0026gt;\u003c/code\u003e__).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.11.0 (2025-04-01)\u003c/h2\u003e\n\u003cp\u003eCompatibility\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded official support for Django 5.2 (\u003ccode\u003ePR [#1179](https://github.com/pytest-dev/pytest-django/issues/1179) \u0026lt;https://github.com/pytest-dev/pytest-django/pull/1179\u0026gt;\u003c/code\u003e__).\u003c/li\u003e\n\u003cli\u003eDropped testing on MySQL’s MyISAM storage engine (\u003ccode\u003ePR [#1180](https://github.com/pytest-dev/pytest-django/issues/1180) \u0026lt;https://github.com/pytest-dev/pytest-django/pull/1180\u0026gt;\u003c/code\u003e__).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eStopped setting up and serializing databases on test session setup when not needed (the database is not requested / \u003ccode\u003eserialized_rollback\u003c/code\u003e is not used).\nOn test databases with large amounts of pre-seeded data, this may remove a delay of a few seconds when running \u003ccode\u003epytest --reuse-db\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe determination of which databases to setup is done by static inspection of the test suite.\nUsing pytest's dynamic features to request db access, such as :meth:\u003ccode\u003erequest.getfixturevalue(\u0026quot;db\u0026quot;) \u0026lt;pytest.FixtureRequest.getfixturevalue\u0026gt;\u003c/code\u003e, may throw off this analysis.\nIf you start seeing \u003ccode\u003eDatabaseOperationForbidden\u003c/code\u003e or \u0026quot;unable to open database\u0026quot; errors, this is likely the cause.\nTo fix this, decorate at least one test with the :func:\u003ccode\u003edjango_db \u0026lt;pytest.mark.django_db\u0026gt;\u003c/code\u003e marker with appropriate \u003ccode\u003edatabases\u003c/code\u003e and \u003ccode\u003eserialized_rollback\u003c/code\u003e settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.10.0 (2025-02-10)\u003c/h2\u003e\n\u003cp\u003eCompatibility\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded official support for Python 3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eImprovements\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eusing\u003c/code\u003e argument to :fixture:\u003ccode\u003edjango_assert_num_queries\u003c/code\u003e and\n:fixture:\u003ccode\u003edjango_assert_max_num_queries\u003c/code\u003e to easily specify the database\nalias to use.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed lock/unlock of db breaks if pytest is executed twice in the same process.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ev4.9.0 (2024-09-02)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/5ada9c1596ee9e0624801d553995d98d2e3ccce8\"\u003e\u003ccode\u003e5ada9c1\u003c/code\u003e\u003c/a\u003e Release 4.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/cf3f0bb89be0d741e7c4e10469d0559e86753cc7\"\u003e\u003ccode\u003ecf3f0bb\u003c/code\u003e\u003c/a\u003e fixtures: fixup a regression in previous release for TestCase multi-db support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/6d5c272519037031f0b68d78dca44727b860d65e\"\u003e\u003ccode\u003e6d5c272\u003c/code\u003e\u003c/a\u003e Release 4.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/8000db04f07822861331d0df8ef52f9c67eafc00\"\u003e\u003ccode\u003e8000db0\u003c/code\u003e\u003c/a\u003e Only setup and serialize databases as needed by tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/6f7fc269f871da0134d9155ca856b29582aa46ce\"\u003e\u003ccode\u003e6f7fc26\u003c/code\u003e\u003c/a\u003e Add optional integration of pytest into django's \u003ccode\u003emanage.py test\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/3071a666dce1f60299bf89bd9c268ac7e0ee459d\"\u003e\u003ccode\u003e3071a66\u003c/code\u003e\u003c/a\u003e docs/conf.py: format with ruff format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/3f44e50ff326c23a44bf5633423d491a251d8eed\"\u003e\u003ccode\u003e3f44e50\u003c/code\u003e\u003c/a\u003e fixtures: avoid unnecessary closure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/b7328696ad7a5bfc308b60c909972a9166fce8a3\"\u003e\u003ccode\u003eb732869\u003c/code\u003e\u003c/a\u003e Remove testing on MyISAM (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-django/issues/1180\"\u003e#1180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/e362f4c6303b203e5449ed023b353ad81f40a753\"\u003e\u003ccode\u003ee362f4c\u003c/code\u003e\u003c/a\u003e Add support for Django 5.2 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-django/issues/1179\"\u003e#1179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/d8dc3d9a62b97c9730111ca7c656dd3b00c479c2\"\u003e\u003ccode\u003ed8dc3d9\u003c/code\u003e\u003c/a\u003e Release 4.10.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-django/compare/v4.7.0...v4.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-mock` from 3.12.0 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/529\"\u003e#529\u003c/a\u003e: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/524\"\u003e#524\u003c/a\u003e: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.14.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/503\"\u003e#503\u003c/a\u003e: Python 3.14 is now officially supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.14.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/415\"\u003e#415\u003c/a\u003e: \u003ccode\u003eMockType\u003c/code\u003e and \u003ccode\u003eAsyncMockType\u003c/code\u003e can be imported from \u003ccode\u003epytest_mock\u003c/code\u003e for type annotation purposes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/420\"\u003e#420\u003c/a\u003e: Fixed a regression which would cause \u003ccode\u003emocker.patch.object\u003c/code\u003e to not being properly cleared between tests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/417\"\u003e#417\u003c/a\u003e: \u003ccode\u003espy\u003c/code\u003e now has \u003ccode\u003espy_return_list\u003c/code\u003e, which is a list containing all the values returned by the spied function.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epytest-mock\u003c/code\u003e now requires \u003ccode\u003epytest\u0026gt;=6.2.5\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/410\"\u003e#410\u003c/a\u003e: pytest-mock's \u003ccode\u003esetup.py\u003c/code\u003e file is removed.\nIf you relied on this file, e.g. to install pytest using \u003ccode\u003esetup.py install\u003c/code\u003e,\nplease see \u003ca href=\"https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html#summary\"\u003eWhy you shouldn't invoke setup.py directly\u003c/a\u003e for alternatives.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst\"\u003epytest-mock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#529](https://github.com/pytest-dev/pytest-mock/issues/529) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/529\u0026gt;\u003c/code\u003e_: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#524](https://github.com/pytest-dev/pytest-mock/issues/524) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/524\u0026gt;\u003c/code\u003e_: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.14.1 (2025-05-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#503](https://github.com/pytest-dev/pytest-mock/issues/503) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/503\u0026gt;\u003c/code\u003e_: Python 3.14 is now officially supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.14.0 (2024-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#415](https://github.com/pytest-dev/pytest-mock/issues/415) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/415\u0026gt;\u003c/code\u003e_: \u003ccode\u003eMockType\u003c/code\u003e and \u003ccode\u003eAsyncMockType\u003c/code\u003e can be imported from \u003ccode\u003epytest_mock\u003c/code\u003e for type annotation purposes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#420](https://github.com/pytest-dev/pytest-mock/issues/420) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/420\u0026gt;\u003c/code\u003e_: Fixed a regression which would cause \u003ccode\u003emocker.patch.object\u003c/code\u003e to not being properly cleared between tests.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.13.0 (2024-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#417](https://github.com/pytest-dev/pytest-mock/issues/417) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/417\u0026gt;\u003c/code\u003e_: \u003ccode\u003espy\u003c/code\u003e now has \u003ccode\u003espy_return_list\u003c/code\u003e, which is a list containing all the values returned by the spied function.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epytest-mock\u003c/code\u003e now requires \u003ccode\u003epytest\u0026gt;=6.2.5\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#410](https://github.com/pytest-dev/pytest-mock/issues/410) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/410\u0026gt;\u003c/code\u003e\u003cem\u003e: pytest-mock's \u003ccode\u003esetup.py\u003c/code\u003e file is removed.\nIf you relied on this file, e.g. to install pytest using \u003ccode\u003esetup.py install\u003c/code\u003e,\nplease see \u003ccode\u003eWhy you shouldn't invoke setup.py directly \u0026lt;https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html#summary\u0026gt;\u003c/code\u003e\u003c/em\u003e for alternatives.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e1b5c62a38c5a05cae614aef3847f240ba50d269\"\u003e\u003ccode\u003ee1b5c62\u003c/code\u003e\u003c/a\u003e Release 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/184eb190d6be417f5f33727bcbc9704909479498\"\u003e\u003ccode\u003e184eb19\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003espy_return_iter\u003c/code\u003e only when explicitly requested (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/4fa0088a0aa85eefb1313bd97adf43889bf1f647\"\u003e\u003ccode\u003e4fa0088\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f5aff33ce71ed4620acc43dc41cb3b198bcf4cb0\"\u003e\u003ccode\u003ef5aff33\u003c/code\u003e\u003c/a\u003e Fix test failure with pytest 8+ and verbose mode (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/535\"\u003e#535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/adc41873c9d6aa69b87e3f108c93a29c847869aa\"\u003e\u003ccode\u003eadc4187\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/95ad5700609aae73c6f767b8cc2ccfb2483e0f5c\"\u003e\u003ccode\u003e95ad570\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/532\"\u003e#532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e696bf02c199b1f7d0c48adb450f40e5a75b699a\"\u003e\u003ccode\u003ee696bf0\u003c/code\u003e\u003c/a\u003e Fix standalone mock support (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/531\"\u003e#531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5b29b03ce9581cfcd867dd6c04a970fb2c861291\"\u003e\u003ccode\u003e5b29b03\u003c/code\u003e\u003c/a\u003e Fix gen-release-notes script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/7d22ef4e560351832e60687d8bd15ebe2785ff3b\"\u003e\u003ccode\u003e7d22ef4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/528\"\u003e#528\u003c/a\u003e from pytest-dev/release-3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.12.0...v3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-randomly` from 3.15.0 to 4.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-randomly/blob/main/CHANGELOG.rst\"\u003epytest-randomly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.1 (2025-09-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove the random state caching, which would grow without bound, leaking memory in long test runs.\nThe caching was added to slightly speed up re-using the same (final) seed, but since the final seed is now different for each test, it has no effect.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#690](https://github.com/pytest-dev/pytest-randomly/issues/690) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/687\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModify Numpy seed restriction, replacing hashing with a modulo operation.\nThe extra work to hash is unnecessary now that we generate a final seed per test with CRC32.\nThis change saves ~500ns per test when Numpy is installed.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#691](https://github.com/pytest-dev/pytest-randomly/issues/691) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/691\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0 (2025-09-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Python 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse a different random seed per test, based on the test ID.\u003c/p\u003e\n\u003cp\u003eThis change should mean that tests exercise more random data values in a given run, and that any randomly-generated identifiers have a lower chance of collision when stored in a shared resource like a database.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePR [#687](https://github.com/pytest-dev/pytest-randomly/issues/687) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/687\u0026gt;\u003c/code\u003e\u003cstrong\u003e.\nThanks to Bryce Drennan for the suggestion in \u003ccode\u003eIssue [#600](https://github.com/pytest-dev/pytest-randomly/issues/600) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/600\u0026gt;\u003c/code\u003e\u003c/strong\u003e and initial implementation in \u003ccode\u003ePR [#617](https://github.com/pytest-dev/pytest-randomly/issues/617) \u0026lt;https://github.com/pytest-dev/pytest-randomly/pull/617\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove from MD5 to CRC32 for hashing test IDs, as it’s 5x faster and we don’t need cryptographic security.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eIssue [#686](https://github.com/pytest-dev/pytest-randomly/issues/686) \u0026lt;https://github.com/pytest-dev/pytest-randomly/issues/686\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.16.0 (2024-10-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop Python 3.8 support.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Python 3.13.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/50de0961ad3479901a153a4a89ff58ca7898b550\"\u003e\u003ccode\u003e50de096\u003c/code\u003e\u003c/a\u003e Version 4.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/f9406ec4452d05a865ee67b83fed58bc8f914bac\"\u003e\u003ccode\u003ef9406ec\u003c/code\u003e\u003c/a\u003e Modify Numpy seed restriction (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/22049aabcd1e19012c878dccd5fb1ad728221331\"\u003e\u003ccode\u003e22049aa\u003c/code\u003e\u003c/a\u003e Remove the random state caching (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/ded2e547566368d8751a13bf6b6e6ac8b509caa2\"\u003e\u003ccode\u003eded2e54\u003c/code\u003e\u003c/a\u003e Version 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/cb9b86128c9e79284f1bfad0dbd5d4c5427b5dfc\"\u003e\u003ccode\u003ecb9b861\u003c/code\u003e\u003c/a\u003e Move from MD5 to CRC32 for hashing test IDs (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/bd697bd670943c54b8d21e713dea58ab92508d08\"\u003e\u003ccode\u003ebd697bd\u003c/code\u003e\u003c/a\u003e Use a different random seed per test (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/acadf4684fd12e5e9ca14243167f44b8d302f093\"\u003e\u003ccode\u003eacadf46\u003c/code\u003e\u003c/a\u003e Generate default seed on demand (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/685\"\u003e#685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/f818056fa7933f9f08ff6c5cda0d78ecee14d0af\"\u003e\u003ccode\u003ef818056\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/684\"\u003e#684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/456f7877992809b4e152bf3a356c0a4658275fb7\"\u003e\u003ccode\u003e456f787\u003c/code\u003e\u003c/a\u003e Drop unused import of xdist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-randomly/commit/e00b7822dff8061d26ff2b4bdf9dc1a3ea823092\"\u003e\u003ccode\u003ee00b782\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-randomly/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-randomly/compare/3.15.0...4.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-xdist` from 3.5.0 to 3.8.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst\"\u003epytest-xdist's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003epytest-xdist 3.8.0 (2025-06-30)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1083](https://github.com/pytest-dev/pytest-xdist/issues/1083) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1083\u0026gt;\u003c/code\u003e_: Add \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e and \u003ccode\u003e--loadscope-reorder\u003c/code\u003e option to control whether to automatically reorder tests in loadscope for tests where relative ordering matters. This only applies when using \u003ccode\u003eloadscope\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, [test_file_1, test_file_2, ..., test_file_n] are given as input test files, if \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e is used, for either worker, the \u003ccode\u003etest_file_a\u003c/code\u003e will be executed before \u003ccode\u003etest_file_b\u003c/code\u003e only if \u003ccode\u003ea \u0026lt; b\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default behavior is to reorder the tests to maximize the number of tests that can be executed in parallel.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003epytest-xdist 3.7.0 (2025-05-26)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1142](https://github.com/pytest-dev/pytest-xdist/issues/1142) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1142\u0026gt;\u003c/code\u003e_: Added support for Python 3.13.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1144](https://github.com/pytest-dev/pytest-xdist/issues/1144) \u0026lt;https://github.com/pytest-d...\n\n_Description has been truncated_","html_url":"https://github.com/softwareone-platform/swo-adobe-vipm-extension/pull/698","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwareone-platform%2Fswo-adobe-vipm-extension/issues/698","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/698/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2025-12-08T02:29:37.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3704385737","node_id":"PR_kwDOQbpvDc63kvkG","number":38,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":10,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T02:29:37.000Z","updated_at":"2026-02-16T04:03:10.347Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":7,"packages":[{"name":"google-adk","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/google/adk-python"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"ruff","old_version":"0.14.4","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"agent-starter-pack","old_version":"0.20.4","new_version":"0.26.2","repository_url":"https://github.com/GoogleCloudPlatform/agent-starter-pack"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-dependencies group with 7 updates in the /python/agents/customer-service directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.18.0` | `1.20.0` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.2` | `4.0.4` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.4` | `0.14.8` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [agent-starter-pack](https://github.com/GoogleCloudPlatform/agent-starter-pack) | `0.20.4` | `0.26.2` |\n\n\nUpdates `google-adk` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e! Raise minimum Python version to 3.10\u003c/li\u003e\n\u003cli\u003eAdd a File based Artifact Service\u003c/li\u003e\n\u003cli\u003eReduce ADK API server startup latency by lazy loading\u003c/li\u003e\n\u003cli\u003eADK web light mode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ecustom_metadata\u003c/code\u003e fields to \u003ccode\u003eMemoryEntry\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4dd28a3970d0f76c571caf80b3e1bea1b79e9dde\"\u003e4dd28a3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/a5ac1d5e14f5ce7cd875d81a494a773710669dc1\"\u003ea5ac1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a2a_request_meta_provider to RemoteAgent init (\u003ca href=\"https://github.com/google/adk-python/commit/d12468ee5a2b906b6699ccdb94c6a5a4c2822465\"\u003ed12468e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd feature decorator for the feature registry system (\u003ca href=\"https://github.com/google/adk-python/commit/871da731f1c09c6a62d51b137d9d2e7c9fb3897a\"\u003e871da73\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/960b206752918d13f127a9d6ed8d21d34bcbc7fa\"\u003e\u003ccode\u003e960b206\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.20.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/5947c41b554aca905e795b49aefc60b6c85be05f\"\u003e\u003ccode\u003e5947c41\u003c/code\u003e\u003c/a\u003e chore: Update component owners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9d918d45df4275b5b464e46817d2daaa03859fe3\"\u003e\u003ccode\u003e9d918d4\u003c/code\u003e\u003c/a\u003e feat!: Rollback the DB migration as it is breaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8c9105bf14f57606a73753654922fe26f584dff6\"\u003e\u003ccode\u003e8c9105b\u003c/code\u003e\u003c/a\u003e chore: Drop Python 3.9 support, set minimum to Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e02b9fb608f645cdcf8300ffe4e64627df10ba28\"\u003e\u003ccode\u003ee02b9fb\u003c/code\u003e\u003c/a\u003e fix: Add a warning when deploying with the ADK Web UI enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/76dc169a83065ee10283d54253164e04f712ea5f\"\u003e\u003ccode\u003e76dc169\u003c/code\u003e\u003c/a\u003e fix: Add editLimit parameter to GraphQL query\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b638a48357c9fd5089b4d59dcd3f2102d1d2b3b8\"\u003e\u003ccode\u003eb638a48\u003c/code\u003e\u003c/a\u003e fix: Update API Registry Toolset to prod cloudapiregistry URL now that it is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b807d62fe35a5de4e1efd37f38230edcf5f992ad\"\u003e\u003ccode\u003eb807d62\u003c/code\u003e\u003c/a\u003e feat(bigquery): Add labels support to BigQueryToolConfig for job tracking and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3aef9a18b1f8b54cc1712af7b3477049e4f52932\"\u003e\u003ccode\u003e3aef9a1\u003c/code\u003e\u003c/a\u003e docs: Update ADK issue triaging agent to add component label before planned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/77401132d1b0fb4d2db0ffab00590c1e3961156a\"\u003e\u003ccode\u003e7740113\u003c/code\u003e\u003c/a\u003e chore: Add migration guide for DatabaseSessionService\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/84b6552b86e210097ac29de7ef64b152efb4a454\"\u003e\u003ccode\u003e84b6552\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.3, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10741\"\u003e#10741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/77b0cd8c0e40eb563ab96067be6bdb3e9e266f1e\"\u003e\u003ccode\u003e77b0cd8\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix(expand_modules): pass ignore_list to modutil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/755f2d0327809a5b358b99ad7fc67a7a5a2faad0\"\u003e\u003ccode\u003e755f2d0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Upgrade astroid to 4.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10733\"\u003e#10733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/c96a9e4d232abcfa1d7f449839b68337816305e9\"\u003e\u003ccode\u003ec96a9e4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a variable annotation is used as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/108191ebbcd9dc8fa9e3fb71c83fd247d2f6ccd1\"\u003e\u003ccode\u003e108191e\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for class attribute typed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0ed81725382db48ac0061c96c1948f42fe75f85d\"\u003e\u003ccode\u003e0ed8172\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a \u003ccode\u003eslice\u003c/code\u003e object is called (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10728\"\u003e#10728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/b128b7d909bf541b2978d84bfe5ed4f4d67210e5\"\u003e\u003ccode\u003eb128b7d\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for ``unbalanced-tuple-unpa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.4 to 0.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.8\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.14.8\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d4f1c6ae24b75642a586531f4c668213fbac3fb\"\u003e\u003ccode\u003e9d4f1c6\u003c/code\u003e\u003c/a\u003e Bump 0.14.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21791\"\u003e#21791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/326025d45f87548caba9a56c5606d80f85abc5ff\"\u003e\u003ccode\u003e326025d\u003c/code\u003e\u003c/a\u003e [ty] Always register rename provider if client doesn't support dynamic regist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3aefe85b32ff698b1a2086c2b50ff38af5c9dbed\"\u003e\u003ccode\u003e3aefe85\u003c/code\u003e\u003c/a\u003e [ty] Ensure \u003ccode\u003erename\u003c/code\u003e \u003ccode\u003eCursorTest\u003c/code\u003e calls \u003ccode\u003ecan_rename\u003c/code\u003e before renaming (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21790\"\u003e#21790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b8ecc83a54fd5d7955bf1ab4fb82fe18dcb52283\"\u003e\u003ccode\u003eb8ecc83\u003c/code\u003e\u003c/a\u003e Fix clippy errors on \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21788\"\u003e#21788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6491932757ca6365bd11b8241266d81c045f7a8b\"\u003e\u003ccode\u003e6491932\u003c/code\u003e\u003c/a\u003e [ty] Fix crash when hovering an unknown string annotation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21782\"\u003e#21782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a9f2bb41bd802c9f4db417e3fec8324cf6207868\"\u003e\u003ccode\u003ea9f2bb4\u003c/code\u003e\u003c/a\u003e [ty] Don't send publish diagnostics for clients supporting pull diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2b72fbf99920c5621243ee67e1028844a841d35\"\u003e\u003ccode\u003ee2b72fb\u003c/code\u003e\u003c/a\u003e [ty] cleanup test path (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21781\"\u003e#21781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fce0d44003ea30c30eb555344bd319da511380\"\u003e\u003ccode\u003e14fce0d\u003c/code\u003e\u003c/a\u003e [ty] Improve the display of various special-form types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21775\"\u003e#21775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8ebecb2a88d664a6291af71805b8f6876f414815\"\u003e\u003ccode\u003e8ebecb2\u003c/code\u003e\u003c/a\u003e [ty] Add subdiagnostic hint if the user wrote \u003ccode\u003eX = Any\u003c/code\u003e rather than \u003ccode\u003eX: Any\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/45ac30a4d762c9c564d45bb66df813666682e78e\"\u003e\u003ccode\u003e45ac30a\u003c/code\u003e\u003c/a\u003e [ty] Teach \u003ccode\u003ety\u003c/code\u003e the meaning of desperation (try ancestor \u003ccode\u003epyproject.toml\u003c/code\u003es as...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.4...0.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-starter-pack` from 0.20.4 to 0.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/releases\"\u003eagent-starter-pack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch1\u003e0.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update locks by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/582\"\u003eGoogleCloudPlatform/agent-starter-pack#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add Bob's Brain production ADK reference to community showcase by \u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add generation metadata to pyproject.toml by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/584\"\u003eGoogleCloudPlatform/agent-starter-pack#584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --prototype flag for minimal project creation by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/586\"\u003eGoogleCloudPlatform/agent-starter-pack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove metadata file by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/587\"\u003eGoogleCloudPlatform/agent-starter-pack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --adk quickstart mode with optimized GCP verification by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/590\"\u003eGoogleCloudPlatform/agent-starter-pack#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/588\"\u003eGoogleCloudPlatform/agent-starter-pack#588\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix: display actual account in interactive credentials flow by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/591\"\u003eGoogleCloudPlatform/agent-starter-pack#591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.1 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/592\"\u003eGoogleCloudPlatform/agent-starter-pack#592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: detect and reuse saved config in enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/593\"\u003eGoogleCloudPlatform/agent-starter-pack#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only show base template override prompt when template actually changes by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/594\"\u003eGoogleCloudPlatform/agent-starter-pack#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.2 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/595\"\u003eGoogleCloudPlatform/agent-starter-pack#595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add -s shortcut for --skip-checks flag by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/576\"\u003eGoogleCloudPlatform/agent-starter-pack#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --google-api-key option for AI Studio support by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/577\"\u003eGoogleCloudPlatform/agent-starter-pack#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add -k and --api-key shorthand for --google-api-key by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/578\"\u003eGoogleCloudPlatform/agent-starter-pack#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.25.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/579\"\u003eGoogleCloudPlatform/agent-starter-pack#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/573\"\u003eGoogleCloudPlatform/agent-starter-pack#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump express from 4.21.2 to 4.22.1 in /agent_starter_pack/frontends/adk_live_react/frontend by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/571\"\u003eGoogleCloudPlatform/agent-starter-pack#571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add YAML config agent support for enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/572\"\u003eGoogleCloudPlatform/agent-starter-pack#572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.24.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/574\"\u003eGoogleCloudPlatform/agent-starter-pack#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove idx folder by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/575\"\u003eGoogleCloudPlatform/agent-starter-pack#575\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update all samples to use gemini 3 pro by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/566\"\u003eGoogleCloudPlatform/agent-starter-pack#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update model selection to include gemini-3-pro-preview by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/567\"\u003eGoogleCloudPlatform/agent-starter-pack#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force GOOGLE_CLOUD_LOCATION env variable assignment by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/569\"\u003eGoogleCloudPlatform/agent-starter-pack#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/dd625841f4dbe5c5427ccf9fa63f1f0ff8fc0d0a\"\u003e\u003ccode\u003edd62584\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/4e91e902f51147aafa5342f45b7c4079d2de004a\"\u003e\u003ccode\u003e4e91e90\u003c/code\u003e\u003c/a\u003e fix: only show base template override prompt when template actually changes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1d9dec5a9a596ca320489a09dbddb81293db098e\"\u003e\u003ccode\u003e1d9dec5\u003c/code\u003e\u003c/a\u003e feat: detect and reuse saved config in enhance command (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/2497d5b1257b152c89659a7315596a7ac4b16d47\"\u003e\u003ccode\u003e2497d5b\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.1 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1c2c7a73672fdb4436b40405602218c9a3152274\"\u003e\u003ccode\u003e1c2c7a7\u003c/code\u003e\u003c/a\u003e fix: display actual account in interactive credentials flow (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b4eb1ede67034bf063ec1f712287ad8bc53e34b8\"\u003e\u003ccode\u003eb4eb1ed\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b8050d775226a5eff4bc3959cd336cd6d189b87e\"\u003e\u003ccode\u003eb8050d7\u003c/code\u003e\u003c/a\u003e feat: add --adk quickstart mode with optimized GCP verification (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/588395df0cf7bf2a4107c2c26fd87a2521ebb096\"\u003e\u003ccode\u003e588395d\u003c/code\u003e\u003c/a\u003e remove metadata file (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/38addd764cd499823ea7180fec5c5fafca04d336\"\u003e\u003ccode\u003e38addd7\u003c/code\u003e\u003c/a\u003e feat: add --prototype flag for minimal project creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/bc061b0557e38dd9267c0e633c04c24c216e17a9\"\u003e\u003ccode\u003ebc061b0\u003c/code\u003e\u003c/a\u003e feat: add generation metadata to pyproject.toml (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.20.4...0.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/jovin-nicholas/Medi-Agent-System/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jovin-nicholas%2FMedi-Agent-System/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2025-12-08T02:29:32.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3704385628","node_id":"PR_kwDOQcYu3c63kviz","number":37,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":9,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T02:29:32.000Z","updated_at":"2026-02-09T04:04:41.605Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":8,"packages":[{"name":"pydantic","old_version":"2.12.4","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-genai","old_version":"1.49.0","new_version":"1.53.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"google-adk","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/google/adk-python"},{"name":"ruff","old_version":"0.14.4","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"agent-starter-pack","old_version":"0.20.4","new_version":"0.26.2","repository_url":"https://github.com/GoogleCloudPlatform/agent-starter-pack"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-dependencies group with 8 updates in the /python/agents/travel-concierge directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.4` | `2.12.5` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.49.0` | `1.53.0` |\n| [google-adk](https://github.com/google/adk-python) | `1.18.0` | `1.20.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.4` | `0.14.8` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [agent-starter-pack](https://github.com/GoogleCloudPlatform/agent-starter-pack) | `0.20.4` | `0.26.2` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n\n\nUpdates `pydantic` from 2.12.4 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.49.0 to 1.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.53.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.52.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.51.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly log warnings once for accessors in GenerateContentResponse and LiveServerMessage (\u003ca href=\"https://github.com/googleapis/python-genai/commit/eec841e6a35c5d656f79f0e0700f00126acfda9c\"\u003eeec841e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ef8f7a55de621aba3f8dc7384aebc0149f250c97\"\u003e\u003ccode\u003eef8f7a5\u003c/code\u003e\u003c/a\u003e chore(main): release 1.53.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1796\"\u003e#1796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e\u003ccode\u003e2f28b02\u003c/code\u003e\u003c/a\u003e fix: convert 'citationSources' key in CitationMetadata to 'citations' when pr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e\u003ccode\u003e97cc7e4\u003c/code\u003e\u003c/a\u003e feat: Add empty response for tunings.cancel()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e\u003ccode\u003e060f015\u003c/code\u003e\u003c/a\u003e docs: Updating codegen instructions to use gemini 3 pro and nano banana pro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ddbe6fd4b636a96f53346b3b7ea10bb898e61d9b\"\u003e\u003ccode\u003eddbe6fd\u003c/code\u003e\u003c/a\u003e chore: update README to make code gen instructions more prominent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003e\u003ccode\u003ec0b175a\u003c/code\u003e\u003c/a\u003e docs: Recommend using response_json_schema in error messages and docstrings.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e\u003ccode\u003e5b50adc\u003c/code\u003e\u003c/a\u003e docs: Improve docs for google.genai.types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003e\u003ccode\u003ea842721\u003c/code\u003e\u003c/a\u003e fix: Fix google.auth.transport.requests import error in Live API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/99058b6244a1ae1d63511b7bb9130edcea96cd00\"\u003e\u003ccode\u003e99058b6\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/4b5720a7fb1a75d850dd8a182e3d31a9f587e57f\"\u003e\u003ccode\u003e4b5720a\u003c/code\u003e\u003c/a\u003e chore(main): release 1.52.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1727\"\u003e#1727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.49.0...v1.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-adk` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e! Raise minimum Python version to 3.10\u003c/li\u003e\n\u003cli\u003eAdd a File based Artifact Service\u003c/li\u003e\n\u003cli\u003eReduce ADK API server startup latency by lazy loading\u003c/li\u003e\n\u003cli\u003eADK web light mode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ecustom_metadata\u003c/code\u003e fields to \u003ccode\u003eMemoryEntry\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4dd28a3970d0f76c571caf80b3e1bea1b79e9dde\"\u003e4dd28a3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/a5ac1d5e14f5ce7cd875d81a494a773710669dc1\"\u003ea5ac1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a2a_request_meta_provider to RemoteAgent init (\u003ca href=\"https://github.com/google/adk-python/commit/d12468ee5a2b906b6699ccdb94c6a5a4c2822465\"\u003ed12468e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd feature decorator for the feature registry system (\u003ca href=\"https://github.com/google/adk-python/commit/871da731f1c09c6a62d51b137d9d2e7c9fb3897a\"\u003e871da73\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/960b206752918d13f127a9d6ed8d21d34bcbc7fa\"\u003e\u003ccode\u003e960b206\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.20.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/5947c41b554aca905e795b49aefc60b6c85be05f\"\u003e\u003ccode\u003e5947c41\u003c/code\u003e\u003c/a\u003e chore: Update component owners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9d918d45df4275b5b464e46817d2daaa03859fe3\"\u003e\u003ccode\u003e9d918d4\u003c/code\u003e\u003c/a\u003e feat!: Rollback the DB migration as it is breaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8c9105bf14f57606a73753654922fe26f584dff6\"\u003e\u003ccode\u003e8c9105b\u003c/code\u003e\u003c/a\u003e chore: Drop Python 3.9 support, set minimum to Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e02b9fb608f645cdcf8300ffe4e64627df10ba28\"\u003e\u003ccode\u003ee02b9fb\u003c/code\u003e\u003c/a\u003e fix: Add a warning when deploying with the ADK Web UI enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/76dc169a83065ee10283d54253164e04f712ea5f\"\u003e\u003ccode\u003e76dc169\u003c/code\u003e\u003c/a\u003e fix: Add editLimit parameter to GraphQL query\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b638a48357c9fd5089b4d59dcd3f2102d1d2b3b8\"\u003e\u003ccode\u003eb638a48\u003c/code\u003e\u003c/a\u003e fix: Update API Registry Toolset to prod cloudapiregistry URL now that it is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b807d62fe35a5de4e1efd37f38230edcf5f992ad\"\u003e\u003ccode\u003eb807d62\u003c/code\u003e\u003c/a\u003e feat(bigquery): Add labels support to BigQueryToolConfig for job tracking and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3aef9a18b1f8b54cc1712af7b3477049e4f52932\"\u003e\u003ccode\u003e3aef9a1\u003c/code\u003e\u003c/a\u003e docs: Update ADK issue triaging agent to add component label before planned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/77401132d1b0fb4d2db0ffab00590c1e3961156a\"\u003e\u003ccode\u003e7740113\u003c/code\u003e\u003c/a\u003e chore: Add migration guide for DatabaseSessionService\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.4 to 0.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.8\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.14.8\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d4f1c6ae24b75642a586531f4c668213fbac3fb\"\u003e\u003ccode\u003e9d4f1c6\u003c/code\u003e\u003c/a\u003e Bump 0.14.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21791\"\u003e#21791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/326025d45f87548caba9a56c5606d80f85abc5ff\"\u003e\u003ccode\u003e326025d\u003c/code\u003e\u003c/a\u003e [ty] Always register rename provider if client doesn't support dynamic regist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3aefe85b32ff698b1a2086c2b50ff38af5c9dbed\"\u003e\u003ccode\u003e3aefe85\u003c/code\u003e\u003c/a\u003e [ty] Ensure \u003ccode\u003erename\u003c/code\u003e \u003ccode\u003eCursorTest\u003c/code\u003e calls \u003ccode\u003ecan_rename\u003c/code\u003e before renaming (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21790\"\u003e#21790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b8ecc83a54fd5d7955bf1ab4fb82fe18dcb52283\"\u003e\u003ccode\u003eb8ecc83\u003c/code\u003e\u003c/a\u003e Fix clippy errors on \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21788\"\u003e#21788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6491932757ca6365bd11b8241266d81c045f7a8b\"\u003e\u003ccode\u003e6491932\u003c/code\u003e\u003c/a\u003e [ty] Fix crash when hovering an unknown string annotation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21782\"\u003e#21782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a9f2bb41bd802c9f4db417e3fec8324cf6207868\"\u003e\u003ccode\u003ea9f2bb4\u003c/code\u003e\u003c/a\u003e [ty] Don't send publish diagnostics for clients supporting pull diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2b72fbf99920c5621243ee67e1028844a841d35\"\u003e\u003ccode\u003ee2b72fb\u003c/code\u003e\u003c/a\u003e [ty] cleanup test path (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21781\"\u003e#21781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fce0d44003ea30c30eb555344bd319da511380\"\u003e\u003ccode\u003e14fce0d\u003c/code\u003e\u003c/a\u003e [ty] Improve the display of various special-form types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21775\"\u003e#21775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8ebecb2a88d664a6291af71805b8f6876f414815\"\u003e\u003ccode\u003e8ebecb2\u003c/code\u003e\u003c/a\u003e [ty] Add subdiagnostic hint if the user wrote \u003ccode\u003eX = Any\u003c/code\u003e rather than \u003ccode\u003eX: Any\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/45ac30a4d762c9c564d45bb66df813666682e78e\"\u003e\u003ccode\u003e45ac30a\u003c/code\u003e\u003c/a\u003e [ty] Teach \u003ccode\u003ety\u003c/code\u003e the meaning of desperation (try ancestor \u003ccode\u003epyproject.toml\u003c/code\u003es as...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.4...0.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-starter-pack` from 0.20.4 to 0.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/releases\"\u003eagent-starter-pack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch1\u003e0.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update locks by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/582\"\u003eGoogleCloudPlatform/agent-starter-pack#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add Bob's Brain production ADK reference to community showcase by \u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add generation metadata to pyproject.toml by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/584\"\u003eGoogleCloudPlatform/agent-starter-pack#584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --prototype flag for minimal project creation by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/586\"\u003eGoogleCloudPlatform/agent-starter-pack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove metadata file by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/587\"\u003eGoogleCloudPlatform/agent-starter-pack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --adk quickstart mode with optimized GCP verification by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/590\"\u003eGoogleCloudPlatform/agent-starter-pack#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/588\"\u003eGoogleCloudPlatform/agent-starter-pack#588\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix: display actual account in interactive credentials flow by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/591\"\u003eGoogleCloudPlatform/agent-starter-pack#591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.1 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/592\"\u003eGoogleCloudPlatform/agent-starter-pack#592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: detect and reuse saved config in enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/593\"\u003eGoogleCloudPlatform/agent-starter-pack#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only show base template override prompt when template actually changes by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/594\"\u003eGoogleCloudPlatform/agent-starter-pack#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.2 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/595\"\u003eGoogleCloudPlatform/agent-starter-pack#595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add -s shortcut for --skip-checks flag by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/576\"\u003eGoogleCloudPlatform/agent-starter-pack#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --google-api-key option for AI Studio support by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/577\"\u003eGoogleCloudPlatform/agent-starter-pack#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add -k and --api-key shorthand for --google-api-key by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/578\"\u003eGoogleCloudPlatform/agent-starter-pack#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.25.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/579\"\u003eGoogleCloudPlatform/agent-starter-pack#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/573\"\u003eGoogleCloudPlatform/agent-starter-pack#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump express from 4.21.2 to 4.22.1 in /agent_starter_pack/frontends/adk_live_react/frontend by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/571\"\u003eGoogleCloudPlatform/agent-starter-pack#571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add YAML config agent support for enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/572\"\u003eGoogleCloudPlatform/agent-starter-pack#572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.24.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/574\"\u003eGoogleCloudPlatform/agent-starter-pack#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove idx folder by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/575\"\u003eGoogleCloudPlatform/agent-starter-pack#575\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update all samples to use gemini 3 pro by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/566\"\u003eGoogleCloudPlatform/agent-starter-pack#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update model selection to include gemini-3-pro-preview by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/567\"\u003eGoogleCloudPlatform/agent-starter-pack#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force GOOGLE_CLOUD_LOCATION env variable assignment by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/569\"\u003eGoogleCloudPlatform/agent-starter-pack#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/dd625841f4dbe5c5427ccf9fa63f1f0ff8fc0d0a\"\u003e\u003ccode\u003edd62584\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/4e91e902f51147aafa5342f45b7c4079d2de004a\"\u003e\u003ccode\u003e4e91e90\u003c/code\u003e\u003c/a\u003e fix: only show base template override prompt when template actually changes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1d9dec5a9a596ca320489a09dbddb81293db098e\"\u003e\u003ccode\u003e1d9dec5\u003c/code\u003e\u003c/a\u003e feat: detect and reuse saved config in enhance command (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/2497d5b1257b152c89659a7315596a7ac4b16d47\"\u003e\u003ccode\u003e2497d5b\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.1 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1c2c7a73672fdb4436b40405602218c9a3152274\"\u003e\u003ccode\u003e1c2c7a7\u003c/code\u003e\u003c/a\u003e fix: display actual account in interactive credentials flow (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b4eb1ede67034bf063ec1f712287ad8bc53e34b8\"\u003e\u003ccode\u003eb4eb1ed\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b8050d775226a5eff4bc3959cd336cd6d189b87e\"\u003e\u003ccode\u003eb8050d7\u003c/code\u003e\u003c/a\u003e feat: add --adk quickstart mode with optimized GCP verification (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/588395df0cf7bf2a4107c2c26fd87a2521ebb096\"\u003e\u003ccode\u003e588395d\u003c/code\u003e\u003c/a\u003e remove metadata file (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/38addd764cd499823ea7180fec5c5fafca04d336\"\u003e\u003ccode\u003e38addd7\u003c/code\u003e\u003c/a\u003e feat: add --prototype flag for minimal project creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/bc061b0557e38dd9267c0e633c04c24c216e17a9\"\u003e\u003ccode\u003ebc061b0\u003c/code\u003e\u003c/a\u003e feat: add generation metadata to pyproject.toml (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.20.4...0.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/codespace-labs/adk-samples-codespace/pull/37","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/codespace-labs%2Fadk-samples-codespace/issues/37","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/37/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2025-12-08T02:29:24.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3704385207","node_id":"PR_kwDOQdDFL863kvdE","number":37,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":9,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T02:29:24.000Z","updated_at":"2026-02-09T04:04:41.437Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":8,"packages":[{"name":"pydantic","old_version":"2.12.4","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-genai","old_version":"1.49.0","new_version":"1.53.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"google-adk","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/google/adk-python"},{"name":"ruff","old_version":"0.14.4","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"agent-starter-pack","old_version":"0.20.4","new_version":"0.26.2","repository_url":"https://github.com/GoogleCloudPlatform/agent-starter-pack"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-dependencies group with 8 updates in the /python/agents/travel-concierge directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.4` | `2.12.5` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.49.0` | `1.53.0` |\n| [google-adk](https://github.com/google/adk-python) | `1.18.0` | `1.20.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.4` | `0.14.8` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [agent-starter-pack](https://github.com/GoogleCloudPlatform/agent-starter-pack) | `0.20.4` | `0.26.2` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n\n\nUpdates `pydantic` from 2.12.4 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.49.0 to 1.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.53.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.52.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.51.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly log warnings once for accessors in GenerateContentResponse and LiveServerMessage (\u003ca href=\"https://github.com/googleapis/python-genai/commit/eec841e6a35c5d656f79f0e0700f00126acfda9c\"\u003eeec841e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ef8f7a55de621aba3f8dc7384aebc0149f250c97\"\u003e\u003ccode\u003eef8f7a5\u003c/code\u003e\u003c/a\u003e chore(main): release 1.53.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1796\"\u003e#1796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e\u003ccode\u003e2f28b02\u003c/code\u003e\u003c/a\u003e fix: convert 'citationSources' key in CitationMetadata to 'citations' when pr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e\u003ccode\u003e97cc7e4\u003c/code\u003e\u003c/a\u003e feat: Add empty response for tunings.cancel()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e\u003ccode\u003e060f015\u003c/code\u003e\u003c/a\u003e docs: Updating codegen instructions to use gemini 3 pro and nano banana pro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ddbe6fd4b636a96f53346b3b7ea10bb898e61d9b\"\u003e\u003ccode\u003eddbe6fd\u003c/code\u003e\u003c/a\u003e chore: update README to make code gen instructions more prominent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003e\u003ccode\u003ec0b175a\u003c/code\u003e\u003c/a\u003e docs: Recommend using response_json_schema in error messages and docstrings.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e\u003ccode\u003e5b50adc\u003c/code\u003e\u003c/a\u003e docs: Improve docs for google.genai.types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003e\u003ccode\u003ea842721\u003c/code\u003e\u003c/a\u003e fix: Fix google.auth.transport.requests import error in Live API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/99058b6244a1ae1d63511b7bb9130edcea96cd00\"\u003e\u003ccode\u003e99058b6\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/4b5720a7fb1a75d850dd8a182e3d31a9f587e57f\"\u003e\u003ccode\u003e4b5720a\u003c/code\u003e\u003c/a\u003e chore(main): release 1.52.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1727\"\u003e#1727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.49.0...v1.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-adk` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e! Raise minimum Python version to 3.10\u003c/li\u003e\n\u003cli\u003eAdd a File based Artifact Service\u003c/li\u003e\n\u003cli\u003eReduce ADK API server startup latency by lazy loading\u003c/li\u003e\n\u003cli\u003eADK web light mode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ecustom_metadata\u003c/code\u003e fields to \u003ccode\u003eMemoryEntry\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4dd28a3970d0f76c571caf80b3e1bea1b79e9dde\"\u003e4dd28a3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/a5ac1d5e14f5ce7cd875d81a494a773710669dc1\"\u003ea5ac1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a2a_request_meta_provider to RemoteAgent init (\u003ca href=\"https://github.com/google/adk-python/commit/d12468ee5a2b906b6699ccdb94c6a5a4c2822465\"\u003ed12468e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd feature decorator for the feature registry system (\u003ca href=\"https://github.com/google/adk-python/commit/871da731f1c09c6a62d51b137d9d2e7c9fb3897a\"\u003e871da73\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/960b206752918d13f127a9d6ed8d21d34bcbc7fa\"\u003e\u003ccode\u003e960b206\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.20.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/5947c41b554aca905e795b49aefc60b6c85be05f\"\u003e\u003ccode\u003e5947c41\u003c/code\u003e\u003c/a\u003e chore: Update component owners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9d918d45df4275b5b464e46817d2daaa03859fe3\"\u003e\u003ccode\u003e9d918d4\u003c/code\u003e\u003c/a\u003e feat!: Rollback the DB migration as it is breaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8c9105bf14f57606a73753654922fe26f584dff6\"\u003e\u003ccode\u003e8c9105b\u003c/code\u003e\u003c/a\u003e chore: Drop Python 3.9 support, set minimum to Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e02b9fb608f645cdcf8300ffe4e64627df10ba28\"\u003e\u003ccode\u003ee02b9fb\u003c/code\u003e\u003c/a\u003e fix: Add a warning when deploying with the ADK Web UI enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/76dc169a83065ee10283d54253164e04f712ea5f\"\u003e\u003ccode\u003e76dc169\u003c/code\u003e\u003c/a\u003e fix: Add editLimit parameter to GraphQL query\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b638a48357c9fd5089b4d59dcd3f2102d1d2b3b8\"\u003e\u003ccode\u003eb638a48\u003c/code\u003e\u003c/a\u003e fix: Update API Registry Toolset to prod cloudapiregistry URL now that it is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b807d62fe35a5de4e1efd37f38230edcf5f992ad\"\u003e\u003ccode\u003eb807d62\u003c/code\u003e\u003c/a\u003e feat(bigquery): Add labels support to BigQueryToolConfig for job tracking and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3aef9a18b1f8b54cc1712af7b3477049e4f52932\"\u003e\u003ccode\u003e3aef9a1\u003c/code\u003e\u003c/a\u003e docs: Update ADK issue triaging agent to add component label before planned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/77401132d1b0fb4d2db0ffab00590c1e3961156a\"\u003e\u003ccode\u003e7740113\u003c/code\u003e\u003c/a\u003e chore: Add migration guide for DatabaseSessionService\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.4 to 0.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.8\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.14.8\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d4f1c6ae24b75642a586531f4c668213fbac3fb\"\u003e\u003ccode\u003e9d4f1c6\u003c/code\u003e\u003c/a\u003e Bump 0.14.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21791\"\u003e#21791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/326025d45f87548caba9a56c5606d80f85abc5ff\"\u003e\u003ccode\u003e326025d\u003c/code\u003e\u003c/a\u003e [ty] Always register rename provider if client doesn't support dynamic regist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3aefe85b32ff698b1a2086c2b50ff38af5c9dbed\"\u003e\u003ccode\u003e3aefe85\u003c/code\u003e\u003c/a\u003e [ty] Ensure \u003ccode\u003erename\u003c/code\u003e \u003ccode\u003eCursorTest\u003c/code\u003e calls \u003ccode\u003ecan_rename\u003c/code\u003e before renaming (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21790\"\u003e#21790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b8ecc83a54fd5d7955bf1ab4fb82fe18dcb52283\"\u003e\u003ccode\u003eb8ecc83\u003c/code\u003e\u003c/a\u003e Fix clippy errors on \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21788\"\u003e#21788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6491932757ca6365bd11b8241266d81c045f7a8b\"\u003e\u003ccode\u003e6491932\u003c/code\u003e\u003c/a\u003e [ty] Fix crash when hovering an unknown string annotation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21782\"\u003e#21782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a9f2bb41bd802c9f4db417e3fec8324cf6207868\"\u003e\u003ccode\u003ea9f2bb4\u003c/code\u003e\u003c/a\u003e [ty] Don't send publish diagnostics for clients supporting pull diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2b72fbf99920c5621243ee67e1028844a841d35\"\u003e\u003ccode\u003ee2b72fb\u003c/code\u003e\u003c/a\u003e [ty] cleanup test path (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21781\"\u003e#21781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fce0d44003ea30c30eb555344bd319da511380\"\u003e\u003ccode\u003e14fce0d\u003c/code\u003e\u003c/a\u003e [ty] Improve the display of various special-form types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21775\"\u003e#21775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8ebecb2a88d664a6291af71805b8f6876f414815\"\u003e\u003ccode\u003e8ebecb2\u003c/code\u003e\u003c/a\u003e [ty] Add subdiagnostic hint if the user wrote \u003ccode\u003eX = Any\u003c/code\u003e rather than \u003ccode\u003eX: Any\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/45ac30a4d762c9c564d45bb66df813666682e78e\"\u003e\u003ccode\u003e45ac30a\u003c/code\u003e\u003c/a\u003e [ty] Teach \u003ccode\u003ety\u003c/code\u003e the meaning of desperation (try ancestor \u003ccode\u003epyproject.toml\u003c/code\u003es as...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.4...0.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-starter-pack` from 0.20.4 to 0.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/releases\"\u003eagent-starter-pack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch1\u003e0.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update locks by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/582\"\u003eGoogleCloudPlatform/agent-starter-pack#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add Bob's Brain production ADK reference to community showcase by \u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add generation metadata to pyproject.toml by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/584\"\u003eGoogleCloudPlatform/agent-starter-pack#584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --prototype flag for minimal project creation by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/586\"\u003eGoogleCloudPlatform/agent-starter-pack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove metadata file by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/587\"\u003eGoogleCloudPlatform/agent-starter-pack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --adk quickstart mode with optimized GCP verification by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/590\"\u003eGoogleCloudPlatform/agent-starter-pack#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/588\"\u003eGoogleCloudPlatform/agent-starter-pack#588\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix: display actual account in interactive credentials flow by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/591\"\u003eGoogleCloudPlatform/agent-starter-pack#591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.1 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/592\"\u003eGoogleCloudPlatform/agent-starter-pack#592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: detect and reuse saved config in enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/593\"\u003eGoogleCloudPlatform/agent-starter-pack#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only show base template override prompt when template actually changes by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/594\"\u003eGoogleCloudPlatform/agent-starter-pack#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.2 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/595\"\u003eGoogleCloudPlatform/agent-starter-pack#595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add -s shortcut for --skip-checks flag by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/576\"\u003eGoogleCloudPlatform/agent-starter-pack#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --google-api-key option for AI Studio support by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/577\"\u003eGoogleCloudPlatform/agent-starter-pack#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add -k and --api-key shorthand for --google-api-key by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/578\"\u003eGoogleCloudPlatform/agent-starter-pack#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.25.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/579\"\u003eGoogleCloudPlatform/agent-starter-pack#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/573\"\u003eGoogleCloudPlatform/agent-starter-pack#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump express from 4.21.2 to 4.22.1 in /agent_starter_pack/frontends/adk_live_react/frontend by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/571\"\u003eGoogleCloudPlatform/agent-starter-pack#571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add YAML config agent support for enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/572\"\u003eGoogleCloudPlatform/agent-starter-pack#572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.24.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/574\"\u003eGoogleCloudPlatform/agent-starter-pack#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove idx folder by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/575\"\u003eGoogleCloudPlatform/agent-starter-pack#575\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update all samples to use gemini 3 pro by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/566\"\u003eGoogleCloudPlatform/agent-starter-pack#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update model selection to include gemini-3-pro-preview by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/567\"\u003eGoogleCloudPlatform/agent-starter-pack#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force GOOGLE_CLOUD_LOCATION env variable assignment by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/569\"\u003eGoogleCloudPlatform/agent-starter-pack#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/dd625841f4dbe5c5427ccf9fa63f1f0ff8fc0d0a\"\u003e\u003ccode\u003edd62584\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/4e91e902f51147aafa5342f45b7c4079d2de004a\"\u003e\u003ccode\u003e4e91e90\u003c/code\u003e\u003c/a\u003e fix: only show base template override prompt when template actually changes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1d9dec5a9a596ca320489a09dbddb81293db098e\"\u003e\u003ccode\u003e1d9dec5\u003c/code\u003e\u003c/a\u003e feat: detect and reuse saved config in enhance command (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/2497d5b1257b152c89659a7315596a7ac4b16d47\"\u003e\u003ccode\u003e2497d5b\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.1 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1c2c7a73672fdb4436b40405602218c9a3152274\"\u003e\u003ccode\u003e1c2c7a7\u003c/code\u003e\u003c/a\u003e fix: display actual account in interactive credentials flow (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b4eb1ede67034bf063ec1f712287ad8bc53e34b8\"\u003e\u003ccode\u003eb4eb1ed\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b8050d775226a5eff4bc3959cd336cd6d189b87e\"\u003e\u003ccode\u003eb8050d7\u003c/code\u003e\u003c/a\u003e feat: add --adk quickstart mode with optimized GCP verification (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/588395df0cf7bf2a4107c2c26fd87a2521ebb096\"\u003e\u003ccode\u003e588395d\u003c/code\u003e\u003c/a\u003e remove metadata file (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/38addd764cd499823ea7180fec5c5fafca04d336\"\u003e\u003ccode\u003e38addd7\u003c/code\u003e\u003c/a\u003e feat: add --prototype flag for minimal project creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/bc061b0557e38dd9267c0e633c04c24c216e17a9\"\u003e\u003ccode\u003ebc061b0\u003c/code\u003e\u003c/a\u003e feat: add generation metadata to pyproject.toml (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.20.4...0.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ashishraghav/-adk-samples/pull/37","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashishraghav%2F-adk-samples/issues/37","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/37/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2025-12-08T02:28:44.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3704383654","node_id":"PR_kwDOQbpvDc63kvJZ","number":30,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T02:28:44.000Z","updated_at":"2026-02-02T04:07:08.123Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":8,"packages":[{"name":"pydantic","old_version":"2.12.4","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-genai","old_version":"1.49.0","new_version":"1.53.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"google-adk","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/google/adk-python"},{"name":"ruff","old_version":"0.14.4","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"agent-starter-pack","old_version":"0.20.4","new_version":"0.26.2","repository_url":"https://github.com/GoogleCloudPlatform/agent-starter-pack"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-dependencies group with 8 updates in the /python/agents/travel-concierge directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.4` | `2.12.5` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.49.0` | `1.53.0` |\n| [google-adk](https://github.com/google/adk-python) | `1.18.0` | `1.20.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.4` | `0.14.8` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [agent-starter-pack](https://github.com/GoogleCloudPlatform/agent-starter-pack) | `0.20.4` | `0.26.2` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n\n\nUpdates `pydantic` from 2.12.4 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.49.0 to 1.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.53.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.52.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.51.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.52.0...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2025-12-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd empty response for tunings.cancel() (\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e97cc7e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert 'citationSources' key in CitationMetadata to 'citations' when present (fixes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1222\"\u003e#1222\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e2f28b02\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix google.auth.transport.requests import error in Live API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003ea842721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove docs for google.genai.types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e5b50adc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecommend using response_json_schema in error messages and docstrings. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003ec0b175a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdating codegen instructions to use gemini 3 pro and nano banana pro (\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e060f015\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2025-11-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for configuring resource scope when using base_url (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a3e0859b673ad5b20157ed9970ecfc2edfa5077c\"\u003ea3e0859\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTypeError: issubclass() arg 1 must be a class\u003c/code\u003e when using\u003ccode\u003eList[str]\u003c/code\u003e for \u003ccode\u003econtents\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c624d7e5705df98e36cbc7b55dc110adf5871c85\"\u003ec624d7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate new aiohttp Client Session if loop is closed (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1dc35ea7abdd8f5d0faed4f8aa55756d8da7c478\"\u003e1dc35ea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.50.1...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2025-11-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a pre-validation hook to warn about Pydantic model type mismatches. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/f7af6ef697dee79115c8e5716ae9e3a102c49a4a\"\u003ef7af6ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseBlob (\u003ca href=\"https://github.com/googleapis/python-genai/commit/52906d513f22d58fda9bc177fc1f6bff003d2e61\"\u003e52906d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd display name to FunctionResponseFileData (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7c39f702636516596233ed29ae0a588e621b8152\"\u003e7c39f70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd generate_content_config.thinking_level (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd image output options to ImageConfig for Vertex (\u003ca href=\"https://github.com/googleapis/python-genai/commit/014aaad624790afc50d46c996bf84c96e3751498\"\u003e014aaad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part.media_resolution (\u003ca href=\"https://github.com/googleapis/python-genai/commit/30b00dbad15f9cf0bb79deca7f1d7b69e345986e\"\u003e30b00db\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Function call argument streaming for all languages (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9b2ca50d5194af8ff8f3fdaed1c2a317acd52970\"\u003e9b2ca50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly log warnings once for accessors in GenerateContentResponse and LiveServerMessage (\u003ca href=\"https://github.com/googleapis/python-genai/commit/eec841e6a35c5d656f79f0e0700f00126acfda9c\"\u003eeec841e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ef8f7a55de621aba3f8dc7384aebc0149f250c97\"\u003e\u003ccode\u003eef8f7a5\u003c/code\u003e\u003c/a\u003e chore(main): release 1.53.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1796\"\u003e#1796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/2f28b02517dbbe57ca604079e8f14c0773ec4aca\"\u003e\u003ccode\u003e2f28b02\u003c/code\u003e\u003c/a\u003e fix: convert 'citationSources' key in CitationMetadata to 'citations' when pr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/97cc7e4eafbee4fa4035e7420170ab6a2c9da7fb\"\u003e\u003ccode\u003e97cc7e4\u003c/code\u003e\u003c/a\u003e feat: Add empty response for tunings.cancel()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/060f015d7efb39f716731d7f3a6571f59a5e94e9\"\u003e\u003ccode\u003e060f015\u003c/code\u003e\u003c/a\u003e docs: Updating codegen instructions to use gemini 3 pro and nano banana pro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ddbe6fd4b636a96f53346b3b7ea10bb898e61d9b\"\u003e\u003ccode\u003eddbe6fd\u003c/code\u003e\u003c/a\u003e chore: update README to make code gen instructions more prominent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/c0b175a0ca20286db419390031a2239938d0c0b7\"\u003e\u003ccode\u003ec0b175a\u003c/code\u003e\u003c/a\u003e docs: Recommend using response_json_schema in error messages and docstrings.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/5b50adce2a76cb77bef067bc0a624d111d39c2dc\"\u003e\u003ccode\u003e5b50adc\u003c/code\u003e\u003c/a\u003e docs: Improve docs for google.genai.types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/a842721cb1f536b9663552bf424aaa0c48387903\"\u003e\u003ccode\u003ea842721\u003c/code\u003e\u003c/a\u003e fix: Fix google.auth.transport.requests import error in Live API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/99058b6244a1ae1d63511b7bb9130edcea96cd00\"\u003e\u003ccode\u003e99058b6\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/4b5720a7fb1a75d850dd8a182e3d31a9f587e57f\"\u003e\u003ccode\u003e4b5720a\u003c/code\u003e\u003c/a\u003e chore(main): release 1.52.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1727\"\u003e#1727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.49.0...v1.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-adk` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e! Raise minimum Python version to 3.10\u003c/li\u003e\n\u003cli\u003eAdd a File based Artifact Service\u003c/li\u003e\n\u003cli\u003eReduce ADK API server startup latency by lazy loading\u003c/li\u003e\n\u003cli\u003eADK web light mode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ecustom_metadata\u003c/code\u003e fields to \u003ccode\u003eMemoryEntry\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4dd28a3970d0f76c571caf80b3e1bea1b79e9dde\"\u003e4dd28a3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/a5ac1d5e14f5ce7cd875d81a494a773710669dc1\"\u003ea5ac1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a2a_request_meta_provider to RemoteAgent init (\u003ca href=\"https://github.com/google/adk-python/commit/d12468ee5a2b906b6699ccdb94c6a5a4c2822465\"\u003ed12468e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd feature decorator for the feature registry system (\u003ca href=\"https://github.com/google/adk-python/commit/871da731f1c09c6a62d51b137d9d2e7c9fb3897a\"\u003e871da73\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/960b206752918d13f127a9d6ed8d21d34bcbc7fa\"\u003e\u003ccode\u003e960b206\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.20.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/5947c41b554aca905e795b49aefc60b6c85be05f\"\u003e\u003ccode\u003e5947c41\u003c/code\u003e\u003c/a\u003e chore: Update component owners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9d918d45df4275b5b464e46817d2daaa03859fe3\"\u003e\u003ccode\u003e9d918d4\u003c/code\u003e\u003c/a\u003e feat!: Rollback the DB migration as it is breaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8c9105bf14f57606a73753654922fe26f584dff6\"\u003e\u003ccode\u003e8c9105b\u003c/code\u003e\u003c/a\u003e chore: Drop Python 3.9 support, set minimum to Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e02b9fb608f645cdcf8300ffe4e64627df10ba28\"\u003e\u003ccode\u003ee02b9fb\u003c/code\u003e\u003c/a\u003e fix: Add a warning when deploying with the ADK Web UI enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/76dc169a83065ee10283d54253164e04f712ea5f\"\u003e\u003ccode\u003e76dc169\u003c/code\u003e\u003c/a\u003e fix: Add editLimit parameter to GraphQL query\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b638a48357c9fd5089b4d59dcd3f2102d1d2b3b8\"\u003e\u003ccode\u003eb638a48\u003c/code\u003e\u003c/a\u003e fix: Update API Registry Toolset to prod cloudapiregistry URL now that it is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b807d62fe35a5de4e1efd37f38230edcf5f992ad\"\u003e\u003ccode\u003eb807d62\u003c/code\u003e\u003c/a\u003e feat(bigquery): Add labels support to BigQueryToolConfig for job tracking and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3aef9a18b1f8b54cc1712af7b3477049e4f52932\"\u003e\u003ccode\u003e3aef9a1\u003c/code\u003e\u003c/a\u003e docs: Update ADK issue triaging agent to add component label before planned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/77401132d1b0fb4d2db0ffab00590c1e3961156a\"\u003e\u003ccode\u003e7740113\u003c/code\u003e\u003c/a\u003e chore: Add migration guide for DatabaseSessionService\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.4 to 0.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.8\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.14.8\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d4f1c6ae24b75642a586531f4c668213fbac3fb\"\u003e\u003ccode\u003e9d4f1c6\u003c/code\u003e\u003c/a\u003e Bump 0.14.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21791\"\u003e#21791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/326025d45f87548caba9a56c5606d80f85abc5ff\"\u003e\u003ccode\u003e326025d\u003c/code\u003e\u003c/a\u003e [ty] Always register rename provider if client doesn't support dynamic regist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3aefe85b32ff698b1a2086c2b50ff38af5c9dbed\"\u003e\u003ccode\u003e3aefe85\u003c/code\u003e\u003c/a\u003e [ty] Ensure \u003ccode\u003erename\u003c/code\u003e \u003ccode\u003eCursorTest\u003c/code\u003e calls \u003ccode\u003ecan_rename\u003c/code\u003e before renaming (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21790\"\u003e#21790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b8ecc83a54fd5d7955bf1ab4fb82fe18dcb52283\"\u003e\u003ccode\u003eb8ecc83\u003c/code\u003e\u003c/a\u003e Fix clippy errors on \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21788\"\u003e#21788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6491932757ca6365bd11b8241266d81c045f7a8b\"\u003e\u003ccode\u003e6491932\u003c/code\u003e\u003c/a\u003e [ty] Fix crash when hovering an unknown string annotation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21782\"\u003e#21782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a9f2bb41bd802c9f4db417e3fec8324cf6207868\"\u003e\u003ccode\u003ea9f2bb4\u003c/code\u003e\u003c/a\u003e [ty] Don't send publish diagnostics for clients supporting pull diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2b72fbf99920c5621243ee67e1028844a841d35\"\u003e\u003ccode\u003ee2b72fb\u003c/code\u003e\u003c/a\u003e [ty] cleanup test path (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21781\"\u003e#21781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fce0d44003ea30c30eb555344bd319da511380\"\u003e\u003ccode\u003e14fce0d\u003c/code\u003e\u003c/a\u003e [ty] Improve the display of various special-form types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21775\"\u003e#21775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8ebecb2a88d664a6291af71805b8f6876f414815\"\u003e\u003ccode\u003e8ebecb2\u003c/code\u003e\u003c/a\u003e [ty] Add subdiagnostic hint if the user wrote \u003ccode\u003eX = Any\u003c/code\u003e rather than \u003ccode\u003eX: Any\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/45ac30a4d762c9c564d45bb66df813666682e78e\"\u003e\u003ccode\u003e45ac30a\u003c/code\u003e\u003c/a\u003e [ty] Teach \u003ccode\u003ety\u003c/code\u003e the meaning of desperation (try ancestor \u003ccode\u003epyproject.toml\u003c/code\u003es as...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.4...0.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-starter-pack` from 0.20.4 to 0.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/releases\"\u003eagent-starter-pack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch1\u003e0.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update locks by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/582\"\u003eGoogleCloudPlatform/agent-starter-pack#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add Bob's Brain production ADK reference to community showcase by \u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add generation metadata to pyproject.toml by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/584\"\u003eGoogleCloudPlatform/agent-starter-pack#584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --prototype flag for minimal project creation by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/586\"\u003eGoogleCloudPlatform/agent-starter-pack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove metadata file by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/587\"\u003eGoogleCloudPlatform/agent-starter-pack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --adk quickstart mode with optimized GCP verification by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/590\"\u003eGoogleCloudPlatform/agent-starter-pack#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/588\"\u003eGoogleCloudPlatform/agent-starter-pack#588\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix: display actual account in interactive credentials flow by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/591\"\u003eGoogleCloudPlatform/agent-starter-pack#591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.1 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/592\"\u003eGoogleCloudPlatform/agent-starter-pack#592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: detect and reuse saved config in enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/593\"\u003eGoogleCloudPlatform/agent-starter-pack#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only show base template override prompt when template actually changes by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/594\"\u003eGoogleCloudPlatform/agent-starter-pack#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.2 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/595\"\u003eGoogleCloudPlatform/agent-starter-pack#595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add -s shortcut for --skip-checks flag by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/576\"\u003eGoogleCloudPlatform/agent-starter-pack#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --google-api-key option for AI Studio support by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/577\"\u003eGoogleCloudPlatform/agent-starter-pack#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add -k and --api-key shorthand for --google-api-key by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/578\"\u003eGoogleCloudPlatform/agent-starter-pack#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.25.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/579\"\u003eGoogleCloudPlatform/agent-starter-pack#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/573\"\u003eGoogleCloudPlatform/agent-starter-pack#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump express from 4.21.2 to 4.22.1 in /agent_starter_pack/frontends/adk_live_react/frontend by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/571\"\u003eGoogleCloudPlatform/agent-starter-pack#571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add YAML config agent support for enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/572\"\u003eGoogleCloudPlatform/agent-starter-pack#572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.24.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/574\"\u003eGoogleCloudPlatform/agent-starter-pack#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove idx folder by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/575\"\u003eGoogleCloudPlatform/agent-starter-pack#575\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update all samples to use gemini 3 pro by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/566\"\u003eGoogleCloudPlatform/agent-starter-pack#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update model selection to include gemini-3-pro-preview by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/567\"\u003eGoogleCloudPlatform/agent-starter-pack#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force GOOGLE_CLOUD_LOCATION env variable assignment by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/569\"\u003eGoogleCloudPlatform/agent-starter-pack#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/dd625841f4dbe5c5427ccf9fa63f1f0ff8fc0d0a\"\u003e\u003ccode\u003edd62584\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/4e91e902f51147aafa5342f45b7c4079d2de004a\"\u003e\u003ccode\u003e4e91e90\u003c/code\u003e\u003c/a\u003e fix: only show base template override prompt when template actually changes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1d9dec5a9a596ca320489a09dbddb81293db098e\"\u003e\u003ccode\u003e1d9dec5\u003c/code\u003e\u003c/a\u003e feat: detect and reuse saved config in enhance command (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/2497d5b1257b152c89659a7315596a7ac4b16d47\"\u003e\u003ccode\u003e2497d5b\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.1 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1c2c7a73672fdb4436b40405602218c9a3152274\"\u003e\u003ccode\u003e1c2c7a7\u003c/code\u003e\u003c/a\u003e fix: display actual account in interactive credentials flow (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b4eb1ede67034bf063ec1f712287ad8bc53e34b8\"\u003e\u003ccode\u003eb4eb1ed\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b8050d775226a5eff4bc3959cd336cd6d189b87e\"\u003e\u003ccode\u003eb8050d7\u003c/code\u003e\u003c/a\u003e feat: add --adk quickstart mode with optimized GCP verification (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/588395df0cf7bf2a4107c2c26fd87a2521ebb096\"\u003e\u003ccode\u003e588395d\u003c/code\u003e\u003c/a\u003e remove metadata file (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/38addd764cd499823ea7180fec5c5fafca04d336\"\u003e\u003ccode\u003e38addd7\u003c/code\u003e\u003c/a\u003e feat: add --prototype flag for minimal project creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/bc061b0557e38dd9267c0e633c04c24c216e17a9\"\u003e\u003ccode\u003ebc061b0\u003c/code\u003e\u003c/a\u003e feat: add generation metadata to pyproject.toml (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.20.4...0.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/jovin-nicholas/Medi-Agent-System/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jovin-nicholas%2FMedi-Agent-System/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2025-12-08T02:28:30.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3704382892","node_id":"PR_kwDOQdDFL863ku_n","number":32,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":9,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T02:28:30.000Z","updated_at":"2026-02-09T02:29:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":7,"packages":[{"name":"google-adk","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/google/adk-python"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"ruff","old_version":"0.14.4","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"agent-starter-pack","old_version":"0.20.4","new_version":"0.26.2","repository_url":"https://github.com/GoogleCloudPlatform/agent-starter-pack"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-dependencies group with 7 updates in the /python/agents/customer-service directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.18.0` | `1.20.0` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.2` | `4.0.4` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.4` | `0.14.8` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) | `1.2.3` | `1.2.4` |\n| [agent-starter-pack](https://github.com/GoogleCloudPlatform/agent-starter-pack) | `0.20.4` | `0.26.2` |\n\n\nUpdates `google-adk` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e! Raise minimum Python version to 3.10\u003c/li\u003e\n\u003cli\u003eAdd a File based Artifact Service\u003c/li\u003e\n\u003cli\u003eReduce ADK API server startup latency by lazy loading\u003c/li\u003e\n\u003cli\u003eADK web light mode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.19.0...v1.20.0\"\u003e1.20.0\u003c/a\u003e (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enum constraint to \u003ccode\u003eagent_name\u003c/code\u003e for \u003ccode\u003etransfer_to_agent\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4a42d0d9d81b7aab98371427f70a7707dbfb8bc4\"\u003e4a42d0d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd validation for unique sub-agent names (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/3557\"\u003e#3557\u003c/a\u003e) (\u003ca href=\"https://github.com/google/adk-python/commit/2247a45922afdf0a733239b619f45601d9b325ec\"\u003e2247a45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport streaming function call arguments in progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/786aaed335e1ce64b7e92dff2f4af8316b2ef593\"\u003e786aaed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable multi-provider support for Claude and LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/d29261a3dc9c5a603feef27ea657c4a03bb8a089\"\u003ed29261a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate APIRegistryToolset to add tools from Cloud API registry to agent (\u003ca href=\"https://github.com/google/adk-python/commit/ec4ccd718feeadeb6b2b59fcc0e9ff29a4fd0bac\"\u003eec4ccd7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to disallow propagating runner plugins to AgentTool runner (\u003ca href=\"https://github.com/google/adk-python/commit/777dba3033a9a14667fb009ba017f648177be41d\"\u003e777dba3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an endpoint to list apps with details (\u003ca href=\"https://github.com/google/adk-python/commit/b57fe5f4598925ec7592917bb32c7f0d6eca287a\"\u003eb57fe5f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow image parts in user messages for Anthropic Claude (\u003ca href=\"https://github.com/google/adk-python/commit/5453b5bfdedc91d9d668c9eac39e3bb009a7bbbf\"\u003e5453b5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (\u003ca href=\"https://github.com/google/adk-python/commit/631b58336d36bfd93e190582be34069613d38559\"\u003e631b583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes double response processing issue in \u003ccode\u003ebase_llm_flow.py\u003c/code\u003e where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (\u003ca href=\"https://github.com/google/adk-python/commit/cf21ca358478919207049695ba6b31dc6e0b2673\"\u003ecf21ca3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix out of bounds error in _run_async_impl (\u003ca href=\"https://github.com/google/adk-python/commit/8fc6128b62ba576480d196d4a2597564fd0a7006\"\u003e8fc6128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix paths for public docs (\u003ca href=\"https://github.com/google/adk-python/commit/cd54f48fed0c87b54fb19743c9c75e790c5d9135\"\u003ecd54f48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure request bodies without explicit names are named 'body' (\u003ca href=\"https://github.com/google/adk-python/commit/084c2de0dac84697906e2b4beebf008bbd9ae8e1\"\u003e084c2de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2213\"\u003e#2213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (\u003ca href=\"https://github.com/google/adk-python/commit/cb19d0714c90cd578551753680f39d8d6076c79b\"\u003ecb19d07\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (\u003ca href=\"https://github.com/google/adk-python/commit/52674e7fac6b7689f0e3871d41c4523e13471a7e\"\u003e52674e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate LiteLLM system instruction role from \u0026quot;developer\u0026quot; to \u0026quot;system\u0026quot; (\u003ca href=\"https://github.com/google/adk-python/commit/2e1f730c3bc0eb454b76d7f36b7b9f1da7304cfe\"\u003e2e1f730\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/3657\"\u003e#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate session last update time when appending events (\u003ca href=\"https://github.com/google/adk-python/commit/a3e4ad3cd130714affcaa880f696aeb498cd93af\"\u003ea3e4ad3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2721\"\u003e#2721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the retry_on_closed_resource decorator to retry on all errors (\u003ca href=\"https://github.com/google/adk-python/commit/a3aa07722a7de3e08807e86fd10f28938f0b267d\"\u003ea3aa077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWindows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (\u003ca href=\"https://github.com/google/adk-python/commit/a1c09b724bb37513eaabaff9643eeaa68014f14d\"\u003ea1c09b7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Code Wiki badge to README (\u003ca href=\"https://github.com/google/adk-python/commit/caf23ac49fe08bc7f625c61eed4635c26852c3ba\"\u003ecaf23ac\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.19.0\"\u003e1.19.0\u003c/a\u003e (2025-11-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ecustom_metadata\u003c/code\u003e fields to \u003ccode\u003eMemoryEntry\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/4dd28a3970d0f76c571caf80b3e1bea1b79e9dde\"\u003e4dd28a3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd progressive SSE streaming feature (\u003ca href=\"https://github.com/google/adk-python/commit/a5ac1d5e14f5ce7cd875d81a494a773710669dc1\"\u003ea5ac1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a2a_request_meta_provider to RemoteAgent init (\u003ca href=\"https://github.com/google/adk-python/commit/d12468ee5a2b906b6699ccdb94c6a5a4c2822465\"\u003ed12468e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd feature decorator for the feature registry system (\u003ca href=\"https://github.com/google/adk-python/commit/871da731f1c09c6a62d51b137d9d2e7c9fb3897a\"\u003e871da73\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/960b206752918d13f127a9d6ed8d21d34bcbc7fa\"\u003e\u003ccode\u003e960b206\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.20.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/5947c41b554aca905e795b49aefc60b6c85be05f\"\u003e\u003ccode\u003e5947c41\u003c/code\u003e\u003c/a\u003e chore: Update component owners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9d918d45df4275b5b464e46817d2daaa03859fe3\"\u003e\u003ccode\u003e9d918d4\u003c/code\u003e\u003c/a\u003e feat!: Rollback the DB migration as it is breaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8c9105bf14f57606a73753654922fe26f584dff6\"\u003e\u003ccode\u003e8c9105b\u003c/code\u003e\u003c/a\u003e chore: Drop Python 3.9 support, set minimum to Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e02b9fb608f645cdcf8300ffe4e64627df10ba28\"\u003e\u003ccode\u003ee02b9fb\u003c/code\u003e\u003c/a\u003e fix: Add a warning when deploying with the ADK Web UI enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/76dc169a83065ee10283d54253164e04f712ea5f\"\u003e\u003ccode\u003e76dc169\u003c/code\u003e\u003c/a\u003e fix: Add editLimit parameter to GraphQL query\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b638a48357c9fd5089b4d59dcd3f2102d1d2b3b8\"\u003e\u003ccode\u003eb638a48\u003c/code\u003e\u003c/a\u003e fix: Update API Registry Toolset to prod cloudapiregistry URL now that it is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b807d62fe35a5de4e1efd37f38230edcf5f992ad\"\u003e\u003ccode\u003eb807d62\u003c/code\u003e\u003c/a\u003e feat(bigquery): Add labels support to BigQueryToolConfig for job tracking and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3aef9a18b1f8b54cc1712af7b3477049e4f52932\"\u003e\u003ccode\u003e3aef9a1\u003c/code\u003e\u003c/a\u003e docs: Update ADK issue triaging agent to add component label before planned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/77401132d1b0fb4d2db0ffab00590c1e3961156a\"\u003e\u003ccode\u003e7740113\u003c/code\u003e\u003c/a\u003e chore: Add migration guide for DatabaseSessionService\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/84b6552b86e210097ac29de7ef64b152efb4a454\"\u003e\u003ccode\u003e84b6552\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.3, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10741\"\u003e#10741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/77b0cd8c0e40eb563ab96067be6bdb3e9e266f1e\"\u003e\u003ccode\u003e77b0cd8\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix(expand_modules): pass ignore_list to modutil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/755f2d0327809a5b358b99ad7fc67a7a5a2faad0\"\u003e\u003ccode\u003e755f2d0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Upgrade astroid to 4.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10733\"\u003e#10733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/c96a9e4d232abcfa1d7f449839b68337816305e9\"\u003e\u003ccode\u003ec96a9e4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a variable annotation is used as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/108191ebbcd9dc8fa9e3fb71c83fd247d2f6ccd1\"\u003e\u003ccode\u003e108191e\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for class attribute typed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0ed81725382db48ac0061c96c1948f42fe75f85d\"\u003e\u003ccode\u003e0ed8172\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a \u003ccode\u003eslice\u003c/code\u003e object is called (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10728\"\u003e#10728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/b128b7d909bf541b2978d84bfe5ed4f4d67210e5\"\u003e\u003ccode\u003eb128b7d\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for ``unbalanced-tuple-unpa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.4 to 0.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.8\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.14.8\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Catch \u003ccode\u003eyield\u003c/code\u003e expressions within other statements (\u003ccode\u003eB901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21200\"\u003e#21200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark fixes unsafe for return type changes (\u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH109\u003c/code\u003e, \u003ccode\u003ePTH115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21440\"\u003e#21440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix syntax error false positives for \u003ccode\u003eawait\u003c/code\u003e outside functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21763\"\u003e#21763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (\u003ccode\u003eSIM222\u003c/code\u003e, \u003ccode\u003eSIM223\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21479\"\u003e#21479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest using \u003ccode\u003e--output-file\u003c/code\u003e option in GitLab integration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21706\"\u003e#21706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[syntax-error] Default type parameter followed by non-default type parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21657\"\u003e#21657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kieran-ryan\"\u003e\u003ccode\u003e@​kieran-ryan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/11happy\"\u003e\u003ccode\u003e@​11happy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d4f1c6ae24b75642a586531f4c668213fbac3fb\"\u003e\u003ccode\u003e9d4f1c6\u003c/code\u003e\u003c/a\u003e Bump 0.14.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21791\"\u003e#21791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/326025d45f87548caba9a56c5606d80f85abc5ff\"\u003e\u003ccode\u003e326025d\u003c/code\u003e\u003c/a\u003e [ty] Always register rename provider if client doesn't support dynamic regist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3aefe85b32ff698b1a2086c2b50ff38af5c9dbed\"\u003e\u003ccode\u003e3aefe85\u003c/code\u003e\u003c/a\u003e [ty] Ensure \u003ccode\u003erename\u003c/code\u003e \u003ccode\u003eCursorTest\u003c/code\u003e calls \u003ccode\u003ecan_rename\u003c/code\u003e before renaming (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21790\"\u003e#21790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b8ecc83a54fd5d7955bf1ab4fb82fe18dcb52283\"\u003e\u003ccode\u003eb8ecc83\u003c/code\u003e\u003c/a\u003e Fix clippy errors on \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21788\"\u003e#21788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6491932757ca6365bd11b8241266d81c045f7a8b\"\u003e\u003ccode\u003e6491932\u003c/code\u003e\u003c/a\u003e [ty] Fix crash when hovering an unknown string annotation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21782\"\u003e#21782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a9f2bb41bd802c9f4db417e3fec8324cf6207868\"\u003e\u003ccode\u003ea9f2bb4\u003c/code\u003e\u003c/a\u003e [ty] Don't send publish diagnostics for clients supporting pull diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2b72fbf99920c5621243ee67e1028844a841d35\"\u003e\u003ccode\u003ee2b72fb\u003c/code\u003e\u003c/a\u003e [ty] cleanup test path (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21781\"\u003e#21781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fce0d44003ea30c30eb555344bd319da511380\"\u003e\u003ccode\u003e14fce0d\u003c/code\u003e\u003c/a\u003e [ty] Improve the display of various special-form types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21775\"\u003e#21775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8ebecb2a88d664a6291af71805b8f6876f414815\"\u003e\u003ccode\u003e8ebecb2\u003c/code\u003e\u003c/a\u003e [ty] Add subdiagnostic hint if the user wrote \u003ccode\u003eX = Any\u003c/code\u003e rather than \u003ccode\u003eX: Any\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/45ac30a4d762c9c564d45bb66df813666682e78e\"\u003e\u003ccode\u003e45ac30a\u003c/code\u003e\u003c/a\u003e [ty] Teach \u003ccode\u003ety\u003c/code\u003e the meaning of desperation (try ancestor \u003ccode\u003epyproject.toml\u003c/code\u003es as...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.4...0.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-starter-pack` from 0.20.4 to 0.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/releases\"\u003eagent-starter-pack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch1\u003e0.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update locks by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/582\"\u003eGoogleCloudPlatform/agent-starter-pack#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add Bob's Brain production ADK reference to community showcase by \u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add generation metadata to pyproject.toml by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/584\"\u003eGoogleCloudPlatform/agent-starter-pack#584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --prototype flag for minimal project creation by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/586\"\u003eGoogleCloudPlatform/agent-starter-pack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove metadata file by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/587\"\u003eGoogleCloudPlatform/agent-starter-pack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --adk quickstart mode with optimized GCP verification by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/590\"\u003eGoogleCloudPlatform/agent-starter-pack#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/588\"\u003eGoogleCloudPlatform/agent-starter-pack#588\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix: display actual account in interactive credentials flow by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/591\"\u003eGoogleCloudPlatform/agent-starter-pack#591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.1 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/592\"\u003eGoogleCloudPlatform/agent-starter-pack#592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efeat: detect and reuse saved config in enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/593\"\u003eGoogleCloudPlatform/agent-starter-pack#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only show base template override prompt when template actually changes by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/594\"\u003eGoogleCloudPlatform/agent-starter-pack#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.26.2 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/595\"\u003eGoogleCloudPlatform/agent-starter-pack#595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremylongshore\"\u003e\u003ccode\u003e@​jeremylongshore\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/580\"\u003eGoogleCloudPlatform/agent-starter-pack#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.25.0...0.26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add -s shortcut for --skip-checks flag by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/576\"\u003eGoogleCloudPlatform/agent-starter-pack#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add --google-api-key option for AI Studio support by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/577\"\u003eGoogleCloudPlatform/agent-starter-pack#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add -k and --api-key shorthand for --google-api-key by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/578\"\u003eGoogleCloudPlatform/agent-starter-pack#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.25.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/579\"\u003eGoogleCloudPlatform/agent-starter-pack#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.24.0...0.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/573\"\u003eGoogleCloudPlatform/agent-starter-pack#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump express from 4.21.2 to 4.22.1 in /agent_starter_pack/frontends/adk_live_react/frontend by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/571\"\u003eGoogleCloudPlatform/agent-starter-pack#571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add YAML config agent support for enhance command by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/572\"\u003eGoogleCloudPlatform/agent-starter-pack#572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bump version to 0.24.0 by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/574\"\u003eGoogleCloudPlatform/agent-starter-pack#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove idx folder by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/575\"\u003eGoogleCloudPlatform/agent-starter-pack#575\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\"\u003ehttps://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.23.0...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update all samples to use gemini 3 pro by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/566\"\u003eGoogleCloudPlatform/agent-starter-pack#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update model selection to include gemini-3-pro-preview by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/567\"\u003eGoogleCloudPlatform/agent-starter-pack#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force GOOGLE_CLOUD_LOCATION env variable assignment by \u003ca href=\"https://github.com/eliasecchig\"\u003e\u003ccode\u003e@​eliasecchig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/pull/569\"\u003eGoogleCloudPlatform/agent-starter-pack#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/dd625841f4dbe5c5427ccf9fa63f1f0ff8fc0d0a\"\u003e\u003ccode\u003edd62584\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/4e91e902f51147aafa5342f45b7c4079d2de004a\"\u003e\u003ccode\u003e4e91e90\u003c/code\u003e\u003c/a\u003e fix: only show base template override prompt when template actually changes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1d9dec5a9a596ca320489a09dbddb81293db098e\"\u003e\u003ccode\u003e1d9dec5\u003c/code\u003e\u003c/a\u003e feat: detect and reuse saved config in enhance command (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/2497d5b1257b152c89659a7315596a7ac4b16d47\"\u003e\u003ccode\u003e2497d5b\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.1 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/1c2c7a73672fdb4436b40405602218c9a3152274\"\u003e\u003ccode\u003e1c2c7a7\u003c/code\u003e\u003c/a\u003e fix: display actual account in interactive credentials flow (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b4eb1ede67034bf063ec1f712287ad8bc53e34b8\"\u003e\u003ccode\u003eb4eb1ed\u003c/code\u003e\u003c/a\u003e feat: bump version to 0.26.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/b8050d775226a5eff4bc3959cd336cd6d189b87e\"\u003e\u003ccode\u003eb8050d7\u003c/code\u003e\u003c/a\u003e feat: add --adk quickstart mode with optimized GCP verification (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/588395df0cf7bf2a4107c2c26fd87a2521ebb096\"\u003e\u003ccode\u003e588395d\u003c/code\u003e\u003c/a\u003e remove metadata file (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/38addd764cd499823ea7180fec5c5fafca04d336\"\u003e\u003ccode\u003e38addd7\u003c/code\u003e\u003c/a\u003e feat: add --prototype flag for minimal project creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/commit/bc061b0557e38dd9267c0e633c04c24c216e17a9\"\u003e\u003ccode\u003ebc061b0\u003c/code\u003e\u003c/a\u003e feat: add generation metadata to pyproject.toml (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/agent-starter-pack/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/agent-starter-pack/compare/0.20.4...0.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ashishraghav/-adk-samples/pull/32","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashishraghav%2F-adk-samples/issues/32","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/32/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2025-12-02T01:59:30.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3683649576","node_id":"PR_kwDOJpUI6c62fL54","number":296,"state":"closed","title":"Build(deps-dev): Bump the patch group with 4 updates","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-01T23:52:04.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-02T01:59:30.000Z","updated_at":"2026-02-01T23:52:06.000Z","time_to_close":5349154,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps-dev): Bump","group_name":"patch","update_count":4,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 4 updates: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [frequenz-repo-config[api]](https://github.com/frequenz-floss/frequenz-repo-config-python), [pylint](https://github.com/pylint-dev/pylint) and [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[api]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[api]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/84b6552b86e210097ac29de7ef64b152efb4a454\"\u003e\u003ccode\u003e84b6552\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.3, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10741\"\u003e#10741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/77b0cd8c0e40eb563ab96067be6bdb3e9e266f1e\"\u003e\u003ccode\u003e77b0cd8\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix(expand_modules): pass ignore_list to modutil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/755f2d0327809a5b358b99ad7fc67a7a5a2faad0\"\u003e\u003ccode\u003e755f2d0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Upgrade astroid to 4.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10733\"\u003e#10733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/c96a9e4d232abcfa1d7f449839b68337816305e9\"\u003e\u003ccode\u003ec96a9e4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a variable annotation is used as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/108191ebbcd9dc8fa9e3fb71c83fd247d2f6ccd1\"\u003e\u003ccode\u003e108191e\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for class attribute typed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0ed81725382db48ac0061c96c1948f42fe75f85d\"\u003e\u003ccode\u003e0ed8172\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a \u003ccode\u003eslice\u003c/code\u003e object is called (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10728\"\u003e#10728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/b128b7d909bf541b2978d84bfe5ed4f4d67210e5\"\u003e\u003ccode\u003eb128b7d\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for ``unbalanced-tuple-unpa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.","html_url":"https://github.com/frequenz-floss/frequenz-api-dispatch/pull/296","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-api-dispatch/issues/296","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/296/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2025-12-01T21:22:24.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3682920414","node_id":"PR_kwDOM8nbys62cr8c","number":24,"state":"closed","title":"Bump the patch group with 4 updates","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-01T18:42:30.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T21:22:24.000Z","updated_at":"2026-02-01T18:42:32.000Z","time_to_close":5347206,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"patch","update_count":4,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 4 updates: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [frequenz-repo-config[lib]](https://github.com/frequenz-floss/frequenz-repo-config-python), [pylint](https://github.com/pylint-dev/pylint) and [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[lib]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[lib]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/84b6552b86e210097ac29de7ef64b152efb4a454\"\u003e\u003ccode\u003e84b6552\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.3, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10741\"\u003e#10741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/77b0cd8c0e40eb563ab96067be6bdb3e9e266f1e\"\u003e\u003ccode\u003e77b0cd8\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix(expand_modules): pass ignore_list to modutil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/755f2d0327809a5b358b99ad7fc67a7a5a2faad0\"\u003e\u003ccode\u003e755f2d0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Upgrade astroid to 4.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10733\"\u003e#10733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/c96a9e4d232abcfa1d7f449839b68337816305e9\"\u003e\u003ccode\u003ec96a9e4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a variable annotation is used as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/108191ebbcd9dc8fa9e3fb71c83fd247d2f6ccd1\"\u003e\u003ccode\u003e108191e\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for class attribute typed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0ed81725382db48ac0061c96c1948f42fe75f85d\"\u003e\u003ccode\u003e0ed8172\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a \u003ccode\u003eslice\u003c/code\u003e object is called (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10728\"\u003e#10728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/b128b7d909bf541b2978d84bfe5ed4f4d67210e5\"\u003e\u003ccode\u003eb128b7d\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for ``unbalanced-tuple-unpa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/frequenz-floss/frequenz-microgrid-component-graph-python/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-microgrid-component-graph-python/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2025-12-01T16:26:11.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3681804120","node_id":"PR_kwDON42vC862Y8AG","number":60,"state":"closed","title":"build(deps-dev): Bump the patch group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-01T13:56:54.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T16:26:11.000Z","updated_at":"2026-02-01T13:56:55.000Z","time_to_close":5347843,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): Bump","group_name":"patch","update_count":3,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"frequenz-repo-config","old_version":"0.13.5","new_version":"0.13.7"},{"name":"frequenz-repo-config","old_version":"0.13.5","new_version":"0.13.7"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 3 updates in the / directory: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [frequenz-repo-config[api]](https://github.com/frequenz-floss/frequenz-repo-config-python) and [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[api]` from 0.13.5 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[api]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.6\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePylint4 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eClear release notes by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/419\"\u003efrequenz-floss/frequenz-repo-config-python#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport pylint 4 by \u003ca href=\"https://github.com/Marenz\"\u003e\u003ccode\u003e@​Marenz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/458\"\u003efrequenz-floss/frequenz-repo-config-python#458\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.6\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.6\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/51a970d2c9d40beb5a609d3fae878b83c055a589\"\u003e\u003ccode\u003e51a970d\u003c/code\u003e\u003c/a\u003e Support pylint 4 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/458\"\u003e#458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/e796079053a522e50a9d1af944537da358d372a5\"\u003e\u003ccode\u003ee796079\u003c/code\u003e\u003c/a\u003e Update release notes for v0.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/66f625054a485a5e724a6366f56b9fd84ffb4ccf\"\u003e\u003ccode\u003e66f6250\u003c/code\u003e\u003c/a\u003e Update templates dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/461641ec24967ca665fe082f96ccf98884934b80\"\u003e\u003ccode\u003e461641e\u003c/code\u003e\u003c/a\u003e Support pylint 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/f6c99e8f65072800330da8f8a320ed2633e766fa\"\u003e\u003ccode\u003ef6c99e8\u003c/code\u003e\u003c/a\u003e Clear release notes (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/419\"\u003e#419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/cb985b606f594b133e90f9b227511074ff8acc7a\"\u003e\u003ccode\u003ecb985b6\u003c/code\u003e\u003c/a\u003e Clear release notes\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.13.5 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.6\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePylint4 is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCookiecutter template\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependencies have been updated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eClear release notes by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/419\"\u003efrequenz-floss/frequenz-repo-config-python#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport pylint 4 by \u003ca href=\"https://github.com/Marenz\"\u003e\u003ccode\u003e@​Marenz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/458\"\u003efrequenz-floss/frequenz-repo-config-python#458\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.6\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.6\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/51a970d2c9d40beb5a609d3fae878b83c055a589\"\u003e\u003ccode\u003e51a970d\u003c/code\u003e\u003c/a\u003e Support pylint 4 (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/458\"\u003e#458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/e796079053a522e50a9d1af944537da358d372a5\"\u003e\u003ccode\u003ee796079\u003c/code\u003e\u003c/a\u003e Update release notes for v0.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/66f625054a485a5e724a6366f56b9fd84ffb4ccf\"\u003e\u003ccode\u003e66f6250\u003c/code\u003e\u003c/a\u003e Update templates dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/461641ec24967ca665fe082f96ccf98884934b80\"\u003e\u003ccode\u003e461641e\u003c/code\u003e\u003c/a\u003e Support pylint 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/f6c99e8f65072800330da8f8a320ed2633e766fa\"\u003e\u003ccode\u003ef6c99e8\u003c/code\u003e\u003c/a\u003e Clear release notes (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/419\"\u003e#419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/cb985b606f594b133e90f9b227511074ff8acc7a\"\u003e\u003ccode\u003ecb985b6\u003c/code\u003e\u003c/a\u003e Clear release notes\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.5...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/frequenz-floss/frequenz-api-assets/pull/60","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-api-assets/issues/60","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/60/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2025-12-01T11:19:33.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3680518336","node_id":"PR_kwDOBtu7C862Ui3I","number":72,"state":"closed","title":"Bump flake8-pyproject from 1.2.3 to 1.2.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["pylipp"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-02T21:07:44.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T11:19:33.000Z","updated_at":"2025-12-02T21:07:45.000Z","time_to_close":121691,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"}],"path":null,"ecosystem":"pip"},"body":"Bumps [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject) from 1.2.3 to 1.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flake8-pyproject\u0026package-manager=pip\u0026previous-version=1.2.3\u0026new-version=1.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/pylipp/pydartz/pull/72","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylipp%2Fpydartz/issues/72","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/72/packages"}},{"old_version":"1.2.3","new_version":"1.2.4","update_type":"patch","path":null,"pr_created_at":"2025-12-01T05:40:06.000Z","version_change":"1.2.3 → 1.2.4","issue":{"uuid":"3679329880","node_id":"PR_kwDOHzcOR862QeuN","number":374,"state":"closed","title":"Bump the patch group with 4 updates","user":"dependabot[bot]","labels":["part:tooling","type:tech-debt"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-01T05:53:14.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T05:40:06.000Z","updated_at":"2026-02-01T05:53:16.000Z","time_to_close":5357588,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"patch","update_count":4,"packages":[{"name":"flake8-pyproject","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/john-hen/Flake8-pyproject"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"},{"name":"pylint","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"frequenz-repo-config","old_version":"0.13.6","new_version":"0.13.7"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch group with 4 updates: [flake8-pyproject](https://github.com/john-hen/Flake8-pyproject), [frequenz-repo-config[api]](https://github.com/frequenz-floss/frequenz-repo-config-python), [pylint](https://github.com/pylint-dev/pylint) and [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python).\n\nUpdates `flake8-pyproject` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/releases\"\u003eflake8-pyproject's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes typo in name of meta variable in \u003ccode\u003e--toml-config\u003c/code\u003e help message. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/21\"\u003e#21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegisters GitHub repo as trusted publisher for PyPI releases. (\u003ca href=\"https://redirect.github.com/john-hen/Flake8-pyproject/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3c516a9319beee324f9a200dfb4e08677de4a63f\"\u003e\u003ccode\u003e3c516a9\u003c/code\u003e\u003c/a\u003e Bumped version to 1.2.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/df70f19558f784eb0cb7988440735d56f53f3cae\"\u003e\u003ccode\u003edf70f19\u003c/code\u003e\u003c/a\u003e Added GitHub workflow for releases on PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/d46e99c695149cd860a918c354de0d1d89166b7e\"\u003e\u003ccode\u003ed46e99c\u003c/code\u003e\u003c/a\u003e Only run scheduled test weekly instead of nightly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/da0b9ed7d586490aff8503e38f2d481c1706bdee\"\u003e\u003ccode\u003eda0b9ed\u003c/code\u003e\u003c/a\u003e Added link to GitHub releases as a project URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/8e4b87fbe7291687f41b11180c8b3ae486ac538e\"\u003e\u003ccode\u003e8e4b87f\u003c/code\u003e\u003c/a\u003e Cosmetic changes to code format of dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/4227bd4a987b66a9ab46f0b4e04b098e388598e7\"\u003e\u003ccode\u003e4227bd4\u003c/code\u003e\u003c/a\u003e Use longer names for dev tools in \u003ccode\u003etools\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/3866f48fbcd63231622f54e848268273605be1a8\"\u003e\u003ccode\u003e3866f48\u003c/code\u003e\u003c/a\u003e Mention early on that we need to be called in \u003ccode\u003epyproject.toml\u003c/code\u003e folder.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/40bf63915dabd85a53a7d06c24232a3b278c4b25\"\u003e\u003ccode\u003e40bf639\u003c/code\u003e\u003c/a\u003e Removed configuration and documentation of pre-commit hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/9df7abb5a4b1b25f032c7d3f06fd3f074424c471\"\u003e\u003ccode\u003e9df7abb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/john-hen/Flake8-pyproject/commit/2c230622c7e81e3f2f6cd632272c92fd6bdda83b\"\u003e\u003ccode\u003e2c23062\u003c/code\u003e\u003c/a\u003e Fixed reporting of code coverage.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/john-hen/Flake8-pyproject/compare/1.2.3...1.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[api]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[api]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.2 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/84b6552b86e210097ac29de7ef64b152efb4a454\"\u003e\u003ccode\u003e84b6552\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.3, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10741\"\u003e#10741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/77b0cd8c0e40eb563ab96067be6bdb3e9e266f1e\"\u003e\u003ccode\u003e77b0cd8\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix(expand_modules): pass ignore_list to modutil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/755f2d0327809a5b358b99ad7fc67a7a5a2faad0\"\u003e\u003ccode\u003e755f2d0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Upgrade astroid to 4.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10733\"\u003e#10733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/c96a9e4d232abcfa1d7f449839b68337816305e9\"\u003e\u003ccode\u003ec96a9e4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a variable annotation is used as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/108191ebbcd9dc8fa9e3fb71c83fd247d2f6ccd1\"\u003e\u003ccode\u003e108191e\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for class attribute typed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0ed81725382db48ac0061c96c1948f42fe75f85d\"\u003e\u003ccode\u003e0ed8172\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix crash when a \u003ccode\u003eslice\u003c/code\u003e object is called (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10728\"\u003e#10728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/b128b7d909bf541b2978d84bfe5ed4f4d67210e5\"\u003e\u003ccode\u003eb128b7d\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix a false positive for ``unbalanced-tuple-unpa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `frequenz-repo-config[extra-lint-examples]` from 0.13.6 to 0.13.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/releases\"\u003efrequenz-repo-config[extra-lint-examples]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.7\u003c/h2\u003e\n\u003ch1\u003eFrequenz Repository Configuration Release Notes\u003c/h1\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePytest v9.x is now supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWiden pytest version upper bound to accept v9.x by \u003ca href=\"https://github.com/llucax\"\u003e\u003ccode\u003e@​llucax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/473\"\u003efrequenz-floss/frequenz-repo-config-python#473\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ehttps://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/eccf57f9d4156d268b41515d6c6814da1acd6990\"\u003e\u003ccode\u003eeccf57f\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x (\u003ca href=\"https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ee7d45189a0b3eeb5d532e460c2bb696e471c10e\"\u003e\u003ccode\u003eee7d451\u003c/code\u003e\u003c/a\u003e Bump pytest and pylint dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/commit/6c890a841dd6e40b6e6b6862ca12b785d372740c\"\u003e\u003ccode\u003e6c890a8\u003c/code\u003e\u003c/a\u003e Widen pytest version upper bound to accept v9.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.13.6...v0.13.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/frequenz-floss/frequenz-api-microgrid/pull/374","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-api-microgrid/issues/374","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/374/packages"}}]}