{"id":51754,"name":"mkdocs-llmstxt","ecosystem":"pip","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt","issues_count":35,"created_at":"2025-07-15T22:09:10.296Z","updated_at":"2025-07-15T22:09:10.296Z","purl":"pkg:pypi/mkdocs-llmstxt","metadata":{"id":11265258,"name":"mkdocs-llmstxt","ecosystem":"pypi","description":"MkDocs plugin to generate an /llms.txt file.","homepage":"https://pawamoy.github.io/mkdocs-llmstxt","licenses":"isc","normalized_licenses":["ISC"],"repository_url":"https://github.com/pawamoy/mkdocs-llmstxt","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2025-01-14T18:15:14.000Z","latest_release_published_at":"2025-07-14T20:14:47.000Z","latest_release_number":"0.3.0","last_synced_at":"2025-07-14T20:30:32.150Z","created_at":"2025-01-14T18:30:36.701Z","updated_at":"2025-07-14T20:33:40.994Z","registry_url":"https://pypi.org/project/mkdocs-llmstxt/","install_command":"pip install mkdocs-llmstxt --index-url https://pypi.org/simple","documentation_url":"https://pawamoy.github.io/mkdocs-llmstxt","metadata":{"funding":"https://github.com/sponsors/pawamoy","documentation":"https://pawamoy.github.io/mkdocs-llmstxt","classifiers":["Development Status :: 4 - Beta","Intended Audience :: Developers","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: Python :: 3.9","Topic :: Documentation","Topic :: Software Development","Topic :: Utilities","Typing :: Typed"],"normalized_name":"mkdocs-llmstxt"},"repo_metadata":{"id":272488684,"uuid":"916767734","full_name":"pawamoy/mkdocs-llmstxt","owner":"pawamoy","description":"MkDocs plugin to generate an /llms.txt file (https://llmstxt.org/).","archived":false,"fork":false,"pushed_at":"2025-07-08T16:23:04.000Z","size":679,"stargazers_count":54,"open_issues_count":6,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-08T17:35:00.176Z","etag":null,"topics":["llms","llmstxt","mkdocs"],"latest_commit_sha":null,"homepage":"https://pawamoy.github.io/mkdocs-llmstxt/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pawamoy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"pawamoy","polar":"pawamoy"}},"created_at":"2025-01-14T18:14:38.000Z","updated_at":"2025-07-08T16:23:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"85b18a70-f80b-4dce-9098-1fcf90e1a2bb","html_url":"https://github.com/pawamoy/mkdocs-llmstxt","commit_stats":null,"previous_names":["pawamoy/mkdocs-llmstxt"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/pawamoy/mkdocs-llmstxt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmkdocs-llmstxt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmkdocs-llmstxt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmkdocs-llmstxt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmkdocs-llmstxt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pawamoy","download_url":"https://codeload.github.com/pawamoy/mkdocs-llmstxt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmkdocs-llmstxt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265344831,"owners_count":23750566,"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","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"},"owner_record":{"login":"pawamoy","name":"Timothée Mazzucotelli","uuid":"3999221","kind":"user","description":"I like green lemon :man_shrugging: ","email":"","website":"http://pawamoy.github.io/","location":"France","twitter":"pawamoy","company":"@pawamoy-insiders ","icon_url":"https://avatars.githubusercontent.com/u/3999221?u=b030e4c89df2f3a36bc4710b925bdeb6745c9856\u0026v=4","repositories_count":178,"last_synced_at":"2025-07-08T19:09:00.561Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/pawamoy","funding_links":["https://github.com/sponsors/pawamoy"],"total_stars":2260,"followers":542,"following":267,"created_at":"2022-11-10T00:55:45.196Z","updated_at":"2025-07-08T19:09:00.562Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pawamoy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pawamoy/repositories"},"tags":[{"name":"0.2.0","sha":"d593df7efa1c03520d53915477b888a52d9f756a","kind":"commit","published_at":"2025-04-08T13:18:32.000Z","download_url":"https://codeload.github.com/pawamoy/mkdocs-llmstxt/tar.gz/0.2.0","html_url":"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pawamoy/mkdocs-llmstxt@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmkdocs-llmstxt/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmkdocs-llmstxt/tags/0.2.0/manifests"},{"name":"0.1.0","sha":"54e077267479c144d55ac9b18ee3288e33103f2e","kind":"commit","published_at":"2025-01-14T18:14:57.000Z","download_url":"https://codeload.github.com/pawamoy/mkdocs-llmstxt/tar.gz/0.1.0","html_url":"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pawamoy/mkdocs-llmstxt@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmkdocs-llmstxt/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmkdocs-llmstxt/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-07-14T20:33:40.994Z","dependent_packages_count":0,"downloads":27326,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":54.9783420977628,"dependent_packages_count":9.766727323409013,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":32.3725347105859},"purl":"pkg:pypi/mkdocs-llmstxt","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/mkdocs-llmstxt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/mkdocs-llmstxt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/mkdocs-llmstxt/dependencies","status":null,"funding_links":["https://github.com/sponsors/pawamoy","https://polar.sh/pawamoy"],"critical":null,"issue_metadata":{"last_synced_at":"2025-06-29T08:59:43.727Z","issues_count":8,"pull_requests_count":3,"avg_time_to_close_issue":1099787.0,"avg_time_to_close_pull_request":1895857.0,"issues_closed_count":3,"pull_requests_closed_count":1,"pull_request_authors_count":3,"issue_authors_count":6,"avg_comments_per_issue":3.0,"avg_comments_per_pull_request":12.0,"merged_pull_requests_count":1,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":8,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":1099787.0,"past_year_avg_time_to_close_pull_request":1895857.0,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":3.0,"past_year_avg_comments_per_pull_request":12.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmkdocs-llmstxt/issues","maintainers":[{"login":"pawamoy","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pawamoy"}],"active_maintainers":[{"login":"pawamoy","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pawamoy"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mkdocs-llmstxt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mkdocs-llmstxt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mkdocs-llmstxt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mkdocs-llmstxt/related_packages","maintainers":[{"uuid":"pawamoy","login":"pawamoy","name":null,"email":null,"url":null,"packages_count":77,"html_url":"https://pypi.org/user/pawamoy/","role":"Owner","created_at":"2025-01-18T00:39:16.323Z","updated_at":"2025-01-18T00:39:16.323Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/pawamoy/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":706267,"maintainers_count":299794,"namespaces_count":0,"keywords_count":232450,"github":"pypi","metadata":{"funded_packages_count":49560},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-07-16T05:10:55.068Z","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":10,"unique_repositories_count_past_30_days":3,"recent_issues":[{"uuid":"3760200709","node_id":"PR_kwDOQNF0us66eXA3","number":14,"state":"open","title":"⬆(deps): Bump the python-dependencies group across 1 directory with 20 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-24T12:22:51.000Z","updated_at":"2025-12-24T12:22:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆(deps): Bump","group_name":"python-dependencies","update_count":20,"packages":[{"name":"fastapi","old_version":"0.119.1","new_version":"0.127.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"python-multipart","old_version":"0.0.20","new_version":"0.0.21","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"greenlet","old_version":"3.2.4","new_version":"3.3.0","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"sqlmodel","old_version":"0.0.27","new_version":"0.0.29","repository_url":"https://github.com/fastapi/sqlmodel"},{"name":"authlib","old_version":"1.6.5","new_version":"1.6.6","repository_url":"https://github.com/authlib/authlib"},{"name":"rust-just","old_version":"1.43.0","new_version":"1.45.0","repository_url":"https://github.com/gnpaone/rust-just"},{"name":"uvicorn","old_version":"0.38.0","new_version":"0.40.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"typer","old_version":"0.20.0","new_version":"0.20.1","repository_url":"https://github.com/fastapi/typer"},{"name":"pyrefly","old_version":"0.38.2","new_version":"0.46.1","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.14.1","new_version":"0.14.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.1a23","new_version":"0.0.6","repository_url":"https://github.com/astral-sh/ty"},{"name":"types-markdown","old_version":"3.9.0.20250906","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typos","old_version":"1.38.1","new_version":"1.40.0","repository_url":"https://github.com/crate-ci/typos"},{"name":"aiosqlite","old_version":"0.21.0","new_version":"0.22.1","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"diff-cover","old_version":"9.7.1","new_version":"10.0.0","repository_url":"https://github.com/Bachmann1234/diff-cover"},{"name":"pytest-benchmark","old_version":"5.1.0","new_version":"5.2.3","repository_url":"https://github.com/ionelmc/pytest-benchmark"},{"name":"mkdocs-llmstxt","old_version":"0.4.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"},{"name":"mkdocstrings-python","old_version":"1.18.2","new_version":"2.0.1","repository_url":"https://github.com/mkdocstrings/python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.119.1` | `0.127.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.20` | `0.0.21` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.4` | `3.3.0` |\n| [sqlmodel](https://github.com/fastapi/sqlmodel) | `0.0.27` | `0.0.29` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.5` | `1.6.6` |\n| [rust-just](https://github.com/gnpaone/rust-just) | `1.43.0` | `1.45.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.38.0` | `0.40.0` |\n| [typer](https://github.com/fastapi/typer) | `0.20.0` | `0.20.1` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.38.2` | `0.46.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.1` | `0.14.10` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a23` | `0.0.6` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.9.0.20250906` | `3.10.0.20251106` |\n| [typos](https://github.com/crate-ci/typos) | `1.38.1` | `1.40.0` |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.21.0` | `0.22.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.2` |\n| [diff-cover](https://github.com/Bachmann1234/diff-cover) | `9.7.1` | `10.0.0` |\n| [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) | `5.1.0` | `5.2.3` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.4.0` | `0.5.0` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `1.18.2` | `2.0.1` |\n\n\nUpdates `fastapi` from 0.119.1 to 0.127.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.127.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add deprecation warnings when using \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14583\"\u003e#14583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Korean, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14546\"\u003e#14546\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Japanese, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14545\"\u003e#14545\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Upgrade OpenAI model for translations to gpt-5.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14579\"\u003e#14579\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.126.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14575\"\u003e#14575\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThe minimum version of Pydantic installed is now \u003ccode\u003epydantic \u0026gt;=2.7.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003estandard\u003c/code\u003e dependencies now include \u003ccode\u003epydantic-settings \u0026gt;=2.0.0\u003c/code\u003e and \u003ccode\u003epydantic-extra-types \u0026gt;=2.0.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Fix duplicated variable in \u003ccode\u003edocs_src/python_types/tutorial005_py39.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14565\"\u003e#14565\u003c/a\u003e by \u003ca href=\"https://github.com/paras-verma7454\"\u003e\u003ccode\u003e@​paras-verma7454\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Ukrainian, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14548\"\u003e#14548\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Tweak pre-commit to allow committing release-notes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14577\"\u003e#14577\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆️ Use prek as a pre-commit alternative. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14572\"\u003e#14572\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Add performance tests with CodSpeed. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14558\"\u003e#14558\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.125.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Drop support for Python 3.8. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14563\"\u003e#14563\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThis would actually not be a \u003cem\u003ebreaking\u003c/em\u003e change as no code would really break. Any Python 3.8 installer would just refuse to install the latest version of FastAPI and would only install 0.124.4. Only marking it as a \u0026quot;breaking change\u0026quot; to make it visible.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Upgrade internal syntax to Python 3.9+ 🎉. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14564\"\u003e#14564\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚰️ Remove Python 3.8 from CI and remove Python 3.8 examples from source docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14559\"\u003e#14559\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\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/fastapi/fastapi/commit/c4a1ab503635918938e3741d1fb6f2fff73dc1d3\"\u003e\u003ccode\u003ec4a1ab5\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.127.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/22c7200ebb9a7cfb3f938985fba55bd557faa4ec\"\u003e\u003ccode\u003e22c7200\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6e42bcd8ce2ade33d94f478310dad20ee84f8f0f\"\u003e\u003ccode\u003e6e42bcd\u003c/code\u003e\u003c/a\u003e 🔊 Add deprecation warnings when using \u003ccode\u003epydantic.v1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14583\"\u003e#14583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6513d4daa16a536d17743de6a292f49bd06388a4\"\u003e\u003ccode\u003e6513d4d\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1d93d531bc950ae880679e2e365fb6d7e028d106\"\u003e\u003ccode\u003e1d93d53\u003c/code\u003e\u003c/a\u003e ⬆️ Upgrade OpenAI model for translations to gpt-5.2 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14579\"\u003e#14579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c2c1cc8aec83e713326842dffacd0e38a6ff24c2\"\u003e\u003ccode\u003ec2c1cc8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/52892592753333c89076616824e3fe23181d65b6\"\u003e\u003ccode\u003e5289259\u003c/code\u003e\u003c/a\u003e 🔧 Add LLM prompt file for Korean, generated from the existing translations (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5783910d0c0fc8a3da8fff793b681121c61efb4a\"\u003e\u003ccode\u003e5783910\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/026b43e5d3008c86cbf6f1a76ba471276418413c\"\u003e\u003ccode\u003e026b43e\u003c/code\u003e\u003c/a\u003e 🔧 Add LLM prompt file for Japanese, generated from the existing translations ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6b591ddd7e16727c57be1dad153b49ad9741a863\"\u003e\u003ccode\u003e6b591dd\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.119.1...0.127.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.20 to 0.0.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003eKludex/python-multipart#216\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/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/203\"\u003eKludex/python-multipart#203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\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/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.21 (2025-12-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003e#216\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/Kludex/python-multipart/commit/1f72955602445706b5517a6f58a720796ad3d96a\"\u003e\u003ccode\u003e1f72955\u003c/code\u003e\u003c/a\u003e Version 0.0.21 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/217\"\u003e#217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/47ecfed3533ed8dcafd800508dbf594438fd0949\"\u003e\u003ccode\u003e47ecfed\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop EOL 3.8 and 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/216\"\u003e#216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/f18b70941b727c947f7e6b17e1c3321f5ad3afb6\"\u003e\u003ccode\u003ef18b709\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/214\"\u003e#214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b388e9a7a82605cc8613798926afe8f6074cb372\"\u003e\u003ccode\u003eb388e9a\u003c/code\u003e\u003c/a\u003e chore: use depedency-groups in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/212\"\u003e#212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/6113e750971918a51f79c3bb2585e95ed1c53245\"\u003e\u003ccode\u003e6113e75\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/7aa8d9932b6b20c0a1969e672433044e27a3fbc1\"\u003e\u003ccode\u003e7aa8d99\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.8.0 to 0.11.7 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/203\"\u003e#203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/3e909f52a774365b8817a52d4312db4ba8061d07\"\u003e\u003ccode\u003e3e909f5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/198\"\u003e#198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.2.4 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.0 (2025-12-04)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitch to distributing manylinux_2_28 wheels instead of\nmanylinux2014 wheels. Likewise, switch from musllinux_1_1 to 1_2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd initial support for free-threaded builds of CPython 3.14. Due to\nlimitations, we do not distribute binary wheels for free-threaded\nCPython on Windows. (Free-threaded CPython 3.13 may work, but is\nuntested and unsupported.)\u003c/p\u003e\n\u003cp\u003e.. caution::\u003c/p\u003e\n\u003cp\u003eUnder some rare scenarios with free-threaded 3.14, the\ninterpreter may crash on accessing a variable or attribute or\nwhen shutting down. If this happens, try disabling the\nthread-local bytecode cache. See the greenlet documentation for\nmore details. See \u003ccode\u003ePR 472 by T. Wouters \u0026lt;https://github.com/python-greenlet/greenlet/pull/472\u0026gt;\u003c/code\u003e_ for the\ninitial free-threaded support and a discussion of the current\nknown issues.\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/python-greenlet/greenlet/commit/0f904314e2fe11835bdff9d928f9f039116aebff\"\u003e\u003ccode\u003e0f90431\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/296058a43da5a76c2406a91aa998413b93537940\"\u003e\u003ccode\u003e296058a\u003c/code\u003e\u003c/a\u003e Tweak changelog. [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d4392ab171036bf73cc64ed47109e0d2e1f41275\"\u003e\u003ccode\u003ed4392ab\u003c/code\u003e\u003c/a\u003e fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/e6fead23d967fd6194c5a1eaa48d55a07b4bda40\"\u003e\u003ccode\u003ee6fead2\u003c/code\u003e\u003c/a\u003e Update docs regarding free-threading.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d5b134610187f94a641e0cf40be56992c8e9f667\"\u003e\u003ccode\u003ed5b1346\u003c/code\u003e\u003c/a\u003e 3.14: Save/restore PyInterpreterFrame.stackpointer.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b54c4bdaaade13139d54005df51a9d21df5db7c4\"\u003e\u003ccode\u003eb54c4bd\u003c/code\u003e\u003c/a\u003e Fix some crashes with CPython assertions enabled, pointing to things we were ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/47e99259263968560422c9b69bc8c50f9068cf87\"\u003e\u003ccode\u003e47e9925\u003c/code\u003e\u003c/a\u003e Add a test that we're not enabling the GIL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/0778d50792888afa043c8a368085358c3fea0146\"\u003e\u003ccode\u003e0778d50\u003c/code\u003e\u003c/a\u003e Use our Python allocator on free-threaded builds, but do it correctly with Py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5f661f4f5a023438e944d36e4f255c7a706ae998\"\u003e\u003ccode\u003e5f661f4\u003c/code\u003e\u003c/a\u003e Add free-threaded CI builds and manylinux builds; update manylinux away from ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5331b0ad33a7380b91d8a9849f61aa61b7b1ade2\"\u003e\u003ccode\u003e5331b0a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/475\"\u003e#475\u003c/a\u003e from clin1234/capi\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.2.4...3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlmodel` from 0.0.27 to 0.0.29\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/sqlmodel/releases\"\u003esqlmodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.29\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003ealias\u003c/code\u003e support for Pydantic v2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1577\"\u003e#1577\u003c/a\u003e by \u003ca href=\"https://github.com/ravishan16\"\u003e\u003ccode\u003e@​ravishan16\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.28\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eRuntimeError: dictionary changed size during iteration\u003c/code\u003e in \u003ccode\u003esqlmodel_update()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/997\"\u003e#997\u003c/a\u003e by \u003ca href=\"https://github.com/BartSchuurmans\"\u003e\u003ccode\u003e@​BartSchuurmans\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💅 Update CSS to explicitly use emoji font. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1658\"\u003e#1658\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update link to JetBrains Python survey in \u003ccode\u003efeatures.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1627\"\u003e#1627\u003c/a\u003e by \u003ca href=\"https://github.com/sparkiegeek\"\u003e\u003ccode\u003e@​sparkiegeek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix broken links in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1601\"\u003e#1601\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📌 Pin FastAPI in tests to 0.125.0 while dropping support for Python 3.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1689\"\u003e#1689\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Configure coverage, error on main tests, don't wait for Smokeshow. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1683\"\u003e#1683\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Run Smokeshow always, even on test failures. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1682\"\u003e#1682\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.6 to 0.14.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1662\"\u003e#1662\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1656\"\u003e#1656\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.5 to 0.14.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1652\"\u003e#1652\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1655\"\u003e#1655\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1651\"\u003e#1651\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Use font Fira Code to fix display of Rich panels in docs in Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1653\"\u003e#1653\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Upgrade \u003ccode\u003elatest-changes\u003c/code\u003e GitHub Action and pin \u003ccode\u003eactions/checkout@v5\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1654\"\u003e#1654\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Upgrade Material for MkDocs and remove insiders. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1650\"\u003e#1650\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.23 to 9.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1645\"\u003e#1645\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.1 to 1.5.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1647\"\u003e#1647\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.4 to 0.14.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1646\"\u003e#1646\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1648\"\u003e#1648\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.3 to 0.14.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1640\"\u003e#1640\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1642\"\u003e#1642\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.22 to 9.6.23. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1637\"\u003e#1637\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.2 to 0.14.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1633\"\u003e#1633\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1636\"\u003e#1636\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.0 to 1.4.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1626\"\u003e#1626\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.1 to 0.14.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1616\"\u003e#1616\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1625\"\u003e#1625\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Add PEP-639 license metadata. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1624\"\u003e#1624\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump griffe-typingdoc from 0.2.9 to 0.3.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1615\"\u003e#1615\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 4 to 5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/download-artifact from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1621\"\u003e#1621\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.0 to 0.14.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1614\"\u003e#1614\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.13.2 to 0.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1592\"\u003e#1592\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1605\"\u003e#1605\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump astral-sh/setup-uv from 6 to 7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1593\"\u003e#1593\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\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/fastapi/sqlmodel/blob/main/docs/release-notes.md\"\u003esqlmodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.29\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003ealias\u003c/code\u003e support for Pydantic v2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1577\"\u003e#1577\u003c/a\u003e by \u003ca href=\"https://github.com/ravishan16\"\u003e\u003ccode\u003e@​ravishan16\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.28\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eRuntimeError: dictionary changed size during iteration\u003c/code\u003e in \u003ccode\u003esqlmodel_update()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/997\"\u003e#997\u003c/a\u003e by \u003ca href=\"https://github.com/BartSchuurmans\"\u003e\u003ccode\u003e@​BartSchuurmans\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💅 Update CSS to explicitly use emoji font. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1658\"\u003e#1658\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update link to JetBrains Python survey in \u003ccode\u003efeatures.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1627\"\u003e#1627\u003c/a\u003e by \u003ca href=\"https://github.com/sparkiegeek\"\u003e\u003ccode\u003e@​sparkiegeek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix broken links in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1601\"\u003e#1601\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📌 Pin FastAPI in tests to 0.125.0 while dropping support for Python 3.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1689\"\u003e#1689\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Configure coverage, error on main tests, don't wait for Smokeshow. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1683\"\u003e#1683\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Run Smokeshow always, even on test failures. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1682\"\u003e#1682\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.6 to 0.14.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1662\"\u003e#1662\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1656\"\u003e#1656\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.5 to 0.14.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1652\"\u003e#1652\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1655\"\u003e#1655\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1651\"\u003e#1651\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Use font Fira Code to fix display of Rich panels in docs in Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1653\"\u003e#1653\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Upgrade \u003ccode\u003elatest-changes\u003c/code\u003e GitHub Action and pin \u003ccode\u003eactions/checkout@v5\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1654\"\u003e#1654\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Upgrade Material for MkDocs and remove insiders. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1650\"\u003e#1650\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.23 to 9.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1645\"\u003e#1645\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.1 to 1.5.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1647\"\u003e#1647\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.4 to 0.14.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1646\"\u003e#1646\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1648\"\u003e#1648\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.3 to 0.14.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1640\"\u003e#1640\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1642\"\u003e#1642\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.22 to 9.6.23. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1637\"\u003e#1637\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.2 to 0.14.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1633\"\u003e#1633\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1636\"\u003e#1636\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.0 to 1.4.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1626\"\u003e#1626\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.1 to 0.14.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1616\"\u003e#1616\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1625\"\u003e#1625\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Add PEP-639 license metadata. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1624\"\u003e#1624\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump griffe-typingdoc from 0.2.9 to 0.3.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1615\"\u003e#1615\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 4 to 5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/download-artifact from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1621\"\u003e#1621\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.0 to 0.14.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1614\"\u003e#1614\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.13.2 to 0.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1592\"\u003e#1592\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\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/fastapi/sqlmodel/commit/c702e2ec3e3490fca925e66a03ad8cf9c09c5b5e\"\u003e\u003ccode\u003ec702e2e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/44e7a2d1ac54fbebefcc4ea1334e920dfc48a428\"\u003e\u003ccode\u003e44e7a2d\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/5b1d8e6e7da7cf31d5adf2696cebed338a65cfc3\"\u003e\u003ccode\u003e5b1d8e6\u003c/code\u003e\u003c/a\u003e 🐛 Fix \u003ccode\u003ealias\u003c/code\u003e support for Pydantic v2 (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1577\"\u003e#1577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/59adbe76a6b06e09bbdc815a8aea055a1885af22\"\u003e\u003ccode\u003e59adbe7\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/f8873ef1b7906ea0af8a1cdbee40264ac3691995\"\u003e\u003ccode\u003ef8873ef\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/6cec19c8dcd867d940b773d6e3f6e2dca316cb0f\"\u003e\u003ccode\u003e6cec19c\u003c/code\u003e\u003c/a\u003e 🐛 Fix \u003ccode\u003eRuntimeError: dictionary changed size during iteration\u003c/code\u003e in `sqlmodel_u...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/fb331e7ce7798cb0a7d9b2a3e934191ffabfb4a8\"\u003e\u003ccode\u003efb331e7\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/09f3b7f34cfe8a9f48c2559a288cdae5d04933d7\"\u003e\u003ccode\u003e09f3b7f\u003c/code\u003e\u003c/a\u003e 📌 Pin FastAPI in tests to 0.125.0 while dropping support for Python 3.8 (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1689\"\u003e#1689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/9262835b663a8a880f040ddd4af0f60c59c6f66a\"\u003e\u003ccode\u003e9262835\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/ba5e97d97d1807a88fc47b24ecb9cb3d04928145\"\u003e\u003ccode\u003eba5e97d\u003c/code\u003e\u003c/a\u003e 👷 Configure coverage, error on main tests, don't wait for Smokeshow (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1683\"\u003e#1683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/sqlmodel/compare/0.0.27...0.0.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.6.5 to 1.6.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/blob/main/docs/changelog.rst\"\u003eauthlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.6.6\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eReleased on Dec 12, 2025\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eget_jwt_config\u003c/code\u003e takes a \u003ccode\u003eclient\u003c/code\u003e parameter, :pr:\u003ccode\u003e844\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix incorrect signature when \u003ccode\u003eContent-Type\u003c/code\u003e is x-www-form-urlencoded for OAuth 1.0 Client, :pr:\u003ccode\u003e778\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eexpires_in\u003c/code\u003e in \u003ccode\u003eOAuth2Token\u003c/code\u003e when \u003ccode\u003eexpires_at\u003c/code\u003e is unparsable, :pr:\u003ccode\u003e842\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlways track \u003ccode\u003estate\u003c/code\u003e in session for OAuth client integrations.\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/authlib/authlib/commit/bb7a315befbad333faf9a23ef574d6e3134a6774\"\u003e\u003ccode\u003ebb7a315\u003c/code\u003e\u003c/a\u003e chore: release 1.6.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/0a423d4638bed1c0fe4597b2296a85c5bb59fba2\"\u003e\u003ccode\u003e0a423d4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/844\"\u003e#844\u003c/a\u003e from azmeuk/806-get-jwt-config-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/2808378611dd6fb2532b189a9087877d8f0c0489\"\u003e\u003ccode\u003e2808378\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/714502a4738bc29f26eb245b0c66718d8536cdda\"\u003e\u003ccode\u003e714502a\u003c/code\u003e\u003c/a\u003e feat: get_jwt_config takes a client parameter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/260d04edee23d8470057ea659c16fb8a2c7b0dc2\"\u003e\u003ccode\u003e260d04e\u003c/code\u003e\u003c/a\u003e Fix: Use \u003ccode\u003eexpires_in\u003c/code\u003e when \u003ccode\u003eexpires_at\u003c/code\u003e is unparsable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/eb37124bbbec6ccbfba3699d8960f9710d330ad8\"\u003e\u003ccode\u003eeb37124\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/778\"\u003e#778\u003c/a\u003e from shc261392/fix-httpx-oauth1-form-data-incorrect-s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/0ba9ec4feeb8e19f572c454e2d1dbbdc1d30ae62\"\u003e\u003ccode\u003e0ba9ec4\u003c/code\u003e\u003c/a\u003e docs: fix guide on requests self signed certificate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a2e9943815bb5161863b1fa144ac0aaa50d97e91\"\u003e\u003ccode\u003ea2e9943\u003c/code\u003e\u003c/a\u003e docs: indicate that \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/743\"\u003e#743\u003c/a\u003e needs a migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/06015d20652a23eff8350b6ad71b32fe41dae4ba\"\u003e\u003ccode\u003e06015d2\u003c/code\u003e\u003c/a\u003e test: factorize the token fixture\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.5...v1.6.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rust-just` from 1.43.0 to 1.45.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gnpaone/rust-just/releases\"\u003erust-just's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.45.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow requiring recipe arguments to match regular expression patterns (\u003ca href=\"https://redirect.github.com/casey/just/pull/3000\"\u003e#3000\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shell-expanded strings in attributes (\u003ca href=\"https://redirect.github.com/casey/just/pull/3007\"\u003e#3007\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix arg pattern anchoring (\u003ca href=\"https://redirect.github.com/casey/just/pull/3002\"\u003e#3002\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse non-capturing group in arg pattern regex (\u003ca href=\"https://redirect.github.com/casey/just/pull/3006\"\u003e#3006\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove redundant type annotation (\u003ca href=\"https://redirect.github.com/casey/just/pull/3004\"\u003e#3004\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.44.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly close format string delimiter (\u003ca href=\"https://redirect.github.com/casey/just/pull/2997\"\u003e#2997\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.44.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd f'{format}' strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2985\"\u003e#2985\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse double braces \u003ccode\u003e{{…}}\u003c/code\u003e for format strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2993\"\u003e#2993\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize \u003ccode\u003e[script]\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/casey/just/pull/2988\"\u003e#2988\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow newlines in interpolations and \u003ccode\u003e}\u003c/code\u003e to abut interpolation \u003ccode\u003e}}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2992\"\u003e#2992\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTest format strings with conditionals (\u003ca href=\"https://redirect.github.com/casey/just/pull/2991\"\u003e#2991\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove StringState into module (\u003ca href=\"https://redirect.github.com/casey/just/pull/2989\"\u003e#2989\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest undefined variable in format string error (\u003ca href=\"https://redirect.github.com/casey/just/pull/2987\"\u003e#2987\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003esoftprops/action-gh-release\u003c/code\u003e to 2.5.0 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2979\"\u003e#2979\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLink to \u003ccode\u003ejust-lsp\u003c/code\u003e in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/terror\"\u003eterror\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ejust --list\u003c/code\u003e submodule example in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2973\"\u003e#2973\u003c/a\u003e by \u003ca href=\"https://github.com/neodejack\"\u003eneodejack\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eactions/checkout\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2969\"\u003e#2969\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable mdbook-linkcheck (\u003ca href=\"https://redirect.github.com/casey/just/pull/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.43.1\u003c/h2\u003e\n\u003chr /\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.4.2 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2948\"\u003e#2948\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eenv()\u003c/code\u003e usage in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/laniakea64\"\u003elaniakea64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a case statement to install target dependencies (\u003ca href=\"https://redirect.github.com/casey/just/pull/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild loongarch64 release binaries (\u003ca href=\"https://redirect.github.com/casey/just/pull/2886\"\u003e#2886\u003c/a\u003e by \u003ca href=\"https://github.com/SkyBird233\"\u003eSkyBird233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release to 2.4.1 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2919\"\u003e#2919\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\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/gnpaone/rust-just/blob/master/CHANGELOG.md\"\u003erust-just's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.45.0\"\u003e1.45.0\u003c/a\u003e - 2025-12-10\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow requiring recipe arguments to match regular expression patterns (\u003ca href=\"https://redirect.github.com/casey/just/pull/3000\"\u003e#3000\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shell-expanded strings in attributes (\u003ca href=\"https://redirect.github.com/casey/just/pull/3007\"\u003e#3007\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix arg pattern anchoring (\u003ca href=\"https://redirect.github.com/casey/just/pull/3002\"\u003e#3002\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse non-capturing group in arg pattern regex (\u003ca href=\"https://redirect.github.com/casey/just/pull/3006\"\u003e#3006\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove redundant type annotation (\u003ca href=\"https://redirect.github.com/casey/just/pull/3004\"\u003e#3004\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.44.1\"\u003e1.44.1\u003c/a\u003e - 2025-12-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly close format string delimiter (\u003ca href=\"https://redirect.github.com/casey/just/pull/2997\"\u003e#2997\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.44.0\"\u003e1.44.0\u003c/a\u003e - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd f'{format}' strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2985\"\u003e#2985\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse double braces \u003ccode\u003e{{…}}\u003c/code\u003e for format strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2993\"\u003e#2993\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize \u003ccode\u003e[script]\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/casey/just/pull/2988\"\u003e#2988\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow newlines in interpolations and \u003ccode\u003e}\u003c/code\u003e to abut interpolation \u003ccode\u003e}}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2992\"\u003e#2992\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTest format strings with conditionals (\u003ca href=\"https://redirect.github.com/casey/just/pull/2991\"\u003e#2991\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove StringState into module (\u003ca href=\"https://redirect.github.com/casey/just/pull/2989\"\u003e#2989\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest undefined variable in format string error (\u003ca href=\"https://redirect.github.com/casey/just/pull/2987\"\u003e#2987\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003esoftprops/action-gh-release\u003c/code\u003e to 2.5.0 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2979\"\u003e#2979\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLink to \u003ccode\u003ejust-lsp\u003c/code\u003e in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/terror\"\u003eterror\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ejust --list\u003c/code\u003e submodule example in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2973\"\u003e#2973\u003c/a\u003e by \u003ca href=\"https://github.com/neodejack\"\u003eneodejack\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eactions/checkout\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2969\"\u003e#2969\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable mdbook-linkcheck (\u003ca href=\"https://redirect.github.com/casey/just/pull/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.43.1\"\u003e1.43.1\u003c/a\u003e - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\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/gnpaone/rust-just/commit/f803a029b8705061ccc0001511bf9ae95a856524\"\u003e\u003ccode\u003ef803a02\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/323\"\u003e#323\u003c/a\u003e from gnpaone/sync-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/6e01055f8ca5549c0ac7813368e2b1def14159a4\"\u003e\u003ccode\u003e6e01055\u003c/code\u003e\u003c/a\u003e chore: sync files from source repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/3962d493c9d72d256b08282a233bce1ac1022f3c\"\u003e\u003ccode\u003e3962d49\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/321\"\u003e#321\u003c/a\u003e from gnpaone/sync-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/1cf94eec87e2a04bf84cbdb8a5f6fa020c25dd1b\"\u003e\u003ccode\u003e1cf94ee\u003c/code\u003e\u003c/a\u003e chore: sync files from source repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/8b375bb7f30df6b54a95f5b8d2251e48081d5211\"\u003e\u003ccode\u003e8b375bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/320\"\u003e#320\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/cb6aebeea359de4e5e206b6f31ab60db2fe37bdd\"\u003e\u003ccode\u003ecb6aebe\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/33b136fc083a31b286a60f465770253053a1d227\"\u003e\u003ccode\u003e33b136f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/319\"\u003e#319\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/08074daad71238a7dce32b2edc650a5a2aa87d62\"\u003e\u003ccode\u003e08074da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/318\"\u003e#318\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/af30384590bd237de9efddb00daafd4509ee0b07\"\u003e\u003ccode\u003eaf30384\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/a7a521af2746586d83be5531bf8f3dc4518f1d03\"\u003e\u003ccode\u003ea7a521a\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gnpaone/rust-just/compare/1.43.0...1.45.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.38.0 to 0.40.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.40.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2772\"\u003eKludex/uvicorn#2772\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.39.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eexplicitly start ASGI run with empty context by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(websockets): Send close frame on ASGI return by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2769\"\u003eKludex/uvicorn#2769\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/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.38.0...0.39.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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.40.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eRemove\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.39.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSend close frame on ASGI return for WebSockets (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\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/Kludex/uvicorn/commit/9ff60042a53cd1bbfd5580ab0a91ea2d1d8f2f8c\"\u003e\u003ccode\u003e9ff6004\u003c/code\u003e\u003c/a\u003e Version 0.40.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2773\"\u003e#2773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/19df042c54c1562f058daf021d6f7bd1d5ed621c\"\u003e\u003ccode\u003e19df042\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/865ce7c0b4329a384273a6628eceb8d597989521\"\u003e\u003ccode\u003e865ce7c\u003c/code\u003e\u003c/a\u003e Run strict mypy on test suite (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2771\"\u003e#2771\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4f40b8495772eb3a1ab3613ffd7be5156f8e1389\"\u003e\u003ccode\u003e4f40b84\u003c/code\u003e\u003c/a\u003e Version 0.39.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2770\"\u003e#2770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5692dfc416f9e65aee5028e55d119313d8d3ab0f\"\u003e\u003ccode\u003e5692dfc\u003c/code\u003e\u003c/a\u003e fix(websockets): Send close frame on ASGI return (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4194764a26824e5d8ddd1fa673df78dff82966e0\"\u003e\u003ccode\u003e4194764\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/d94bf28743de545d2d4b150f022203a5178cb705\"\u003e\u003ccode\u003ed94bf28\u003c/code\u003e\u003c/a\u003e explicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8ae0bcbecb0a655789abf0c2dd4200848fc68a30\"\u003e\u003ccode\u003e8ae0bcb\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2748\"\u003e#2748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4744ff9a1a4888c76ea160328cc9dcc2680c2c71\"\u003e\u003ccode\u003e4744ff9\u003c/code\u003e\u003c/a\u003e Add groups configuration for GitHub Actions (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2747\"\u003e#2747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/0391372376c264604a0475b0864bcbf3a8705352\"\u003e\u003ccode\u003e0391372\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.8.0 to 7.1.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2746\"\u003e#2746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.20.0 to 0.20.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.20.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for standard tracebacks via the env \u003ccode\u003eTYPER_STANDARD_TRACEBACK\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1299\"\u003e#1299\u003c/a\u003e by \u003ca href=\"https://github.com/colin-nolan\"\u003e\u003ccode\u003e@​colin-nolan\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003eoptions_metavar\u003c/code\u003e is passed through correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/816\"\u003e#816\u003c/a\u003e by \u003ca href=\"https://github.com/gar1t\"\u003e\u003ccode\u003e@​gar1t\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Ensure an optional argument is shown in brackets, even when \u003ccode\u003emetavar\u003c/code\u003e is set. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1409\"\u003e#1409\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Ensure that the default \u003ccode\u003erich_markup_mode\u003c/code\u003e is interpreted correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1304\"\u003e#1304\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Refactor the handling of \u003ccode\u003eshellingham\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1347\"\u003e#1347\u003c/a\u003e by \u003ca href=\"https://github.com/nathanjmcdougall\"\u003e\u003ccode\u003e@​nathanjmcdougall\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Ensure that bold letters are rendered correctly in \u003ccode\u003eprinting.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1365\"\u003e#1365\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🩺 Update test badge to only reflect pushes to \u003ccode\u003emaster\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1414\"\u003e#1414\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update console output on the Rich help formatting page. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1430\"\u003e#1430\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update emoji used in Rich help formatting tutorial. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1429\"\u003e#1429\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Remove duplicate explanation how the path is resolved. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/956\"\u003e#956\u003c/a\u003e by \u003ca href=\"https://github.com/dennis-rall\"\u003e\u003ccode\u003e@​dennis-rall\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs to use \u003ccode\u003eTyper()\u003c/code\u003e more prominently. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1418\"\u003e#1418\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Use font 'Fira Code' to fix display of Rich panels in docs in Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1419\"\u003e#1419\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨  Add \u003ccode\u003e--showlocals\u003c/code\u003e to \u003ccode\u003etest.sh\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1169\"\u003e#1169\u003c/a\u003e by \u003ca href=\"https://github.com/rickwporter\"\u003e\u003ccode\u003e@​rickwporter\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.6 to 0.14.8. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1436\"\u003e#1436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1434\"\u003e#1434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Update tests to use \u003ccode\u003emod.app\u003c/code\u003e . PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1427\"\u003e#1427\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1426\"\u003e#1426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1425\"\u003e#1425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.5 to 0.14.6. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1423\"\u003e#1423\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1417\"\u003e#1417\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Upgrade \u003ccode\u003elatest-changes\u003c/code\u003e GitHub Action and pin \u003ccode\u003eactions/checkout@v5\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1424\"\u003e#1424\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Upgrade Material for MkDocs and remove insiders. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1416\"\u003e#1416\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.23 to 9.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1404\"\u003e#1404\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.1 to 1.5.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1406\"\u003e#1406\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.4 to 0.14.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1407\"\u003e#1407\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1413\"\u003e#1413\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.3 to 0.14.4. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1402\"\u003e#1402\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1403\"\u003e#1403\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.2 to 0.14.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1396\"\u003e#1396\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1399\"\u003e#1399\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.22 to 9.6.23. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1398\"\u003e#1398\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1394\"\u003e#1394\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.1 to 0.14.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1383\"\u003e#1383\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 4 to 5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1388\"\u003e#1388\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.0 to 1.4.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1389\"\u003e#1389\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\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/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.20.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for standard tracebacks via the env \u003ccode\u003eTYPER_STANDARD_TRACEBACK\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1299\"\u003e#1299\u003c/a\u003e by \u003ca href=\"https://github.com/colin-nolan\"\u003e\u003ccode\u003e@​colin-nolan\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003eoptions_metavar\u003c/code\u003e is passed through correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/816\"\u003e#816\u003c/a\u003e by \u003ca href=\"https://github.com/gar1t\"\u003e\u003ccode\u003e@​gar1t\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Ensure an optional argument is shown in brackets, even when \u003ccode\u003emetavar\u003c/code\u003e is set. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1409\"\u003e#1409\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Ensure that the default \u003ccode\u003erich_markup_mode\u003c/code\u003e is interpreted correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1304\"\u003e#1304\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Refactor the handling of \u003ccode\u003eshellingham\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1347\"\u003e#1347\u003c/a\u003e by \u003ca href=\"https://github.com/nathanjmcdougall\"\u003e\u003ccode\u003e@​nathanjmcdougall\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Ensure that bold letters are rendered correctly in \u003ccode\u003eprinting.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1365\"\u003e#1365\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🩺 Update test badge to only reflect pushes to \u003ccode\u003emaster\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1414\"\u003e#1414\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update console output on the Rich help formatting page. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1430\"\u003e#1430\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update emoji used in Rich help formatting tutorial. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1429\"\u003e#1429\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Remove duplicate explanation how the path is resolved. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/956\"\u003e#956\u003c/a\u003e by \u003ca href=\"https://github.com/dennis-rall\"\u003e\u003ccode\u003e@​dennis-rall\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs to use \u003ccode\u003eTyper()\u003c/code\u003e more prominently. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1418\"\u003e#1418\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Use font 'Fira Code' to fix display of Rich panels in docs in Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1419\"\u003e#1419\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨  Add \u003ccode\u003e--showlocals\u003c/code\u003e to \u003ccode\u003etest.sh\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1169\"\u003e#1169\u003c/a\u003e by \u003ca href=\"https://github.com/rickwporter\"\u003e\u003ccode\u003e@​rickwporter\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.6 to 0.14.8. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1436\"\u003e#1436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1434\"\u003e#1434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Update tests to use \u003ccode\u003emod.app\u003c/code\u003e . PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1427\"\u003e#1427\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1426\"\u003e#1426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1425\"\u003e#1425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.5 to 0.14.6. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1423\"\u003e#1423\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​depe...\n\n_Description has been truncated_","html_url":"https://github.com/charles-alchemcy/air/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/charles-alchemcy%2Fair/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"3735499594","node_id":"PR_kwDODTo4k865MN7f","number":7821,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.2.0 to 0.5.0","user":"dependabot[bot]","labels":["dependencies","internal","size/XS","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-16T16:28:46.000Z","updated_at":"2025-12-16T16:46:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.2.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.2.0 to 0.5.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.1\"\u003e0.3.1\u003c/a\u003e - 2025-08-05\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.0...0.3.1\"\u003eCompare with 0.3.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve user-defined ordering of pages (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/1359e250e675f7742d18f9641136fccc26199773\"\u003e1359e25\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/21\"\u003eIssue-21\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.0\"\u003e0.3.0\u003c/a\u003e - 2025-07-14\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.2.0...0.3.0\"\u003eCompare with 0.2.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport file descriptions (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/33f64b306199218dbb34cd796e59113388a6c26c\"\u003e33f64b3\u003c/a\u003e by Logan). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/6\"\u003eIssue-6\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/8\"\u003ePR-8\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport formatting Markdown tables (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/f1fc8757dcab95af7b645331ddc5f1f01888bc88\"\u003ef1fc875\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/13\"\u003eIssue-13\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.1\"\u003e0.3.1\u003c/a\u003e - 2025-08-05\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.0...0.3.1\"\u003eCompare with 0.3.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve user-defined ordering of pages (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/1359e250e675f7742d18f9641136fccc26199773\"\u003e1359e25\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/21\"\u003eIssue-21\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.0\"\u003e0.3.0\u003c/a\u003e - 2025-07-14\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.2.0...0.3.0\"\u003eCompare with 0.2.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport file descriptions (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/33f64b306199218dbb34cd796e59113388a6c26c\"\u003e33f64b3\u003c/a\u003e by Logan). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/6\"\u003eIssue-6\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/8\"\u003ePR-8\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport formatting Markdown tables (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/f1fc8757dcab95af7b645331ddc5f1f01888bc88\"\u003ef1fc875\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/13\"\u003eIssue-13\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/pawamoy/mkdocs-llmstxt/commit/8968edfb0e66c56e60072f0da74d37c2dc78d8ef\"\u003e\u003ccode\u003e8968edf\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/cc414163f69857d9b01ff1c0cfcb2099c7fd754f\"\u003e\u003ccode\u003ecc41416\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e\u003ccode\u003e52e0318\u003c/code\u003e\u003c/a\u003e feat: Resolve relative links to absolute ones, link to generated Markdown files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/71c7df2c3bd4bc298bc6315676952ce67698b3d4\"\u003e\u003ccode\u003e71c7df2\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/1359e250e675f7742d18f9641136fccc26199773\"\u003e\u003ccode\u003e1359e25\u003c/code\u003e\u003c/a\u003e fix: Preserve user-defined ordering of pages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.2.0...0.5.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.2.0\u0026new-version=0.5.0)](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/aws-powertools/powertools-lambda-python/pull/7821","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7821","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7821/packages"},{"uuid":"3723259188","node_id":"PR_kwDOQNF0us64jxgI","number":10,"state":"closed","title":"⬆(deps): Bump the python-dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-12-15T12:33:49.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-12T12:30:08.000Z","updated_at":"2025-12-15T12:33:51.000Z","time_to_close":259421,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆(deps): Bump","group_name":"python-dependencies","update_count":15,"packages":[{"name":"fastapi","old_version":"0.119.1","new_version":"0.124.2","repository_url":"https://github.com/fastapi/fastapi"},{"name":"greenlet","old_version":"3.2.4","new_version":"3.3.0","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"authlib","old_version":"1.6.5","new_version":"1.6.6","repository_url":"https://github.com/authlib/authlib"},{"name":"rust-just","old_version":"1.43.0","new_version":"1.45.0","repository_url":"https://github.com/gnpaone/rust-just"},{"name":"pyrefly","old_version":"0.38.2","new_version":"0.45.2","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.14.1","new_version":"0.14.9","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.1a23","new_version":"0.0.1a33","repository_url":"https://github.com/astral-sh/ty"},{"name":"types-markdown","old_version":"3.9.0.20250906","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typos","old_version":"1.38.1","new_version":"1.40.0","repository_url":"https://github.com/crate-ci/typos"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"diff-cover","old_version":"9.7.1","new_version":"10.0.0","repository_url":"https://github.com/Bachmann1234/diff-cover"},{"name":"pytest-benchmark","old_version":"5.1.0","new_version":"5.2.3","repository_url":"https://github.com/ionelmc/pytest-benchmark"},{"name":"mkdocs-llmstxt","old_version":"0.4.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"},{"name":"mkdocstrings-python","old_version":"1.18.2","new_version":"2.0.1","repository_url":"https://github.com/mkdocstrings/python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.119.1` | `0.124.2` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.4` | `3.3.0` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.5` | `1.6.6` |\n| [rust-just](https://github.com/gnpaone/rust-just) | `1.43.0` | `1.45.0` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.38.2` | `0.45.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.1` | `0.14.9` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a23` | `0.0.1a33` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.9.0.20250906` | `3.10.0.20251106` |\n| [typos](https://github.com/crate-ci/typos) | `1.38.1` | `1.40.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.2` |\n| [diff-cover](https://github.com/Bachmann1234/diff-cover) | `9.7.1` | `10.0.0` |\n| [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) | `5.1.0` | `5.2.3` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.4.0` | `0.5.0` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `1.18.2` | `2.0.1` |\n\n\nUpdates `fastapi` from 0.119.1 to 0.124.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.124.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix support for \u003ccode\u003eif TYPE_CHECKING\u003c/code\u003e,  non-evaluated stringified annotations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14485\"\u003e#14485\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix handling arbitrary types when using \u003ccode\u003earbitrary_types_allowed=True\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14482\"\u003e#14482\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add variants for code examples in \u0026quot;Advanced User Guide\u0026quot;. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14413\"\u003e#14413\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update tech stack in project generation docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14472\"\u003e#14472\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Add test for Pydantic v2, dataclasses, UUID, and \u003ccode\u003e__annotations__\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14477\"\u003e#14477\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸  Improve tracebacks by adding endpoint metadata. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14306\"\u003e#14306\u003c/a\u003e by \u003ca href=\"https://github.com/savannahostrowski\"\u003e\u003ccode\u003e@​savannahostrowski\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typo in \u003ccode\u003escripts/mkdocs_hooks.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14457\"\u003e#14457\u003c/a\u003e by \u003ca href=\"https://github.com/yujiteshima\"\u003e\u003ccode\u003e@​yujiteshima\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.10\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix using class (not instance) dependency that has \u003ccode\u003e__call__\u003c/code\u003e method. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14458\"\u003e#14458\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eseparate_input_output_schemas=False\u003c/code\u003e with \u003ccode\u003ecomputed_field\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14453\"\u003e#14453\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.9\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency with scopes, sub-dependency security scheme without scopes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14459\"\u003e#14459\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.8\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix OpenAPI security scheme OAuth2 scopes declaration, deduplicate security schemes with different scopes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14455\"\u003e#14455\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.7\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix evaluating stringified annotations in Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/11355\"\u003e#11355\u003c/a\u003e by \u003ca href=\"https://github.com/chaen\"\u003e\u003ccode\u003e@​chaen\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.6\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7b0b915749582206025f306924e6a7bf86041a13\"\u003e\u003ccode\u003e7b0b915\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.124.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/96bdde376f900d3c32c9e57f7cc16930fb29aa5e\"\u003e\u003ccode\u003e96bdde3\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7ba042e069ad424a584a37f1db03887798d9af80\"\u003e\u003ccode\u003e7ba042e\u003c/code\u003e\u003c/a\u003e 🐛 Fix support for \u003ccode\u003eif TYPE_CHECKING\u003c/code\u003e,  non-evaluated stringified annotations ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/60699f306b67dc1f4918ebea17f04d7a48cda645\"\u003e\u003ccode\u003e60699f3\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.124.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ae7af59c6d5921a3c700a9595788a444975a9d8c\"\u003e\u003ccode\u003eae7af59\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/42b250d14dd42d3c0c24dd085fa53878172a985f\"\u003e\u003ccode\u003e42b250d\u003c/code\u003e\u003c/a\u003e 🐛 Fix handling arbitrary types when using \u003ccode\u003earbitrary_types_allowed=True\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14\"\u003e#14\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/71a17b5932e38bcf798fcd05c5bb384e6d4db5bf\"\u003e\u003ccode\u003e71a17b5\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9475024640f2e204944c5aa2cd9c67a8826189d9\"\u003e\u003ccode\u003e9475024\u003c/code\u003e\u003c/a\u003e 📝 Add variants for code examples in \u0026quot;Advanced User Guide\u0026quot; (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14413\"\u003e#14413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5b28a04d550d95ef0061f41f5a5dcfe36045e8c8\"\u003e\u003ccode\u003e5b28a04\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8cedb742cb59f72a752bb0a6b4f73c02aeb15bf6\"\u003e\u003ccode\u003e8cedb74\u003c/code\u003e\u003c/a\u003e ✅ Add test for Pydantic v2, dataclasses, UUID, and \u003ccode\u003e__annotations__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14477\"\u003e#14477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.119.1...0.124.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.2.4 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.0 (2025-12-04)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitch to distributing manylinux_2_28 wheels instead of\nmanylinux2014 wheels. Likewise, switch from musllinux_1_1 to 1_2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd initial support for free-threaded builds of CPython 3.14. Due to\nlimitations, we do not distribute binary wheels for free-threaded\nCPython on Windows. (Free-threaded CPython 3.13 may work, but is\nuntested and unsupported.)\u003c/p\u003e\n\u003cp\u003e.. caution::\u003c/p\u003e\n\u003cp\u003eUnder some rare scenarios with free-threaded 3.14, the\ninterpreter may crash on accessing a variable or attribute or\nwhen shutting down. If this happens, try disabling the\nthread-local bytecode cache. See the greenlet documentation for\nmore details. See \u003ccode\u003ePR 472 by T. Wouters \u0026lt;https://github.com/python-greenlet/greenlet/pull/472\u0026gt;\u003c/code\u003e_ for the\ninitial free-threaded support and a discussion of the current\nknown issues.\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/python-greenlet/greenlet/commit/0f904314e2fe11835bdff9d928f9f039116aebff\"\u003e\u003ccode\u003e0f90431\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/296058a43da5a76c2406a91aa998413b93537940\"\u003e\u003ccode\u003e296058a\u003c/code\u003e\u003c/a\u003e Tweak changelog. [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d4392ab171036bf73cc64ed47109e0d2e1f41275\"\u003e\u003ccode\u003ed4392ab\u003c/code\u003e\u003c/a\u003e fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/e6fead23d967fd6194c5a1eaa48d55a07b4bda40\"\u003e\u003ccode\u003ee6fead2\u003c/code\u003e\u003c/a\u003e Update docs regarding free-threading.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d5b134610187f94a641e0cf40be56992c8e9f667\"\u003e\u003ccode\u003ed5b1346\u003c/code\u003e\u003c/a\u003e 3.14: Save/restore PyInterpreterFrame.stackpointer.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b54c4bdaaade13139d54005df51a9d21df5db7c4\"\u003e\u003ccode\u003eb54c4bd\u003c/code\u003e\u003c/a\u003e Fix some crashes with CPython assertions enabled, pointing to things we were ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/47e99259263968560422c9b69bc8c50f9068cf87\"\u003e\u003ccode\u003e47e9925\u003c/code\u003e\u003c/a\u003e Add a test that we're not enabling the GIL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/0778d50792888afa043c8a368085358c3fea0146\"\u003e\u003ccode\u003e0778d50\u003c/code\u003e\u003c/a\u003e Use our Python allocator on free-threaded builds, but do it correctly with Py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5f661f4f5a023438e944d36e4f255c7a706ae998\"\u003e\u003ccode\u003e5f661f4\u003c/code\u003e\u003c/a\u003e Add free-threaded CI builds and manylinux builds; update manylinux away from ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5331b0ad33a7380b91d8a9849f61aa61b7b1ade2\"\u003e\u003ccode\u003e5331b0a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/475\"\u003e#475\u003c/a\u003e from clin1234/capi\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.2.4...3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.6.5 to 1.6.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/blob/main/docs/changelog.rst\"\u003eauthlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.6.6\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eReleased on Dec 12, 2025\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eget_jwt_config\u003c/code\u003e takes a \u003ccode\u003eclient\u003c/code\u003e parameter, :pr:\u003ccode\u003e844\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix incorrect signature when \u003ccode\u003eContent-Type\u003c/code\u003e is x-www-form-urlencoded for OAuth 1.0 Client, :pr:\u003ccode\u003e778\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eexpires_in\u003c/code\u003e in \u003ccode\u003eOAuth2Token\u003c/code\u003e when \u003ccode\u003eexpires_at\u003c/code\u003e is unparsable, :pr:\u003ccode\u003e842\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlways track \u003ccode\u003estate\u003c/code\u003e in session for OAuth client integrations.\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/authlib/authlib/commit/bb7a315befbad333faf9a23ef574d6e3134a6774\"\u003e\u003ccode\u003ebb7a315\u003c/code\u003e\u003c/a\u003e chore: release 1.6.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/0a423d4638bed1c0fe4597b2296a85c5bb59fba2\"\u003e\u003ccode\u003e0a423d4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/844\"\u003e#844\u003c/a\u003e from azmeuk/806-get-jwt-config-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/2808378611dd6fb2532b189a9087877d8f0c0489\"\u003e\u003ccode\u003e2808378\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/714502a4738bc29f26eb245b0c66718d8536cdda\"\u003e\u003ccode\u003e714502a\u003c/code\u003e\u003c/a\u003e feat: get_jwt_config takes a client parameter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/260d04edee23d8470057ea659c16fb8a2c7b0dc2\"\u003e\u003ccode\u003e260d04e\u003c/code\u003e\u003c/a\u003e Fix: Use \u003ccode\u003eexpires_in\u003c/code\u003e when \u003ccode\u003eexpires_at\u003c/code\u003e is unparsable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/eb37124bbbec6ccbfba3699d8960f9710d330ad8\"\u003e\u003ccode\u003eeb37124\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/778\"\u003e#778\u003c/a\u003e from shc261392/fix-httpx-oauth1-form-data-incorrect-s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/0ba9ec4feeb8e19f572c454e2d1dbbdc1d30ae62\"\u003e\u003ccode\u003e0ba9ec4\u003c/code\u003e\u003c/a\u003e docs: fix guide on requests self signed certificate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a2e9943815bb5161863b1fa144ac0aaa50d97e91\"\u003e\u003ccode\u003ea2e9943\u003c/code\u003e\u003c/a\u003e docs: indicate that \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/743\"\u003e#743\u003c/a\u003e needs a migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/06015d20652a23eff8350b6ad71b32fe41dae4ba\"\u003e\u003ccode\u003e06015d2\u003c/code\u003e\u003c/a\u003e test: factorize the token fixture\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.5...v1.6.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rust-just` from 1.43.0 to 1.45.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gnpaone/rust-just/releases\"\u003erust-just's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.45.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow requiring recipe arguments to match regular expression patterns (\u003ca href=\"https://redirect.github.com/casey/just/pull/3000\"\u003e#3000\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shell-expanded strings in attributes (\u003ca href=\"https://redirect.github.com/casey/just/pull/3007\"\u003e#3007\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix arg pattern anchoring (\u003ca href=\"https://redirect.github.com/casey/just/pull/3002\"\u003e#3002\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse non-capturing group in arg pattern regex (\u003ca href=\"https://redirect.github.com/casey/just/pull/3006\"\u003e#3006\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove redundant type annotation (\u003ca href=\"https://redirect.github.com/casey/just/pull/3004\"\u003e#3004\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.44.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly close format string delimiter (\u003ca href=\"https://redirect.github.com/casey/just/pull/2997\"\u003e#2997\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.44.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd f'{format}' strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2985\"\u003e#2985\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse double braces \u003ccode\u003e{{…}}\u003c/code\u003e for format strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2993\"\u003e#2993\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize \u003ccode\u003e[script]\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/casey/just/pull/2988\"\u003e#2988\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow newlines in interpolations and \u003ccode\u003e}\u003c/code\u003e to abut interpolation \u003ccode\u003e}}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2992\"\u003e#2992\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTest format strings with conditionals (\u003ca href=\"https://redirect.github.com/casey/just/pull/2991\"\u003e#2991\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove StringState into module (\u003ca href=\"https://redirect.github.com/casey/just/pull/2989\"\u003e#2989\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest undefined variable in format string error (\u003ca href=\"https://redirect.github.com/casey/just/pull/2987\"\u003e#2987\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003esoftprops/action-gh-release\u003c/code\u003e to 2.5.0 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2979\"\u003e#2979\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLink to \u003ccode\u003ejust-lsp\u003c/code\u003e in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/terror\"\u003eterror\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ejust --list\u003c/code\u003e submodule example in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2973\"\u003e#2973\u003c/a\u003e by \u003ca href=\"https://github.com/neodejack\"\u003eneodejack\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eactions/checkout\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2969\"\u003e#2969\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable mdbook-linkcheck (\u003ca href=\"https://redirect.github.com/casey/just/pull/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.43.1\u003c/h2\u003e\n\u003chr /\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.4.2 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2948\"\u003e#2948\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eenv()\u003c/code\u003e usage in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/laniakea64\"\u003elaniakea64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a case statement to install target dependencies (\u003ca href=\"https://redirect.github.com/casey/just/pull/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild loongarch64 release binaries (\u003ca href=\"https://redirect.github.com/casey/just/pull/2886\"\u003e#2886\u003c/a\u003e by \u003ca href=\"https://github.com/SkyBird233\"\u003eSkyBird233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release to 2.4.1 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2919\"\u003e#2919\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\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/gnpaone/rust-just/blob/master/CHANGELOG.md\"\u003erust-just's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.45.0\"\u003e1.45.0\u003c/a\u003e - 2025-12-10\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow requiring recipe arguments to match regular expression patterns (\u003ca href=\"https://redirect.github.com/casey/just/pull/3000\"\u003e#3000\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shell-expanded strings in attributes (\u003ca href=\"https://redirect.github.com/casey/just/pull/3007\"\u003e#3007\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix arg pattern anchoring (\u003ca href=\"https://redirect.github.com/casey/just/pull/3002\"\u003e#3002\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse non-capturing group in arg pattern regex (\u003ca href=\"https://redirect.github.com/casey/just/pull/3006\"\u003e#3006\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove redundant type annotation (\u003ca href=\"https://redirect.github.com/casey/just/pull/3004\"\u003e#3004\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.44.1\"\u003e1.44.1\u003c/a\u003e - 2025-12-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly close format string delimiter (\u003ca href=\"https://redirect.github.com/casey/just/pull/2997\"\u003e#2997\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.44.0\"\u003e1.44.0\u003c/a\u003e - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd f'{format}' strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2985\"\u003e#2985\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse double braces \u003ccode\u003e{{…}}\u003c/code\u003e for format strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2993\"\u003e#2993\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize \u003ccode\u003e[script]\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/casey/just/pull/2988\"\u003e#2988\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow newlines in interpolations and \u003ccode\u003e}\u003c/code\u003e to abut interpolation \u003ccode\u003e}}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2992\"\u003e#2992\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTest format strings with conditionals (\u003ca href=\"https://redirect.github.com/casey/just/pull/2991\"\u003e#2991\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove StringState into module (\u003ca href=\"https://redirect.github.com/casey/just/pull/2989\"\u003e#2989\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest undefined variable in format string error (\u003ca href=\"https://redirect.github.com/casey/just/pull/2987\"\u003e#2987\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003esoftprops/action-gh-release\u003c/code\u003e to 2.5.0 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2979\"\u003e#2979\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLink to \u003ccode\u003ejust-lsp\u003c/code\u003e in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/terror\"\u003eterror\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ejust --list\u003c/code\u003e submodule example in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2973\"\u003e#2973\u003c/a\u003e by \u003ca href=\"https://github.com/neodejack\"\u003eneodejack\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eactions/checkout\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2969\"\u003e#2969\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable mdbook-linkcheck (\u003ca href=\"https://redirect.github.com/casey/just/pull/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.43.1\"\u003e1.43.1\u003c/a\u003e - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\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/gnpaone/rust-just/commit/f803a029b8705061ccc0001511bf9ae95a856524\"\u003e\u003ccode\u003ef803a02\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/323\"\u003e#323\u003c/a\u003e from gnpaone/sync-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/6e01055f8ca5549c0ac7813368e2b1def14159a4\"\u003e\u003ccode\u003e6e01055\u003c/code\u003e\u003c/a\u003e chore: sync files from source repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/3962d493c9d72d256b08282a233bce1ac1022f3c\"\u003e\u003ccode\u003e3962d49\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/321\"\u003e#321\u003c/a\u003e from gnpaone/sync-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/1cf94eec87e2a04bf84cbdb8a5f6fa020c25dd1b\"\u003e\u003ccode\u003e1cf94ee\u003c/code\u003e\u003c/a\u003e chore: sync files from source repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/8b375bb7f30df6b54a95f5b8d2251e48081d5211\"\u003e\u003ccode\u003e8b375bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/320\"\u003e#320\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/cb6aebeea359de4e5e206b6f31ab60db2fe37bdd\"\u003e\u003ccode\u003ecb6aebe\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/33b136fc083a31b286a60f465770253053a1d227\"\u003e\u003ccode\u003e33b136f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/319\"\u003e#319\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/08074daad71238a7dce32b2edc650a5a2aa87d62\"\u003e\u003ccode\u003e08074da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/318\"\u003e#318\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/af30384590bd237de9efddb00daafd4509ee0b07\"\u003e\u003ccode\u003eaf30384\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/a7a521af2746586d83be5531bf8f3dc4518f1d03\"\u003e\u003ccode\u003ea7a521a\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gnpaone/rust-just/compare/1.43.0...1.45.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyrefly` from 0.38.2 to 0.45.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/pyrefly/releases\"\u003epyrefly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyrefly v0.45.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eStatus : BETA\u003c/strong\u003e\u003cbr /\u003e\n\u003cem\u003eRelease date: 08 December 2025\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003ePyrefly v0.45.0 bundles \u003cstrong\u003e146 commits\u003c/strong\u003e from \u003cstrong\u003e21 contributors\u003c/strong\u003e.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003e✨ New \u0026amp; Improved\u003c/h1\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eArea\u003c/th\u003e\n\u003cth align=\"left\"\u003eWhat’s new\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eType Checking\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- For dict literals without a contextual hint Pyrefly will now infer an anonymous typed dict. This reduces false positives when unpacking a heterogeneous dict as kwargs. \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Better suggestions hints for name and attribute errors (e.g. suggesting fixes to one letter errors like \u003ccode\u003emy_variuble\u003c/code\u003e → \u003ccode\u003emy_variable\u003c/code\u003e). \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Callable types are now narrowed more intuitively, especially in \u003ccode\u003eisinstance\u003c/code\u003e checks. Callable Enums are also now supported \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- New check added (defaults to warn) for comparisons where the result is predictable or the comparison inappropriate (e.g. \u003ccode\u003eTrue is False\u003c/code\u003e). Reflects basic support for Pyright’s \u003ccode\u003ereportUnnecessaryComparison\u003c/code\u003e and Mypy’s \u003ccode\u003ecomparison-overlap\u003c/code\u003e check.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eLanguage Server\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003eAutomatic file renaming improved to allow editable third party packages to be renamed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eThird Party Package Support\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Support for Pydantic lax mode has been extended to include support for container types (lists, dicts etc.)  \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- All Django fields now support nullability, fixing issues with \u003ccode\u003eTextField\u003c/code\u003e and others \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Pyrefly will now correctly infer the signature for functions decorated with \u003ccode\u003enumba.jit\u003c/code\u003e and \u003ccode\u003enumba.njit\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003chr /\u003e\n\u003ch1\u003e🐛 bug fixes\u003c/h1\u003e\n\u003cp\u003eWe closed 19 bug issues this release 👏\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1736\"\u003e#1736\u003c/a\u003e - Fixed prepareRename LSP request to allow renaming of symbols from editable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1732\"\u003e#1732\u003c/a\u003e - Fixed handling of await inside async comprehensions at module scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1686\"\u003e#1686\u003c/a\u003e - Fixed highlighting for Chinese and other multi-byte characters by using UTF-16 encoding for semantic token offsets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1632\"\u003e#1632\u003c/a\u003e - Fixed tracking of unresolvable modules, ensuring type errors are updated when import errors change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1565\"\u003e#1565\u003c/a\u003e - Fixed false positive type errors in nested loops by correctly handling \u003ccode\u003eLoopRecursive\u003c/code\u003e variables in type checking.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/204\"\u003e#204\u003c/a\u003e - Fixed missing error when \u003ccode\u003e__all__\u003c/code\u003e is not implemented, now validating user-defined \u003ccode\u003e__all__\u003c/code\u003e entries and emitting errors for missing module attributes\u003c/li\u003e\n\u003cli\u003eAnd more: \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1773\"\u003e#1773\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1765\"\u003e#1765\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1742\"\u003e#1742\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1739\"\u003e#1739\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1720\"\u003e#1720\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1698\"\u003e#1698\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1624\"\u003e#1624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1479\"\u003e#1479\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1475\"\u003e#1475\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1325\"\u003e#1325\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1289\"\u003e#1289\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/974\"\u003e#974\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/548\"\u003e#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank-you to all our contributors who found these bugs and reported them! Did you know this is one of the most helpful contributions you can make to an open-source project? If you find any bugs in Pyrefly we want to know about them! Please open a bug report issue \u003ca href=\"https://github.com/facebook/pyrefly/issues\"\u003ehere\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003e📦 Upgrade\u003c/h1\u003e\n\u003cpre\u003e\u003ccode\u003epip install --upgrade pyrefly==0.45.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eHow to safely upgrade your codebase\u003c/h2\u003e\n\u003cp\u003eUpgrading the version of Pyrefly you're using or a third-party library you depend on can reveal new type errors in your code. Fixing them all at once is often unrealistic. We've written scripts to help you temporarily silence them. After upgrading, follow these steps:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ccode\u003epyrefly check --suppress-errors\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003erun your code formatter of choice\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epyrefly check --remove-unused-ignores\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRepeat until you achieve a clean formatting run and a clean type check.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eThis will add `pyrefly: ignore` comments to your code, enabling you to silence errors and return to fix them later. This can make the process of upgrading a large codebase much more manageable.\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/facebook/pyrefly/commit/91509810d048b26f2f4834dd968b660876357eb3\"\u003e\u003ccode\u003e9150981\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/a0ba3e77b51b9b8bc9ec519ef0529919f33a43c3\"\u003e\u003ccode\u003ea0ba3e7\u003c/code\u003e\u003c/a\u003e Handle path and UUID in lax mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/6d89b3c411191dd046d6b70b1cd925ae109f2654\"\u003e\u003ccode\u003e6d89b3c\u003c/code\u003e\u003c/a\u003e Support decimal in lax mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/693306e6171da2835ce46bdccb5328ad9c0c0ba7\"\u003e\u003ccode\u003e693306e\u003c/code\u003e\u003c/a\u003e Support sequence + iterable in lax mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/ffb81efe2469f9afbd19ee727c0b56d872b3f92f\"\u003e\u003ccode\u003effb81ef\u003c/code\u003e\u003c/a\u003e Add prepare_call_hierarchy LSP handler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/f50e60ef517537ef3e3e1463d4e42c396bd1f655\"\u003e\u003ccode\u003ef50e60e\u003c/code\u003e\u003c/a\u003e Add test which shows prepareCallHierarchy server capability is not yet implem...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/fc6ca1a4696714e078b9ad700fdf321b0a6af698\"\u003e\u003ccode\u003efc6ca1a\u003c/code\u003e\u003c/a\u003e Add find_global_callees_from_definition function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/04bb315b1ccb2e2b6edbc8a4c9a8421020a616cb\"\u003e\u003ccode\u003e04bb315\u003c/code\u003e\u003c/a\u003e Remove fake-stubs from bundle.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/2a3736b2c4b261b5ab64bb15c1ead0cb55a7edb0\"\u003e\u003ccode\u003e2a3736b\u003c/code\u003e\u003c/a\u003e Add sympy-stubs to Pyrefly Bundle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/7776a0e62616b7e930339b91f91ff5e51e1f68fe\"\u003e\u003ccode\u003e7776a0e\u003c/code\u003e\u003c/a\u003e Add vispy stubs to Pyrefly bundle.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.38.2...0.45.2\"\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.1 to 0.14.9\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.9\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-11.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New \u003ccode\u003eRUF100\u003c/code\u003e diagnostics for unused range suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21783\"\u003e#21783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Detect subclasses of builtin exceptions (\u003ccode\u003ePLW0133\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21382\"\u003e#21382\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix comment placement in lambda parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21868\"\u003e#21868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip over trivia tokens after re-lexing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21895\"\u003e#21895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix false positive when using non-standard \u003ccode\u003eCSafeLoader\u003c/code\u003e path (S506). (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21830\"\u003e#21830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Accept immutable slice default arguments (\u003ccode\u003eB008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21823\"\u003e#21823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Suppress \u003ccode\u003eD417\u003c/code\u003e for parameters with \u003ccode\u003eUnpack\u003c/code\u003e annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21816\"\u003e#21816\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003ememchr\u003c/code\u003e for computing line indexes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21838\"\u003e#21838\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003e*.pyw\u003c/code\u003e is included by default in preview (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21885\"\u003e#21885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument range suppressions, reorganize suppression docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21884\"\u003e#21884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate mkdocs-material to 9.7.0 (Insiders now free) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21797\"\u003e#21797\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/Avasam\"\u003e\u003ccode\u003e@​Avasam\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phongddo\"\u003e\u003ccode\u003e@​phongddo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahiro72\"\u003e\u003ccode\u003e@​mahiro72\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\u003cli\u003e\u003ca href=\"https://github.com/LoicRiegel\"\u003e\u003ccode\u003e@​LoicRiegel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.9\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.9/ruff-installer.sh | sh\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\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.9\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-11.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New \u003ccode\u003eRUF100\u003c/code\u003e diagnostics for unused range suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21783\"\u003e#21783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Detect subclasses of builtin exceptions (\u003ccode\u003ePLW0133\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21382\"\u003e#21382\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix comment placement in lambda parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21868\"\u003e#21868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip over trivia tokens after re-lexing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21895\"\u003e#21895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix false positive when using non-standard \u003ccode\u003eCSafeLoader\u003c/code\u003e path (S506). (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21830\"\u003e#21830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Accept immutable slice default arguments (\u003ccode\u003eB008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21823\"\u003e#21823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Suppress \u003ccode\u003eD417\u003c/code\u003e for parameters with \u003ccode\u003eUnpack\u003c/code\u003e annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21816\"\u003e#21816\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003ememchr\u003c/code\u003e for computing line indexes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21838\"\u003e#21838\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003e*.pyw\u003c/code\u003e is included by default in preview (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21885\"\u003e#21885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument range suppressions, reorganize suppression docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21884\"\u003e#21884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate mkdocs-material to 9.7.0 (Insiders now free) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21797\"\u003e#21797\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/Avasam\"\u003e\u003ccode\u003e@​Avasam\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phongddo\"\u003e\u003ccode\u003e@​phongddo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahiro72\"\u003e\u003ccode\u003e@​mahiro72\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\u003cli\u003e\u003ca href=\"https://github.com/LoicRiegel\"\u003e\u003ccode\u003e@​LoicRiegel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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\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/3f63ea4b504d50eaf3c479de68e4017d2434a160\"\u003e\u003ccode\u003e3f63ea4\u003c/code\u003e\u003c/a\u003e Prepare 0.14.9 release (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21927\"\u003e#21927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c8851ecf704c1e989c5b840e2d53ac24210b4aec\"\u003e\u003ccode\u003ec8851ec\u003c/code\u003e\u003c/a\u003e [ty] Defer all parameter and return type annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21906\"\u003e#21906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d442433e93840edc47f77ab10a85ebfbcb18211b\"\u003e\u003ccode\u003ed442433\u003c/code\u003e\u003c/a\u003e [ty] Fix workspace symbols to return members too (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21926\"\u003e#21926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c055d665ef4bbf4002a8c07bdf9b9e76c065a26b\"\u003e\u003ccode\u003ec055d66\u003c/code\u003e\u003c/a\u003e Document range suppressions, reorganize suppression docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21884\"\u003e#21884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7a578ce8334d4a1e75f91b1c600fa035f0469bed\"\u003e\u003ccode\u003e7a578ce\u003c/code\u003e\u003c/a\u003e Ignore ruff:isort like ruff:noqa in new suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21922\"\u003e#21922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34f7a04ef7ecb620658038c1db62a4204eb85388\"\u003e\u003ccode\u003e34f7a04\u003c/code\u003e\u003c/a\u003e [ty] Handle \u003ccode\u003eDefinition\u003c/code\u003es in \u003ccode\u003eSemanticModel::scope\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21919\"\u003e#21919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c9fe4e2703365b868a3b08364bf9673cef36f13f\"\u003e\u003ccode\u003ec9fe4e2\u003c/code\u003e\u003c/a\u003e [ty] Attach salsa db when running ide tests for easier debugging (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21917\"\u003e#21917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fbeeb050af15a96cec59d5e6d7e9a166579b3433\"\u003e\u003ccode\u003efbeeb05\u003c/code\u003e\u003c/a\u003e [ty] Don't show hover for expressions with no inferred type (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21924\"\u003e#21924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4fdb4e8219bf8e7b8001121dd61a7c3678200bbf\"\u003e\u003ccode\u003e4fdb4e8\u003c/code\u003e\u003c/a\u003e [ty] avoid unions of generic aliases of the same class in fixpoint (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21909\"\u003e#21909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c548ef20278f18ec9e88796fd0a1c4b5b5395a40\"\u003e\u003ccode\u003ec548ef2\u003c/code\u003e\u003c/a\u003e [ty] Squash false positive logs for failing to find \u003ccode\u003ebuiltins\u003c/code\u003e as a real module\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.1...0.14.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.1a23 to 0.0.1a33\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.1-alpha.33\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-09.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix assignability problem between \u003ccode\u003etuple[Any, ...]\u003c/code\u003e and \u003ccode\u003etuple[int, *tuple[int, ...]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21803\"\u003e#21803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid diagnostic when \u003ccode\u003etyping_extensions.ParamSpec\u003c/code\u003e uses a \u003ccode\u003edefault\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21839\"\u003e#21839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid crash for invalid \u003ccode\u003eAnnotated\u003c/code\u003e subscript (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21837\"\u003e#21837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid crash for invalid \u003ccode\u003eFinal\u003c/code\u003e subscript (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21828\"\u003e#21828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix overload filtering to prefer more precise match when \u003ccode\u003e*args: Any\u003c/code\u003e is involved (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21859\"\u003e#21859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle various invalid explicit specializations for \u003ccode\u003eParamSpec\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21821\"\u003e#21821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow with recursive generic protocols (depth limit) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21858\"\u003e#21858\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for parameters in function calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21796\"\u003e#21796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't create a related diagnostic for the primary annotation of sub-diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21845\"\u003e#21845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize auto-import (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21851\"\u003e#21851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuppress inlay hints when assigning a trivial initializer call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21848\"\u003e#21848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse concise message for LSP clients not supporting related diagnostic information (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21850\"\u003e#21850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix add-import action for \u003ccode\u003ereveal_type\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21668\"\u003e#21668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInfer type variables within generic unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21862\"\u003e#21862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType inference for \u003ccode\u003e@asynccontextmanager\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21876\"\u003e#21876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake Python-version subdiagnostics less verbose (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21849\"\u003e#21849\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/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dhruvmanila\"\u003e\u003ccode\u003e@​dhruvmanila\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gankra\"\u003e\u003ccode\u003e@​Gankra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sharkdp\"\u003e\u003ccode\u003e@​sharkdp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.1-alpha.33\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/ty/releases/download/0.0.1-alpha.33/ty-installer.sh | sh\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.0.1-alpha.33\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-09.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix assignability problem between \u003ccode\u003etuple[Any, ...]\u003c/code\u003e and \u003ccode\u003etuple[int, *tuple[int, ...]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21803\"\u003e#21803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid diagnostic when \u003ccode\u003etyping_extensions.ParamSpec\u003c/code\u003e uses a \u003ccode\u003edefault\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21839\"\u003e#21839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid crash for invalid \u003ccode\u003eAnnotated\u003c/code\u003e subscript (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21837\"\u003e#21837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid crash for invalid \u003ccode\u003eFinal\u003c/code\u003e subscript (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21828\"\u003e#21828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix overload filtering to prefer more precise match when \u003ccode\u003e*args: Any\u003c/code\u003e is involved (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21859\"\u003e#21859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle various invalid explicit specializations for \u003ccode\u003eParamSpec\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21821\"\u003e#21821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow with recursive generic protocols (depth limit) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21858\"\u003e#21858\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for parameters in function calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21796\"\u003e#21796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't create a related diagnostic for the primary annotation of sub-diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21845\"\u003e#21845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize auto-import (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21851\"\u003e#21851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuppress inlay hints when assigning a trivial initializer call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21848\"\u003e#21848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse concise message for LSP clients not supporting related diagnostic information (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21850\"\u003e#21850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix add-import action for \u003ccode\u003ereveal_type\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21668\"\u003e#21668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInfer type variables within generic unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21862\"\u003e#21862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType inference for \u003ccode\u003e@asynccontextmanager\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21876\"\u003e#21876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake Python-version subdiagnostics less verbose (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21849\"\u003e#21849\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/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dhruvmanila\"\u003e\u003ccode\u003e@​dhruvmanila\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gankra\"\u003e\u003ccode\u003e@​Gankra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sharkdp\"\u003e\u003ccode\u003e@​sharkdp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.1-alpha.32\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-05.\u003c/p\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProvide auto-import completion suggestions for modules in more situations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21799\"\u003e#21799\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/ty/commit/35e23aa481211acfc35dd7ff9f1a0be384f4fab7\"\u003e\u003ccode\u003e35e23aa\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1-alpha.33 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1829\"\u003e#1829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c02e0b479cd6fd99e85dcc0467cd5116fef617f\"\u003e\u003ccode\u003e5c02e0b\u003c/code\u003e\u003c/a\u003e Stabilize auto-import (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1810\"\u003e#1810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/84a1881169fe0d5c0e012d405ed1c0c8a4dcb7c6\"\u003e\u003ccode\u003e84a1881\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1-alpha.32 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1785\"\u003e#1785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/51c73d687778144c030324ef36cbba6303a28475\"\u003e\u003ccode\u003e51c73d6\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1-alpha.31 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1751\"\u003e#1751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/d5754d3b5e0643025eb45a5ae4e95966a3d57518\"\u003e\u003ccode\u003ed5754d3\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1a30 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1743\"\u003e#1743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b6171dbb7e4868287e8706614ed3944e60a149a4\"\u003e\u003ccode\u003eb6171db\u003c/code\u003e\u003c/a\u003e Use our org-wide Renovate preset (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1726\"\u003e#1726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a362ad2be88d56cf87fe12760dc8794fd155a883\"\u003e\u003ccode\u003ea362ad2\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003enpm ci --ignore-scripts\u003c/code\u003e instead of \u003ccode\u003enpm install\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/90e2851ec1bb00fa1f6ac2097a737975bf1f521a\"\u003e\u003ccode\u003e90e2851\u003c/code\u003e\u003c/a\u003e Update Swatinem/rust-cache action to v2.8.2 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1695\"\u003e#1695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/6d5d4bbe28d28ced63f3a8e0bb4283e07d883e1b\"\u003e\u003ccode\u003e6d5d4bb\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v5.10.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1697\"\u003e#1697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/925d2664443ff36d555f4f8181ec22654b552df9\"\u003e\u003ccode\u003e925d266\u003c/code\u003e\u003c/a\u003e Update actions/setup-python action to v6.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1696\"\u003e#1696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.1-alpha.23...0.0.1-alpha.33\"\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.9.0.20250906 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 `typos` from 1.38.1 to 1.40.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crate-ci/typos/releases\"\u003etypos's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.40.0\u003c/h2\u003e\n\u003ch2\u003e[1.40.0] - 2025-11-26\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1405\"\u003eNovember 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.39.2\u003c/h2\u003e\n\u003ch2\u003e[1.39.2] - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't offer \u003ccode\u003eentry\u003c/code\u003e as a correction for \u003ccode\u003eentrys\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.39.1\u003c/h2\u003e\n\u003ch2\u003e[1.39.1] - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--help\u003c/code\u003e more vibrant\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.39.0\u003c/h2\u003e\n\u003ch2\u003e[1.39.0] - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1383\"\u003eOctober 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen a typo is pluralized, prefer pluralized corrections\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/crate-ci/typos/blob/master/CHANGELOG.md\"\u003etypos's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.40.0] - 2025-11-26\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1405\"\u003eNovember 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.39.2] - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't offer \u003ccode\u003eentry\u003c/code\u003e as a correction for \u003ccode\u003eentrys\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.39.1] - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--help\u003c/code\u003e more vibrant\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.39.0] - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1383\"\u003eOctober 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen a typo is pluralized, prefer pluralized corrections\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/crate-ci/typos/commit/2d0ce569feab1f8752f1dde43cc2f2aa53236e06\"\u003e\u003ccode\u003e2d0ce56\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/efbd900f8db9952781b6bd1ad83baa38ebd153e3\"\u003e\u003ccode\u003eefbd900\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/863fd15db8bf16bfe9117ec1a83ea7b6e802e9f3\"\u003e\u003ccode\u003e863fd15\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/9a27b16791dd73549457a07f247bc4920f787919\"\u003e\u003ccode\u003e9a27b16\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1432\"\u003e#1432\u003c/a\u003e from epage/nov\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/3dbd9d4eacab7f22586ea581e4d403c3ca9dbbb7\"\u003e\u003ccode\u003e3dbd9d4\u003c/code\u003e\u003c/a\u003e feat(dict): November additions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/a1a16c7b7c25d1c27cc750525aada8b9ae68b716\"\u003e\u003ccode\u003ea1a16c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1427\"\u003e#1427\u003c/a\u003e from deining/bump-github-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/cb8d2e78ff23c82fca05340ed256b04513d022b9\"\u003e\u003ccode\u003ecb8d2e7\u003c/code\u003e\u003c/a\u003e docs: Bump GitHub checkout action in 'github-action.md'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/9f99fb8dfe87b8a3441863fb2e5d5da88a2aa9a2\"\u003e\u003ccode\u003e9f99fb8\u003c/code\u003e\u003c/a\u003e docs(ref): Clarify extend-words / extend-identifiers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/626c4bedb751ce0b7f03262ca97ddda9a076ae1c\"\u003e\u003ccode\u003e626c4be\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/c6b458db05d00c3037bc9a1102b84febc9fff2f4\"\u003e\u003ccode\u003ec6b458d\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crate-ci/typos/compare/v1.38.1...v1.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.2 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/8.4.2...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-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/com...\n\n_Description has been truncated_","html_url":"https://github.com/charles-alchemcy/air/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/charles-alchemcy%2Fair/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"3665938312","node_id":"PR_kwDOQXqEac61kXwj","number":17,"state":"open","title":"chore(deps-dev): update mkdocs-llmstxt requirement from ~=0.1.0 to \u003e=0.1,\u003c0.6","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-26T05:57:19.000Z","updated_at":"2025-11-26T05:57:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): update","packages":[{"name":"mkdocs-llmstxt","old_version":"~=0.1.0","new_version":"\u003e=0.1,\u003c0.6","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.1\"\u003e0.3.1\u003c/a\u003e - 2025-08-05\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.0...0.3.1\"\u003eCompare with 0.3.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve user-defined ordering of pages (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/1359e250e675f7742d18f9641136fccc26199773\"\u003e1359e25\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/21\"\u003eIssue-21\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.0\"\u003e0.3.0\u003c/a\u003e - 2025-07-14\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.2.0...0.3.0\"\u003eCompare with 0.2.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport file descriptions (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/33f64b306199218dbb34cd796e59113388a6c26c\"\u003e33f64b3\u003c/a\u003e by Logan). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/6\"\u003eIssue-6\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/8\"\u003ePR-8\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport formatting Markdown tables (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/f1fc8757dcab95af7b645331ddc5f1f01888bc88\"\u003ef1fc875\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/13\"\u003eIssue-13\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.2.0\"\u003e0.2.0\u003c/a\u003e - 2025-04-08\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.1.0...0.2.0\"\u003eCompare with 0.1.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\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/pawamoy/mkdocs-llmstxt/commit/8968edfb0e66c56e60072f0da74d37c2dc78d8ef\"\u003e\u003ccode\u003e8968edf\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/cc414163f69857d9b01ff1c0cfcb2099c7fd754f\"\u003e\u003ccode\u003ecc41416\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e\u003ccode\u003e52e0318\u003c/code\u003e\u003c/a\u003e feat: Resolve relative links to absolute ones, link to generated Markdown files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/71c7df2c3bd4bc298bc6315676952ce67698b3d4\"\u003e\u003ccode\u003e71c7df2\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/1359e250e675f7742d18f9641136fccc26199773\"\u003e\u003ccode\u003e1359e25\u003c/code\u003e\u003c/a\u003e fix: Preserve user-defined ordering of pages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.1.0...0.5.0\"\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 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/AlexanderRichey/bedrock-agentcore-starter-toolkit/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderRichey%2Fbedrock-agentcore-starter-toolkit/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"},{"uuid":"3651633164","node_id":"PR_kwDOEjWUk8600wso","number":4789,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.4.0 to 0.5.0 in /docs","user":"dependabot[bot]","labels":["documentation","dependencies","size/XS","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-21T13:11:22.000Z","updated_at":"2025-11-21T13:11:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.4.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.4.0 to 0.5.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\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/pawamoy/mkdocs-llmstxt/commit/8968edfb0e66c56e60072f0da74d37c2dc78d8ef\"\u003e\u003ccode\u003e8968edf\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/cc414163f69857d9b01ff1c0cfcb2099c7fd754f\"\u003e\u003ccode\u003ecc41416\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e\u003ccode\u003e52e0318\u003c/code\u003e\u003c/a\u003e feat: Resolve relative links to absolute ones, link to generated Markdown files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.4.0\u0026new-version=0.5.0)](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/aws-powertools/powertools-lambda-typescript/pull/4789","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-typescript/issues/4789","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4789/packages"},{"uuid":"3651515589","node_id":"PR_kwDOQNF0us600W3N","number":7,"state":"open","title":"⬆(deps): Bump the python-dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-21T12:34:43.000Z","updated_at":"2025-12-05T14:00:48.635Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆(deps): Bump","group_name":"python-dependencies","update_count":13,"packages":[{"name":"fastapi","old_version":"0.119.1","new_version":"0.121.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"rust-just","old_version":"1.43.0","new_version":"1.43.1","repository_url":"https://github.com/gnpaone/rust-just"},{"name":"pyrefly","old_version":"0.38.2","new_version":"0.42.2","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.14.1","new_version":"0.14.5","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.1a23","new_version":"0.0.1a27","repository_url":"https://github.com/astral-sh/ty"},{"name":"types-markdown","old_version":"3.9.0.20250906","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typos","old_version":"1.38.1","new_version":"1.39.2","repository_url":"https://github.com/crate-ci/typos"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"diff-cover","old_version":"9.7.1","new_version":"9.7.2","repository_url":"https://github.com/Bachmann1234/diff-cover"},{"name":"pytest-benchmark","old_version":"5.1.0","new_version":"5.2.3","repository_url":"https://github.com/ionelmc/pytest-benchmark"},{"name":"mkdocs-llmstxt","old_version":"0.4.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"},{"name":"mkdocstrings-python","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/mkdocstrings/python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.119.1` | `0.121.3` |\n| [rust-just](https://github.com/gnpaone/rust-just) | `1.43.0` | `1.43.1` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.38.2` | `0.42.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.1` | `0.14.5` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a23` | `0.0.1a27` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.9.0.20250906` | `3.10.0.20251106` |\n| [typos](https://github.com/crate-ci/typos) | `1.38.1` | `1.39.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.1` |\n| [diff-cover](https://github.com/Bachmann1234/diff-cover) | `9.7.1` | `9.7.2` |\n| [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) | `5.1.0` | `5.2.3` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.4.0` | `0.5.0` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `1.18.2` | `1.19.0` |\n\n\nUpdates `fastapi` from 0.119.1 to 0.121.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.121.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Make the result of \u003ccode\u003eDepends()\u003c/code\u003e and \u003ccode\u003eSecurity()\u003c/code\u003e hashable, as a workaround for other tools interacting with these internal parts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14372\"\u003e#14372\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Bump Starlette to \u0026lt;\u003ccode\u003e0.51.0\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14282\"\u003e#14282\u003c/a\u003e by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add missing hash part. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14369\"\u003e#14369\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix typos in code comments. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14364\"\u003e#14364\u003c/a\u003e by \u003ca href=\"https://github.com/Edge-Seven\"\u003e\u003ccode\u003e@​Edge-Seven\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add docs for using FastAPI Cloud. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14359\"\u003e#14359\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix handling of JSON Schema attributes named \u0026quot;$ref\u0026quot;. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14349\"\u003e#14349\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add EuroPython talk \u0026amp; podcast episode with Sebastián Ramírez. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14260\"\u003e#14260\u003c/a\u003e by \u003ca href=\"https://github.com/clytaemnestra\"\u003e\u003ccode\u003e@​clytaemnestra\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix links and add missing permalink in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14217\"\u003e#14217\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update Portuguese translations with LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14228\"\u003e#14228\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Add Portuguese translations LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14208\"\u003e#14208\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync Russian docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14331\"\u003e#14331\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync German docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14317\"\u003e#14317\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eDepends(func, scope='function')\u003c/code\u003e for top level (parameterless) dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14301\"\u003e#14301\u003c/a\u003e by \u003ca href=\"https://github.com/luzzodev\"\u003e\u003ccode\u003e@​luzzodev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Upate docs for advanced dependencies with \u003ccode\u003eyield\u003c/code\u003e, noting the changes in 0.121.0, adding \u003ccode\u003escope\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14287\"\u003e#14287\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.13.2 to 0.14.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14276\"\u003e#14276\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14289\"\u003e#14289\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\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/fastapi/fastapi/commit/325fd16d32fd815633d6caf3d0d75aa7f30c51c9\"\u003e\u003ccode\u003e325fd16\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.121.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7659b70da0aea0678a0842a5d7a8aaaef2527bab\"\u003e\u003ccode\u003e7659b70\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/85701631a0241c5f02b4940734a5428f66abe167\"\u003e\u003ccode\u003e8570163\u003c/code\u003e\u003c/a\u003e ♻️ Make the result of \u003ccode\u003eDepends()\u003c/code\u003e and \u003ccode\u003eSecurity()\u003c/code\u003e hashable, as a workaround ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/566e3157a5517784c741dbf36e39687af326fe90\"\u003e\u003ccode\u003e566e315\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/569226e753f601954a129331f61147f89abdb52a\"\u003e\u003ccode\u003e569226e\u003c/code\u003e\u003c/a\u003e ⬆️ Bump Starlette to \u0026lt;\u003ccode\u003e0.51.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14282\"\u003e#14282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/33a75f481738c3d20ebc9fb17773d2da08b0e869\"\u003e\u003ccode\u003e33a75f4\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/89baa704a9f88ab09b0b01cd2fa7dcf758d6d417\"\u003e\u003ccode\u003e89baa70\u003c/code\u003e\u003c/a\u003e 📝 Add missing hash part (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/827ed1e6a24300af9b46adb8a3d208b8685eef85\"\u003e\u003ccode\u003e827ed1e\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/df83eb7278edf036612dc1b4c33c02415123d6a7\"\u003e\u003ccode\u003edf83eb7\u003c/code\u003e\u003c/a\u003e 📝 Fix typos in code comments (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14364\"\u003e#14364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e84f3169436dfe06c963928a6af297d06cc560e\"\u003e\u003ccode\u003e4e84f31\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.119.1...0.121.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rust-just` from 1.43.0 to 1.43.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gnpaone/rust-just/releases\"\u003erust-just's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.43.1\u003c/h2\u003e\n\u003chr /\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.4.2 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2948\"\u003e#2948\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eenv()\u003c/code\u003e usage in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/laniakea64\"\u003elaniakea64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a case statement to install target dependencies (\u003ca href=\"https://redirect.github.com/casey/just/pull/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild loongarch64 release binaries (\u003ca href=\"https://redirect.github.com/casey/just/pull/2886\"\u003e#2886\u003c/a\u003e by \u003ca href=\"https://github.com/SkyBird233\"\u003eSkyBird233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release to 2.4.1 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2919\"\u003e#2919\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.3.4 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2910\"\u003e#2910\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\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/gnpaone/rust-just/blob/master/CHANGELOG.md\"\u003erust-just's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.43.1\"\u003e1.43.1\u003c/a\u003e - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.4.2 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2948\"\u003e#2948\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eenv()\u003c/code\u003e usage in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/laniakea64\"\u003elaniakea64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a case statement to install target dependencies (\u003ca href=\"https://redirect.github.com/casey/just/pull/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild loongarch64 release binaries (\u003ca href=\"https://redirect.github.com/casey/just/pull/2886\"\u003e#2886\u003c/a\u003e by \u003ca href=\"https://github.com/SkyBird233\"\u003eSkyBird233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release to 2.4.1 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2919\"\u003e#2919\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.3.4 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2910\"\u003e#2910\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\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/gnpaone/rust-just/commit/8894ee080b46f326c3d421c4f3199b2a9f4acfea\"\u003e\u003ccode\u003e8894ee0\u003c/code\u003e\u003c/a\u003e Update copy repo release from repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/a95760e00e863ebe0f143db44170a8adf0bda978\"\u003e\u003ccode\u003ea95760e\u003c/code\u003e\u003c/a\u003e Enhance release workflow with CHANGELOG verification\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/9bf3b6f9cdabd08b4fc8e7d694733f0dde67dbe3\"\u003e\u003ccode\u003e9bf3b6f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/304\"\u003e#304\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/1416571eed4aa35c73d1d07ac182d58e61c37674\"\u003e\u003ccode\u003e1416571\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/c65ea44a2698e864a050d460b930959507900604\"\u003e\u003ccode\u003ec65ea44\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/303\"\u003e#303\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/48998bf08324e44bd631c73ec9ebb6ebcb898e8a\"\u003e\u003ccode\u003e48998bf\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/f268b4ae8835704445a3fdcf974d9fc3ca6e7f40\"\u003e\u003ccode\u003ef268b4a\u003c/code\u003e\u003c/a\u003e Enhance release workflow with fallback and extraction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/a49b354c97ce35e2a987f7c7d6a3c75bc0f4397b\"\u003e\u003ccode\u003ea49b354\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/302\"\u003e#302\u003c/a\u003e from gnpaone/sync-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/74ae7d77ad771a2996a4d67458defc7c88bba020\"\u003e\u003ccode\u003e74ae7d7\u003c/code\u003e\u003c/a\u003e chore: sync files from source repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/a23c91692093249412c86b24a7bcbaf5f6a48b0f\"\u003e\u003ccode\u003ea23c916\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/301\"\u003e#301\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ts...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gnpaone/rust-just/compare/1.43.0...1.43.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyrefly` from 0.38.2 to 0.42.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/pyrefly/releases\"\u003epyrefly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyrefly v0.42.0 - BETA\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eStatus : BETA 🎉\u003c/strong\u003e\u003cbr /\u003e\n\u003cem\u003eRelease date: 17 Nov 2025\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003e\u003cstrong\u003e🚀Pyrefly is now in Beta!\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eWe’re thrilled to announce with this release that Pyrefly has transitioned from Alpha to Beta status! This marks a new chapter for the project, with increased stability, feature maturity, and readiness for broader adoption. When using a version of Pyrefly with Beta status you can feel confident that the IDE extension is ready for production use, while core type-checking features can be used, but be aware some edge cases are still being addressed as we make progress towards a later stable v1 release (\u003ca href=\"https://github.com/facebook/pyrefly/issues\"\u003ebug reports welcome\u003c/a\u003e!).\u003c/p\u003e\n\u003cp\u003eThese release notes will use a slightly different format than usual, covering the major highlights of the last 6 months that have contributed to this milestone.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch2\u003e\u003cstrong\u003e🏆 Major Highlights from Alpha Releases\u003c/strong\u003e\u003c/h2\u003e\n\u003ch3\u003e\u003cstrong\u003e1. IDE \u0026amp; Language Server Features\u003c/strong\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInstant IDE Startup: Major performance improvements for large environments.\u003c/li\u003e\n\u003cli\u003eSemantic Highlighting, Inlay Hints: Enhanced code readability and added highlighting for unreachable blocks and unused function parameters. Unnecessary/obvious inlay hints are no longer displayed.\u003c/li\u003e\n\u003cli\u003eHover Cards \u0026amp; Docstrings: Richer information in tooltips, including docstrings for built-in types and links to error documentation.\u003c/li\u003e\n\u003cli\u003eConfigurable LSP Features: Greater control over enabling/disabling IDE features like autocomplete, go-to-definition, and hover.\u003c/li\u003e\n\u003cli\u003eExtensions released for a range of popular IDEs, including \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=meta.pyrefly\"\u003eVSCode\u003c/a\u003e, \u003ca href=\"https://www.jetbrains.com/help/pycharm/2025.3/lsp-tools.html#pyrefly\"\u003ePyCharm\u003c/a\u003e and \u003ca href=\"https://pyrefly.org/en/docs/IDE/#other-editors\"\u003emore\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSome relevant issues: \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/853\"\u003e#853\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1403\"\u003e#1403\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1335\"\u003e#1335\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/873\"\u003e#873\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/802\"\u003e#802\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/716\"\u003e#716\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cstrong\u003e2. Type Checking Enhancements\u003c/strong\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved overload evaluation: Fully compliant with the Python typing spec\u003c/li\u003e\n\u003cli\u003eSmarter Type Narrowing: Improved handling of variable types in loops, control flow, and pattern matching. Added ability to understand patterns like `getattr()`, `hasattr()`, and `dict.get()`\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTypedDict\u003c/code\u003e \u0026amp; Protocol Improvements: More accurate type checking for structural types, including handling for union keys and improved inheritance checks.\u003c/li\u003e\n\u003cli\u003eAdditional Python typing features: \u003ccode\u003eLiteralString\u003c/code\u003e \u0026amp; \u003ccode\u003eTypeAliasType\u003c/code\u003e support, abstract class instantiation checks, unused awaitable checks, multiple inheritance consistency checks, and more!\u003c/li\u003e\n\u003cli\u003eConfigurable Type Inference: Advanced features like empty container inference and return type inference can be toggled via config.\u003c/li\u003e\n\u003cli\u003eSome relevant issues: \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/684\"\u003e#684\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/872\"\u003e#872\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1058\"\u003e#1058\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/940\"\u003e#940\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/815\"\u003e#815\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1461\"\u003e#1461\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/44\"\u003e#44\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cstrong\u003e3. Error Reporting \u0026amp; Suppression\u003c/strong\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGranular Error Filtering: Filter summarized errors by code, set error severity, and get clickable links to docs.\u003c/li\u003e\n\u003cli\u003eSuppression Workflow: Scripts and commands to silence new errors after upgrades, making large codebase migrations manageable.\u003c/li\u003e\n\u003cli\u003eImproved Error Messages: Clearer, more actionable diagnostics for overloads, missing imports, and more.\u003c/li\u003e\n\u003cli\u003eSome relevant issues: \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1276\"\u003e#1276\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1302\"\u003e#1302\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/890\"\u003e#890\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1401\"\u003e#1401\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cstrong\u003e4. Framework Integrations\u003c/strong\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDjango: Partial support, with ongoing improvements for model field inference, enum support, and lazy label handling.\u003c/li\u003e\n\u003cli\u003ePydantic: Experimental support, with growing documentation and bug fixes.\u003c/li\u003e\n\u003cli\u003eSome relevant issues: \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/316\"\u003e#316\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/334\"\u003e#334\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1276\"\u003e#1276\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/839\"\u003e#839\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cstrong\u003e5. Jupyter Notebook Support (Experimental)\u003c/strong\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFull Language Server Integration: Diagnostics, inlay hints, go-to-definition, hover, semantic tokens, signature help, and completions now work out-of-the-box for .ipynb files.\u003c/li\u003e\n\u003cli\u003eCLI Type Checking for Notebooks\u003c/li\u003e\n\u003cli\u003eJupyter Lab Integration\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/facebook/pyrefly/commit/6dce0e9b30115f126053bb5c5e3f97bf5c34e62b\"\u003e\u003ccode\u003e6dce0e9\u003c/code\u003e\u003c/a\u003e bump patch version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/4e8a50fdd7d73e8492bb1f8641dd35d7f37e953b\"\u003e\u003ccode\u003e4e8a50f\u003c/code\u003e\u003c/a\u003e exit even on errors in shutdown handshake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/bea3c6ef2423a60b651142efeeb0f1723d99ebb6\"\u003e\u003ccode\u003ebea3c6e\u003c/code\u003e\u003c/a\u003e Register artificial callees for decorators\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/117dfd492886258ccd6e15ecf09d4e5ffbe1e735\"\u003e\u003ccode\u003e117dfd4\u003c/code\u003e\u003c/a\u003e log error on shutdown (\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/92aace84d8621ef62c71ac0687b8b9a2591950e0\"\u003e\u003ccode\u003e92aace8\u003c/code\u003e\u003c/a\u003e allow instantiating \u003ccode\u003etype[P]\u003c/code\u003e when \u003ccode\u003eP\u003c/code\u003e is a protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/f0afe81b69effd8a9ea97ede98d09430ead41772\"\u003e\u003ccode\u003ef0afe81\u003c/code\u003e\u003c/a\u003e don't allow protocol class names to be assigned to type[P] if P is a protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/1c01a94125a3826ccf0c12d5accf7f99f5870dc2\"\u003e\u003ccode\u003e1c01a94\u003c/code\u003e\u003c/a\u003e add documentation for go-to declaration + go-to implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/78d90dbf9168b3161bb75a172e2e29f2e0e9b11f\"\u003e\u003ccode\u003e78d90db\u003c/code\u003e\u003c/a\u003e fix literal string protocol subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/8ff68b8372262c2551774aadbc4f3986e90bd8ad\"\u003e\u003ccode\u003e8ff68b8\u003c/code\u003e\u003c/a\u003e fix tuple[()] | tuple[int, *tuple[int, ...]] should be equivalent to tuple[in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/acf7330c75b9ec3d7bc51873340f3a9f514efcf8\"\u003e\u003ccode\u003eacf7330\u003c/code\u003e\u003c/a\u003e Fix blog preview image\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.38.2...0.42.2\"\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.1 to 0.14.5\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.5\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-13.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Apply \u003ccode\u003eSIM113\u003c/code\u003e when index variable is of type \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21395\"\u003e#21395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive when Sphinx directives follow a \u0026quot;Raises\u0026quot; section (\u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20535\"\u003e#20535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Support NumPy-style comma-separated parameters (\u003ccode\u003eDOC102\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20972\"\u003e#20972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Auto-fix annotated assignments (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21278\"\u003e#21278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Ignore \u003ccode\u003estr()\u003c/code\u003e when not used for simple conversion (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21330\"\u003e#21330\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 positive on alternative \u003ccode\u003ematch\u003c/code\u003e patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix false positive for iterable initializers with generator arguments (\u003ccode\u003eSIM222\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21187\"\u003e#21187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive on relative imports from local \u003ccode\u003e.builtins\u003c/code\u003e module (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21309\"\u003e#21309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Consistently set the deprecated tag (\u003ccode\u003eUP035\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Detect empty f-strings (\u003ccode\u003eFURB105\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21348\"\u003e#21348\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd option to provide a reason to \u003ccode\u003e--add-noqa\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21294\"\u003e#21294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd upstream linter URL to \u003ccode\u003eruff linter --output-format=json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21316\"\u003e#21316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd color to \u003ccode\u003e--help\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21337\"\u003e#21337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new \u0026quot;Opening a PR\u0026quot; section to the contribution guide (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21298\"\u003e#21298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the PyScripter IDE to the list of \u0026quot;Who is using Ruff?\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21402\"\u003e#21402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate PyCharm setup instructions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21409\"\u003e#21409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Add link to \u003ccode\u003eallow-star-arg-any\u003c/code\u003e option (\u003ccode\u003eANN401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21326\"\u003e#21326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003econfiguration\u003c/code\u003e] Improve error message when \u003ccode\u003eline-length\u003c/code\u003e exceeds \u003ccode\u003eu16::MAX\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21329\"\u003e#21329\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/njhearp\"\u003e\u003ccode\u003e@​njhearp\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/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gankra\"\u003e\u003ccode\u003e@​Gankra\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\u003cli\u003e\u003ca href=\"https://github.com/pyscripter\"\u003e\u003ccode\u003e@​pyscripter\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\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/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.5\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-13.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Apply \u003ccode\u003eSIM113\u003c/code\u003e when index variable is of type \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21395\"\u003e#21395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive when Sphinx directives follow a \u0026quot;Raises\u0026quot; section (\u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20535\"\u003e#20535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Support NumPy-style comma-separated parameters (\u003ccode\u003eDOC102\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20972\"\u003e#20972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Auto-fix annotated assignments (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21278\"\u003e#21278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Ignore \u003ccode\u003estr()\u003c/code\u003e when not used for simple conversion (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21330\"\u003e#21330\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 positive on alternative \u003ccode\u003ematch\u003c/code\u003e patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix false positive for iterable initializers with generator arguments (\u003ccode\u003eSIM222\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21187\"\u003e#21187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive on relative imports from local \u003ccode\u003e.builtins\u003c/code\u003e module (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21309\"\u003e#21309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Consistently set the deprecated tag (\u003ccode\u003eUP035\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Detect empty f-strings (\u003ccode\u003eFURB105\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21348\"\u003e#21348\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd option to provide a reason to \u003ccode\u003e--add-noqa\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21294\"\u003e#21294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd upstream linter URL to \u003ccode\u003eruff linter --output-format=json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21316\"\u003e#21316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd color to \u003ccode\u003e--help\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21337\"\u003e#21337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new \u0026quot;Opening a PR\u0026quot; section to the contribution guide (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21298\"\u003e#21298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the PyScripter IDE to the list of \u0026quot;Who is using Ruff?\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21402\"\u003e#21402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate PyCharm setup instructions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21409\"\u003e#21409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Add link to \u003ccode\u003eallow-star-arg-any\u003c/code\u003e option (\u003ccode\u003eANN401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21326\"\u003e#21326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003econfiguration\u003c/code\u003e] Improve error message when \u003ccode\u003eline-length\u003c/code\u003e exceeds \u003ccode\u003eu16::MAX\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21329\"\u003e#21329\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/njhearp\"\u003e\u003ccode\u003e@​njhearp\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/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gankra\"\u003e\u003ccode\u003e@​Gankra\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\u003cli\u003e\u003ca href=\"https://github.com/pyscripter\"\u003e\u003ccode\u003e@​pyscripter\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/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\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/87dafb8787278c04e0184c4f8fe1acaffa0f640f\"\u003e\u003ccode\u003e87dafb8\u003c/code\u003e\u003c/a\u003e Bump 0.14.5 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21435\"\u003e#21435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9e80e5a3a6b4980b792b2ac175a540e1f4d034f4\"\u003e\u003ccode\u003e9e80e5a\u003c/code\u003e\u003c/a\u003e [ty] Support \u003ccode\u003etype[…]\u003c/code\u003e and \u003ccode\u003eType[…]\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21421\"\u003e#21421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f9cc26aa12337d4c5a3e7f98475c611acb60ae5a\"\u003e\u003ccode\u003ef9cc26a\u003c/code\u003e\u003c/a\u003e [ty] Respect notebook cell boundaries when adding an auto import (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21322\"\u003e#21322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d49c32630928a63dfb5bdfcaf64ff370fcb8929e\"\u003e\u003ccode\u003ed49c326\u003c/code\u003e\u003c/a\u003e Update PyCharm setup instructions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21409\"\u003e#21409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e70fccbf251a99bbf1dfbd8fa170968ed8d7c8c6\"\u003e\u003ccode\u003ee70fccb\u003c/code\u003e\u003c/a\u003e [ty] Improve LSP test server logging (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21432\"\u003e#21432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/90b32f3b3b17a44e4cbe38dcc791ece4d6fe0e10\"\u003e\u003ccode\u003e90b32f3\u003c/code\u003e\u003c/a\u003e [ty] Ensure annotation/type expressions in stub files are always deferred (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/99694b6e4a149ebfc256314afc4fa922d42e7dc8\"\u003e\u003ccode\u003e99694b6\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eprofiling\u003c/code\u003e profile for \u003ccode\u003ecargo test(linux, release)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21429\"\u003e#21429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67e54fffe1ac858c157378afcd1f2999ed7ccf79\"\u003e\u003ccode\u003e67e54ff\u003c/code\u003e\u003c/a\u003e [ty] Fix panic for cyclic star imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21428\"\u003e#21428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a01b0d7780aeeb591c7d1b6a1f64217db4a64a87\"\u003e\u003ccode\u003ea01b0d7\u003c/code\u003e\u003c/a\u003e [ty] Press 'enter' to rerun all mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21427\"\u003e#21427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/04ab9170d6719ea8d4003f1c156177e589809f14\"\u003e\u003ccode\u003e04ab917\u003c/code\u003e\u003c/a\u003e [ty] Further improve subscript assignment diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21411\"\u003e#21411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.1...0.14.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.1a23 to 0.0.1a27\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.1-alpha.27\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-18.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic for cyclic star imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21428\"\u003e#21428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crashes when using a homebrew Python install (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21405\"\u003e#21405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect inference of \u003ccode\u003eenum.auto()\u003c/code\u003e for enums with non-\u003ccode\u003eint\u003c/code\u003e mixins, and imprecise inference of \u003ccode\u003eenum.auto()\u003c/code\u003e for single-member enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20541\"\u003e#20541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix global symbol lookup from eagerly executed scopes such as comprehensions and classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21317\"\u003e#21317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix false positive for instance attributes that are declared as \u003ccode\u003eFinal\u003c/code\u003e in the class body but have their value assigned in the class's \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21158\"\u003e#21158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the return type of \u003ccode\u003e__get__\u003c/code\u003e for descriptor lookups even when \u003ccode\u003e__get__\u003c/code\u003e is called with incorrect arguments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21424\"\u003e#21424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider parameters being declared \u003ccode\u003eglobal\u003c/code\u003e a syntax error (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21312\"\u003e#21312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType inference\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.NewType\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21157\"\u003e#21157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eCallable\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21496\"\u003e#21496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.Union\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21363\"\u003e#21363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrecise inference for generator expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21437\"\u003e#21437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport storing attributes in comprehension scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20856\"\u003e#20856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eisinstance()\u003c/code\u003e and \u003ccode\u003eissubclass()\u003c/code\u003e narrowing when the second argument is a \u003ccode\u003etyping.py\u003c/code\u003e stdlib alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21391\"\u003e#21391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etype[…]\u003c/code\u003e and \u003ccode\u003eType[…]\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21421\"\u003e#21421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport attribute-expression \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e conditionals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21449\"\u003e#21449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport class-arguments for dataclass transformers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21457\"\u003e#21457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport legacy \u003ccode\u003etyping\u003c/code\u003e special forms in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21433\"\u003e#21433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport stringified annotations in value-position \u003ccode\u003eAnnotated\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21447\"\u003e#21447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport all parameters of dataclass transforms (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21474\"\u003e#21474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__hash__\u003c/code\u003e semantics and \u003ccode\u003eunsafe_hash\u003c/code\u003e for dataclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21470\"\u003e#21470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove handling of version-specific features of dataclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21453\"\u003e#21453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrectly infer the specialization of a non-invariant PEP-695 generic class that has an annotated \u003ccode\u003eself\u003c/code\u003e parameter in its \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21325\"\u003e#21325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context when inferring the result of a generic constructor call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20933\"\u003e#20933\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21442\"\u003e#21442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context when inferring the result of a generic call expression (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21210\"\u003e#21210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove heuristics used to decide when it is appropriate to \u0026quot;promote\u0026quot; a \u003ccode\u003eLiteral\u003c/code\u003e type such as \u003ccode\u003eLiteral[42]\u003c/code\u003e to its instance supertype (in this case, \u003ccode\u003eint\u003c/code\u003e) when solving type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21439\"\u003e#21439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context to infer conditional expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21443\"\u003e#21443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e__getattr__\u003c/code\u003e available for \u003ccode\u003eModuleType\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21450\"\u003e#21450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroduce implicit local variables for \u003ccode\u003efrom\u003c/code\u003e imports of submodules in \u003ccode\u003e__init__.py(i)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21173\"\u003e#21173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake implicit submodule locals only occur in global scope of an \u003ccode\u003e__init__.py(i)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21370\"\u003e#21370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake implicit submodule locals also occur for absolute \u003ccode\u003efrom\u003c/code\u003e imports in \u003ccode\u003e__init__.py(i)\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21372\"\u003e#21372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider \u003ccode\u003efrom thispackage import y\u003c/code\u003e a re-export of \u003ccode\u003ey\u003c/code\u003e in \u003ccode\u003e__init__.pyi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21387\"\u003e#21387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow PEP-604 unions in stubs and \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks prior to 3.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21379\"\u003e#21379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure annotation/type expressions in stub files are always deferred (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21401\"\u003e#21401\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21456\"\u003e#21456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSilence false-positive diagnostics when using \u003ccode\u003etyping.Dict\u003c/code\u003e or \u003ccode\u003etyping.Callable\u003c/code\u003e as the second argument to \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21386\"\u003e#21386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21466\"\u003e#21466\u003c/a\u003e). \u003ca href=\"https://github.com/python/typeshed/compare/bf7214784877c52638844c065360d4814fae4c65...f8cdc0bd526301e873cd952eb0d457bdf2554e57\"\u003eTypeshed diff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for notebooks in VS Code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21175\"\u003e#21175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix goto-definition for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003ecomplex\u003c/code\u003e in type annotation positions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21388\"\u003e#21388\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/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.0.1-alpha.27\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-18.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic for cyclic star imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21428\"\u003e#21428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crashes when using a homebrew Python install (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21405\"\u003e#21405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect inference of \u003ccode\u003eenum.auto()\u003c/code\u003e for enums with non-\u003ccode\u003eint\u003c/code\u003e mixins, and imprecise inference of \u003ccode\u003eenum.auto()\u003c/code\u003e for single-member enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20541\"\u003e#20541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix global symbol lookup from eagerly executed scopes such as comprehensions and classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21317\"\u003e#21317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix false positive for instance attributes that are declared as \u003ccode\u003eFinal\u003c/code\u003e in the class body but have their value assigned in the class's \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21158\"\u003e#21158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the return type of \u003ccode\u003e__get__\u003c/code\u003e for descriptor lookups even when \u003ccode\u003e__get__\u003c/code\u003e is called with incorrect arguments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21424\"\u003e#21424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider parameters being declared \u003ccode\u003eglobal\u003c/code\u003e a syntax error (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21312\"\u003e#21312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType inference\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.NewType\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21157\"\u003e#21157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eCallable\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21496\"\u003e#21496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.Union\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21363\"\u003e#21363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrecise inference for generator expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21437\"\u003e#21437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport storing attributes in comprehension scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20856\"\u003e#20856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eisinstance()\u003c/code\u003e and \u003ccode\u003eissubclass()\u003c/code\u003e narrowing when the second argument is a \u003ccode\u003etyping.py\u003c/code\u003e stdlib alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21391\"\u003e#21391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etype[…]\u003c/code\u003e and \u003ccode\u003eType[…]\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21421\"\u003e#21421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport attribute-expression \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e conditionals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21449\"\u003e#21449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport class-arguments for dataclass transformers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21457\"\u003e#21457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport legacy \u003ccode\u003etyping\u003c/code\u003e special forms in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21433\"\u003e#21433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport stringified annotations in value-position \u003ccode\u003eAnnotated\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21447\"\u003e#21447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport all parameters of dataclass transforms (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21474\"\u003e#21474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__hash__\u003c/code\u003e semantics and \u003ccode\u003eunsafe_hash\u003c/code\u003e for dataclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21470\"\u003e#21470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove handling of version-specific features of dataclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21453\"\u003e#21453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrectly infer the specialization of a non-invariant PEP-695 generic class that has an annotated \u003ccode\u003eself\u003c/code\u003e parameter in its \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21325\"\u003e#21325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context when inferring the result of a generic constructor call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20933\"\u003e#20933\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21442\"\u003e#21442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context when inferring the result of a generic call expression (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21210\"\u003e#21210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove heuristics used to decide when it is appropriate to \u0026quot;promote\u0026quot; a \u003ccode\u003eLiteral\u003c/code\u003e type such as \u003ccode\u003eLiteral[42]\u003c/code\u003e to its instance supertype (in this case, \u003ccode\u003eint\u003c/code\u003e) when solving type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21439\"\u003e#21439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context to infer conditional expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21443\"\u003e#21443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e__getattr__\u003c/code\u003e available for \u003ccode\u003eModuleType\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21450\"\u003e#21450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroduce implicit local variables for \u003ccode\u003efrom\u003c/code\u003e imports of submodules in \u003ccode\u003e__init__.py(i)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21173\"\u003e#21173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake implicit submodule locals only occur in global scope of an \u003ccode\u003e__init__.py(i)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21370\"\u003e#21370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake implicit submodule locals also occur for absolute \u003ccode\u003efrom\u003c/code\u003e imports in \u003ccode\u003e__init__.py(i)\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21372\"\u003e#21372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider \u003ccode\u003efrom thispackage import y\u003c/code\u003e a re-export of \u003ccode\u003ey\u003c/code\u003e in \u003ccode\u003e__init__.pyi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21387\"\u003e#21387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow PEP-604 unions in stubs and \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks prior to 3.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21379\"\u003e#21379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure annotation/type expressions in stub files are always deferred (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21401\"\u003e#21401\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21456\"\u003e#21456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSilence false-positive diagnostics when using \u003ccode\u003etyping.Dict\u003c/code\u003e or \u003ccode\u003etyping.Callable\u003c/code\u003e as the second argument to \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21386\"\u003e#21386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21466\"\u003e#21466\u003c/a\u003e). \u003ca href=\"https://github.com/python/typeshed/compare/bf7214784877c52638844c065360d4814fae4c65...f8cdc0bd526301e873cd952eb0d457bdf2554e57\"\u003eTypeshed diff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for notebooks in VS Code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21175\"\u003e#21175\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/ty/commit/26d7b6864947e528acd1ced14133ac307d122c9f\"\u003e\u003ccode\u003e26d7b68\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1a27 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1586\"\u003e#1586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/18761f5ed59e33ff35c90cdc6442897576c80ef2\"\u003e\u003ccode\u003e18761f5\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1574\"\u003e#1574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c1ce1b49606a1026d3328abdd57192b2dad2c196\"\u003e\u003ccode\u003ec1ce1b4\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v7.1.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1573\"\u003e#1573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/cb76a5eac8dcc570da055ef617d8bb932dc58624\"\u003e\u003ccode\u003ecb76a5e\u003c/code\u003e\u003c/a\u003e Add PyCharm setup instructions to editors documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1533\"\u003e#1533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fdc05df642b26e3e8dbee310661872c044e0d54b\"\u003e\u003ccode\u003efdc05df\u003c/code\u003e\u003c/a\u003e Add documentation about Zed binary path (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1518\"\u003e#1518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b225fd8b4af6dfa0280bb5da979ce3658978d290\"\u003e\u003ccode\u003eb225fd8\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1a26 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1517\"\u003e#1517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/09c637de618e5926ef14ca1dd6925e175e78e275\"\u003e\u003ccode\u003e09c637d\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v5.9.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1509\"\u003e#1509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c14430ea4a350ff26b28c884406fc13c0c646d5\"\u003e\u003ccode\u003e5c14430\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/258cb201a7200114431c5390295106e1786bff84\"\u003e\u003ccode\u003e258cb20\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/3abd4c968fcec08f968767338d88cadb129eeb5c\"\u003e\u003ccode\u003e3abd4c9\u003c/code\u003e\u003c/a\u003e Release 0.0.1-alpha.25 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.1-alpha.23...0.0.1-alpha.27\"\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.9.0.20250906 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 `typos` from 1.38.1 to 1.39.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crate-ci/typos/releases\"\u003etypos's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.39.2\u003c/h2\u003e\n\u003ch2\u003e[1.39.2] - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't offer \u003ccode\u003eentry\u003c/code\u003e as a correction for \u003ccode\u003eentrys\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.39.1\u003c/h2\u003e\n\u003ch2\u003e[1.39.1] - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--help\u003c/code\u003e more vibrant\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.39.0\u003c/h2\u003e\n\u003ch2\u003e[1.39.0] - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1383\"\u003eOctober 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen a typo is pluralized, prefer pluralized corrections\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/crate-ci/typos/blob/master/CHANGELOG.md\"\u003etypos's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.39.2] - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't offer \u003ccode\u003eentry\u003c/code\u003e as a correction for \u003ccode\u003eentrys\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.39.1] - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--help\u003c/code\u003e more vibrant\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.39.0] - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1383\"\u003eOctober 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen a typo is pluralized, prefer pluralized corrections\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/crate-ci/typos/commit/626c4bedb751ce0b7f03262ca97ddda9a076ae1c\"\u003e\u003ccode\u003e626c4be\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/c6b458db05d00c3037bc9a1102b84febc9fff2f4\"\u003e\u003ccode\u003ec6b458d\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/eed04198a67af7f32b16141261aa8f911cba1f5f\"\u003e\u003ccode\u003eeed0419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1423\"\u003e#1423\u003c/a\u003e from epage/entrys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/40383f41a2f90743ef28b8c8b1c2d5a42b7651a0\"\u003e\u003ccode\u003e40383f4\u003c/code\u003e\u003c/a\u003e fix(dict): Don't offer 'entry' as a correction for 'entrys'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/1af53e3774f068183ffd0c7193eb061a2b65a531\"\u003e\u003ccode\u003e1af53e3\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/e5d291b81a9bd645c218da268c94df78b6e5e605\"\u003e\u003ccode\u003ee5d291b\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/55474f5ff9f9a923f4e1a218c9b39271517d847e\"\u003e\u003ccode\u003e55474f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1417\"\u003e#1417\u003c/a\u003e from starsep/colorful_help\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/78b93759507833a789853c44a1d9a767fcd15024\"\u003e\u003ccode\u003e78b9375\u003c/code\u003e\u003c/a\u003e feat: Enable colors for typos --help\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/308f8f5788c91e7d099279f046cdbc3662956dcd\"\u003e\u003ccode\u003e308f8f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1409\"\u003e#1409\u003c/a\u003e from crate-ci/renovate/actions-download-artifact-6.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/cf03418f507191943e33099ce6ba74c4c79b0257\"\u003e\u003ccode\u003ecf03418\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1410\"\u003e#1410\u003c/a\u003e from crate-ci/renovate/actions-setup-python-6.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crate-ci/typos/compare/v1.38.1...v1.39.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.2 to 9.0.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/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003ch2\u003e9.0.0\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.0 (2025-11-05)\u003c/h1\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/1367\"\u003e#1367\u003c/a\u003e: \u003cstrong\u003eSupport for subtests\u003c/strong\u003e has been added.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003esubtests \u0026lt;subtests\u0026gt;\u003c/code\u003e are an alternative to parametrization, useful in situations where the parametrization values are not all known at collection time.\u003c/p\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003edef contains_docstring(p: Path) -\u0026gt; bool:\n    \u0026quot;\u0026quot;\u0026quot;Return True if the given Python file contains a top-level docstring.\u0026quot;\u0026quot;\u0026quot;\n    ...\n\u003cp\u003edef test_py_files_contain_docstring(subtests: pytest.Subtests) -\u0026gt; None:\u003cbr /\u003e\nfor path in Path.cwd().glob(\u0026quot;*.py\u0026quot;):\u003cbr /\u003e\nwith subtests.test(path=str(path)):\u003cbr /\u003e\nassert contains_docstring(path)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\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/commit/d1b64aa60b9e1a0fcfaf03af7ebeb185f1024a87\"\u003e\u003ccode\u003ed1b64aa\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/0a497c7b213ea950821319fd80dce219b0033f32\"\u003e\u003ccode\u003e0a497c7\u003c/code\u003e\u003c/a\u003e regendoc: remove CI environment variables (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13950\"\u003e#13950\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/a9f7e6ed579b8844e302067b7f05122b82993355\"\u003e\u003ccode\u003ea9f7e6e\u003c/code\u003e\u003c/a\u003e 🧪 Run \u003ccode\u003egh release\u003c/code\u003e w/o Git in CI/CD (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13942\"\u003e#13942\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13947\"\u003e#13947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2682a6607304f1f5bb5a2140340003cdf5121bc4\"\u003e\u003ccode\u003e2682a66\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13944\"\u003e#13944\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/bef7d34f1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/a999997e36c53d189ecded3369bf35bfe2be96ad\"\u003e\u003ccode\u003ea999997\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13941\"\u003e#13941\u003c/a\u003e from nicoddemus/min-pre-commit-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/4bd63a0ead81d740aa767a4384d3b0b4c18f2ef2\"\u003e\u003ccode\u003e4bd63a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13935\"\u003e#13935\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/ce8b8a7b4...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/15f93b332c1c3ec9c200c0ad3d55af5a2158e0db\"\u003e\u003ccode\u003e15f93b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e from webknjaz/maintenance/tox-pep517-env-setuptools...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/0fa11ae3f79d06dc9e2f1f7c81ade4a1126d9ef3\"\u003e\u003ccode\u003e0fa11ae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13927\"\u003e#13927\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/3d8075743...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/fa454700133c7b2cc960cba3b1cd09cc048c25a0\"\u003e\u003ccode\u003efa45470\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13926\"\u003e#13926\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/d587e0cf8...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b4e3973505a2b7a2caa17ccc392d91a6ad73e122\"\u003e\u003ccode\u003eb4e3973\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13922\"\u003e#13922\u003c/a\u003e from bluetech/fix-argparse-userwarning\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.1\"\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 `diff-cover` from 9.7.1 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/Bachmann1234/diff-cover/releases\"\u003ediff-cover's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix: Correct file name matching on Windows by \u003ca href=\"https://github.com/amos-chen\"\u003e\u003ccode\u003e@​amos-chen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Bachmann1234/diff_cover/pull/553\"\u003eBachmann1234/diff_cover#553\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/amos-chen\"\u003e\u003ccode\u003e@​amos-chen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Bachmann1234/diff_cover/pull/553\"\u003eBachmann1234/diff_cover#553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Bachmann1234/diff_cover/compare/v9.7.1...v9.7.2\"\u003ehttps://github.com/Bachmann1234/diff_cover/compare/v9.7.1...v9.7.2\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/Bachmann1234/diff_cover/blob/main/CHANGELOG\"\u003ediff-cover's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e11/10/2025 v9.7.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix file path issue on windows. Thanks \u003ca href=\"https://github.com/amos-chen\"\u003e\u003ccode\u003e@​amos-chen\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/Bachmann1234/diff_cover/pull/553/files\"\u003ePR 553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e09/25/2025 v9.7.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRevert the change to attempt to support ruff \u0026gt;=0.12.9 (\u003ca href=\"https://github.com/YeeaahMan\"\u003e\u003ccode\u003e@​YeeaahMan\u003c/code\u003e\u003c/a\u003e caught the error)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e09/23/2025 v9.7.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdds the work \u003ca href=\"https://github.com/kingbuzzman\"\u003e\u003ccode\u003e@​kingbuzzman\u003c/code\u003e\u003c/a\u003e did to support windows!\u003c/li\u003e\n\u003cli\u003eFixes a bug where deleted files were not benig handled properly (thanks \u003ca href=\"https://github.com/CliveCorbishleyTAL\"\u003e\u003ccode\u003e@​CliveCorbishleyTAL\u003c/code\u003e\u003c/a\u003e\n)\u003c/li\u003e\n\u003cli\u003eAdds a mypy driver for diff_quality (thanks \u003ca href=\"https://github.com/YeeaaahMan\"\u003e\u003ccode\u003e@​YeeaaahMan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes ruff \u0026gt;=0.12.9 support (thanks again \u003ca href=\"https://github.com/YeeaaahMan\"\u003e\u003ccode\u003e@​YeeaaahMan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSome internal items\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixing various pilint errors in the codebase (thanks again \u003ca href=\"https://github.com/kingbuzzman\"\u003e\u003ccode\u003e@​kingbuzzman\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoves flake8 config into pyproject (Thanks \u003ca href=\"https://github.com/kingbuzzman\"\u003e\u003ccode\u003e@​kingbuzzman\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCI...\n\n_Description has been truncated_","html_url":"https://github.com/charles-alchemcy/air/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/charles-alchemcy%2Fair/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"3648880110","node_id":"PR_kwDODTo4k860rbaE","number":7720,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.4.0 to 0.5.0 in /docs","user":"dependabot[bot]","labels":["dependencies","internal","size/XS","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-20T20:07:09.000Z","updated_at":"2025-11-20T20:08:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.4.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.4.0 to 0.5.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\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/pawamoy/mkdocs-llmstxt/commit/8968edfb0e66c56e60072f0da74d37c2dc78d8ef\"\u003e\u003ccode\u003e8968edf\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/cc414163f69857d9b01ff1c0cfcb2099c7fd754f\"\u003e\u003ccode\u003ecc41416\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e\u003ccode\u003e52e0318\u003c/code\u003e\u003c/a\u003e feat: Resolve relative links to absolute ones, link to generated Markdown files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.4.0\u0026new-version=0.5.0)](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/aws-powertools/powertools-lambda-python/pull/7720","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7720","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7720/packages"},{"uuid":"2890262614","node_id":"PR_kwDOEjWUk86sRehW","number":4615,"state":"open","title":"bump mkdocs-llmstxt from 0.3.2 to 0.4.0 in /docs","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-06T13:30:08.000Z","updated_at":"2025-10-06T13:30:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"bump","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.2","new_version":"0.4.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.2 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.2\u0026new-version=0.4.0)](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/aws-powertools/powertools-lambda-typescript/pull/4615","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-typescript/issues/4615","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4615/packages"},{"uuid":"3485667489","node_id":"PR_kwDOO-2fds6sL5et","number":468,"state":"open","title":"Bump mkdocs-llmstxt from 0.3.2 to 0.4.0 in /docs","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-06T04:44:59.000Z","updated_at":"2025-10-06T04:45:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.2","new_version":"0.4.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.2 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\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=mkdocs-llmstxt\u0026package-manager=uv\u0026previous-version=0.3.2\u0026new-version=0.4.0)](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/exospherehost/exospherehost/pull/468","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/exospherehost%2Fexospherehost/issues/468","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/468/packages"},{"uuid":"2886129737","node_id":"PR_kwDODTo4k86sBthJ","number":7475,"state":"closed","title":"chore(deps): bump mkdocs-llmstxt from 0.3.2 to 0.4.0","user":"dependabot[bot]","labels":["dependencies","internal","size/XS","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-10-06T08:21:28.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-03T20:24:24.000Z","updated_at":"2025-10-06T08:21:28.000Z","time_to_close":215824,"merged_at":"2025-10-06T08:21:28.000Z","merged_by":"leandrodamascena","closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.2","new_version":"0.4.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.2 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.2\u0026new-version=0.4.0)](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/aws-powertools/powertools-lambda-python/pull/7475","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7475","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7475/packages"},{"uuid":"2886087156","node_id":"PR_kwDODTo4k86sBjH0","number":7473,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.3.2 to 0.4.0 in /docs","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-03T20:06:37.000Z","updated_at":"2025-10-03T20:18:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.2","new_version":"0.4.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.2 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.2\u0026new-version=0.4.0)](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/aws-powertools/powertools-lambda-python/pull/7473","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7473","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7473/packages"},{"uuid":"2865393948","node_id":"PR_kwDODTo4k86qynEc","number":7436,"state":"closed","title":"chore(deps): bump mkdocs-llmstxt from 0.3.1 to 0.3.2","user":"dependabot[bot]","labels":["dependencies","internal","size/XS","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-09-27T14:12:56.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-26T20:12:01.000Z","updated_at":"2025-09-27T14:12:56.000Z","time_to_close":64855,"merged_at":"2025-09-27T14:12:56.000Z","merged_by":"leandrodamascena","closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.1 to 0.3.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.1\u0026new-version=0.3.2)](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/aws-powertools/powertools-lambda-python/pull/7436","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7436","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7436/packages"},{"uuid":"2851186454","node_id":"PR_kwDOOrAP4s6p8acW","number":94,"state":"closed","title":"chore(deps-dev): Bump mkdocs-llmstxt from 0.3.1 to 0.3.2","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-06T21:24:58.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-22T21:27:41.000Z","updated_at":"2025-10-06T21:24:58.000Z","time_to_close":1209437,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): Bump","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.1 to 0.3.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.1\u0026new-version=0.3.2)](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/alliander-opensource/transformer-thermal-model/pull/94","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alliander-opensource%2Ftransformer-thermal-model/issues/94","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/94/packages"},{"uuid":"2847871606","node_id":"PR_kwDOO-2fds6pvxJ2","number":418,"state":"closed","title":"Bump mkdocs-llmstxt from 0.3.1 to 0.3.2 in /docs","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-22T05:14:13.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-22T04:32:22.000Z","updated_at":"2025-09-22T05:14:13.000Z","time_to_close":2511,"merged_at":"2025-09-22T05:14:13.000Z","merged_by":"NiveditJain","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.1 to 0.3.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\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=mkdocs-llmstxt\u0026package-manager=uv\u0026previous-version=0.3.1\u0026new-version=0.3.2)](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/exospherehost/exospherehost/pull/418","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/exospherehost%2Fexospherehost/issues/418","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/418/packages"},{"uuid":"3435758395","node_id":"PR_kwDODTo4k86plC_d","number":7409,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.3.1 to 0.3.2 in /docs","user":"dependabot[bot]","labels":["dependencies","internal","size/XS","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-19T20:06:51.000Z","updated_at":"2025-09-19T20:07:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.1 to 0.3.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.1\u0026new-version=0.3.2)](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/aws-powertools/powertools-lambda-python/pull/7409","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7409","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7409/packages"},{"uuid":"3434661690","node_id":"PR_kwDOAtl3uc6phaFj","number":468,"state":"closed","title":"⬆(deps): Bump the python-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["deps","uv","dependabot"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-09-20T00:34:40.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-19T14:42:24.000Z","updated_at":"2025-09-20T00:34:42.000Z","time_to_close":35536,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆(deps): Bump","group_name":"python-dependencies","update_count":5,"packages":[{"name":"rich","old_version":"12.6.0","new_version":"14.1.0","repository_url":"https://github.com/Textualize/rich"},{"name":"pyrefly","old_version":"0.33.0","new_version":"0.33.1","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.13.0","new_version":"0.13.1","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.1a20","new_version":"0.0.1a21","repository_url":"https://github.com/astral-sh/ty"},{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the python-dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich](https://github.com/Textualize/rich) | `12.6.0` | `14.1.0` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.33.0` | `0.33.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.0` | `0.13.1` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a20` | `0.0.1a21` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.3.1` | `0.3.2` |\n\n\nUpdates `rich` from 12.6.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe ENVy of all other releases\u003c/h2\u003e\n\u003cp\u003eMostly updates to Traceback rendering, to add support for features introduced in Python3.11\u003c/p\u003e\n\u003cp\u003eWe also have a new env var that I am proposing to become a standard. \u003ccode\u003eTTY_COMPATIBLE=1\u003c/code\u003e tells Rich to write ansi-escape sequences even if it detects it is not writing to a terminal. This is intended for use with GitHub Actions / CI, which can interpret escape sequences, but aren't a terminal.\u003c/p\u003e\n\u003cp\u003eThere is also a change to how NO_COLOR and FORCE_COLOR are interpreted, which is the reason for the major version bump.\u003c/p\u003e\n\u003ch2\u003e[14.0.0] - 2025-03-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded env var \u003ccode\u003eTTY_COMPATIBLE\u003c/code\u003e to override auto-detection of TTY support (See console.rst for details). \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAn empty \u003ccode\u003eNO_COLOR\u003c/code\u003e env var is now considered disabled. \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn empty \u003ccode\u003eFORCE_COLOR\u003c/code\u003e env var is now considered disabled. \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRich tracebacks will now render notes on Python 3.11 onwards (added with \u003ccode\u003eException.add_note\u003c/code\u003e) \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3676\"\u003eTextualize/rich#3676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIndentation in exceptions won't be underlined \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3678\"\u003eTextualize/rich#3678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRich tracebacks will now render Exception Groups \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3677\"\u003eTextualize/rich#3677\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Faster is Faster release\u003c/h2\u003e\n\u003ch2\u003e[13.9.4] - 2024-11-01\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimizations to cell_len which may speed up Rich / Textual output \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3546\"\u003eTextualize/rich#3546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe irregular expression release\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.0.0] - 2025-03-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded env var \u003ccode\u003eTTY_COMPATIBLE\u003c/code\u003e to override auto-detection of TTY support (See console.rst for details). \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAn empty \u003ccode\u003eNO_COLOR\u003c/code\u003e env var is now considered disabled. \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn empty \u003ccode\u003eFORCE_COLOR\u003c/code\u003e env var is now considered disabled. \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRich tracebacks will now render notes on Python 3.11 onwards (added with \u003ccode\u003eException.add_note\u003c/code\u003e) \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3676\"\u003eTextualize/rich#3676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIndentation in exceptions won't be underlined \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3678\"\u003eTextualize/rich#3678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRich tracebacks will now render Exception Groups \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3677\"\u003eTextualize/rich#3677\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[13.9.4] - 2024-11-01\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimizations to cell_len which may speed up Rich / Textual output \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3546\"\u003eTextualize/rich#3546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[13.9.3] - 2024-10-22\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken regex that may have resulted in poor performance. \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3535\"\u003eTextualize/rich#3535\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[13.9.2] - 2024-10-04\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eTable\u003c/code\u003e columns not highlighting when added by \u003ccode\u003eadd_row\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3517\"\u003eTextualize/rich#3517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue with Segment.split_cells reported in Textual \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/5090\"\u003eTextualize/textual#5090\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v12.6.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyrefly` from 0.33.0 to 0.33.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/f1b3475981c10153934afe5b06170fa7c61336bf\"\u003e\u003ccode\u003ef1b3475\u003c/code\u003e\u003c/a\u003e Bump to 0.33.1 (\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1113\"\u003e#1113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/707ba2795fab32e3f04187ed46575c1ef4179055\"\u003e\u003ccode\u003e707ba27\u003c/code\u003e\u003c/a\u003e Add max files arg for dump config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/81133d9294f1e8c7b54cf33d439a7457fbcaa468\"\u003e\u003ccode\u003e81133d9\u003c/code\u003e\u003c/a\u003e Add nesting context to \u003ccode\u003eClass::has_qname()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/1f9ba6f8249aed59f8f7962228ffb64fd6fbf132\"\u003e\u003ccode\u003e1f9ba6f\u003c/code\u003e\u003c/a\u003e Use nesting context to print nested class names properly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/67fcf91b83aa97ce695e875b420005ff2ce53fa7\"\u003e\u003ccode\u003e67fcf91\u003c/code\u003e\u003c/a\u003e Pass around nesting context to answer solver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/d64458968f32e10a6c23fe6b6632fbfe7b4eb572\"\u003e\u003ccode\u003ed644589\u003c/code\u003e\u003c/a\u003e Pass around nesting context in binding builder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/4e3ba0b68c93a5de9f15a528bb48ccf8cb90fbfe\"\u003e\u003ccode\u003e4e3ba0b\u003c/code\u003e\u003c/a\u003e Introducing a \u003ccode\u003eNestingContext\u003c/code\u003e data structure to represent nestings properly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/41d50a3bbcec11d42a35649108927edd98529beb\"\u003e\u003ccode\u003e41d50a3\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003eQName\u003c/code\u003e from \u003ccode\u003epyrefly_types\u003c/code\u003e to \u003ccode\u003epyrefly_python\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/82e59ae98ffaa3f63bea260740d598c6ac4362aa\"\u003e\u003ccode\u003e82e59ae\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eloc\u003c/code\u003e to \u003ccode\u003erange\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/168859bb9c2a06a67bea760316b3f61ae1988edf\"\u003e\u003ccode\u003e168859b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003edel\u003c/code\u003e-defined names to \u003ccode\u003eDefinitions\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.33.0...0.33.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.0 to 0.13.1\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.13.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-18.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Detect unnecessary \u003ccode\u003eNone\u003c/code\u003e default for additional key expression types (\u003ccode\u003eSIM910\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20343\"\u003e#20343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fix for \u003ccode\u003ePTH123\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20169\"\u003e#20169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH111\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20215\"\u003e#20215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eE301\u003c/code\u003e to only trigger for functions immediately within a class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19768\"\u003e#19768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20279\"\u003e#20279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle t-strings for token-based rules and suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20357\"\u003e#20357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix truthiness: dict-only \u003ccode\u003e**\u003c/code\u003e displays not truthy for \u003ccode\u003eshell\u003c/code\u003e (\u003ccode\u003eS602\u003c/code\u003e, \u003ccode\u003eS604\u003c/code\u003e, \u003ccode\u003eS609\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20177\"\u003e#20177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix diagnostic to show correct method name for \u003ccode\u003estr.rsplit\u003c/code\u003e calls (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20459\"\u003e#20459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20197\"\u003e#20197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variable (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20427\"\u003e#20427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Prevent infinite loop with \u003ccode\u003eI002\u003c/code\u003e and \u003ccode\u003eUP026\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20327\"\u003e#20327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Recognize t-strings, generators, and lambdas in \u003ccode\u003einvalid-index-type\u003c/code\u003e (\u003ccode\u003eRUF016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20213\"\u003e#20213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eRUF102\u003c/code\u003e] Respect rule redirects in invalid rule code detection (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20245\"\u003e#20245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Mark the fix for \u003ccode\u003eunreliable-callable-check\u003c/code\u003e as always unsafe (\u003ccode\u003eB004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20318\"\u003e#20318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dataclass attribute value instantiation from nested frozen dataclass (\u003ccode\u003eRUF009\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20352\"\u003e#20352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fixes to \u003ccode\u003eoutput-format=sarif\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20300\"\u003e#20300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat panics as fatal diagnostics, sort panics last (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eanalyze.string-imports-min-dots\u003c/code\u003e to settings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20375\"\u003e#20375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README.md with Albumentations new repository URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20415\"\u003e#20415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable inline noqa for multiline strings in playground (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20442\"\u003e#20442\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/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\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/IDrokin117\"\u003e\u003ccode\u003e@​IDrokin117\u003c/code\u003e\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/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.13.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-18.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Detect unnecessary \u003ccode\u003eNone\u003c/code\u003e default for additional key expression types (\u003ccode\u003eSIM910\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20343\"\u003e#20343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fix for \u003ccode\u003ePTH123\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20169\"\u003e#20169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH111\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20215\"\u003e#20215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eE301\u003c/code\u003e to only trigger for functions immediately within a class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19768\"\u003e#19768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20279\"\u003e#20279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle t-strings for token-based rules and suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20357\"\u003e#20357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix truthiness: dict-only \u003ccode\u003e**\u003c/code\u003e displays not truthy for \u003ccode\u003eshell\u003c/code\u003e (\u003ccode\u003eS602\u003c/code\u003e, \u003ccode\u003eS604\u003c/code\u003e, \u003ccode\u003eS609\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20177\"\u003e#20177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix diagnostic to show correct method name for \u003ccode\u003estr.rsplit\u003c/code\u003e calls (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20459\"\u003e#20459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20197\"\u003e#20197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variable (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20427\"\u003e#20427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Prevent infinite loop with \u003ccode\u003eI002\u003c/code\u003e and \u003ccode\u003eUP026\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20327\"\u003e#20327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Recognize t-strings, generators, and lambdas in \u003ccode\u003einvalid-index-type\u003c/code\u003e (\u003ccode\u003eRUF016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20213\"\u003e#20213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eRUF102\u003c/code\u003e] Respect rule redirects in invalid rule code detection (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20245\"\u003e#20245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Mark the fix for \u003ccode\u003eunreliable-callable-check\u003c/code\u003e as always unsafe (\u003ccode\u003eB004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20318\"\u003e#20318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dataclass attribute value instantiation from nested frozen dataclass (\u003ccode\u003eRUF009\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20352\"\u003e#20352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fixes to \u003ccode\u003eoutput-format=sarif\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20300\"\u003e#20300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat panics as fatal diagnostics, sort panics last (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eanalyze.string-imports-min-dots\u003c/code\u003e to settings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20375\"\u003e#20375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README.md with Albumentations new repository URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20415\"\u003e#20415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable inline noqa for multiline strings in playground (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20442\"\u003e#20442\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/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\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/IDrokin117\"\u003e\u003ccode\u003e@​IDrokin117\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\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/706be0a6e7e09936511198f2ff8982915520d138\"\u003e\u003ccode\u003e706be0a\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epyproject.toml\u003c/code\u003e to rooster config \u003ccode\u003eversion_files\u003c/code\u003e and bump to 0.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7b40428b6a1aaad88abb05b2fa291f0ae895d379\"\u003e\u003ccode\u003e7b40428\u003c/code\u003e\u003c/a\u003e Bump 0.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20473\"\u003e#20473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9b57553681965e5cde1120f3f78ec50f8c7cd4a\"\u003e\u003ccode\u003eb9b5755\u003c/code\u003e\u003c/a\u003e Upgrade to the latest rooster version and include contributors in CHANGELOG (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b4b5d67a4a4cc7193b4867dcc748c8399571eaf8\"\u003e\u003ccode\u003eb4b5d67\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0b60584b7e561f7ff7120f3ff6ecb5394522d90f\"\u003e\u003ccode\u003e0b60584\u003c/code\u003e\u003c/a\u003e Bump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/821b2f8b2e033bfff407a908e11d71126b7bef45\"\u003e\u003ccode\u003e821b2f8\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1758f26d941afac9ed497c5ad34253f3c5446d07\"\u003e\u003ccode\u003e1758f26\u003c/code\u003e\u003c/a\u003e Update rust toolchain to 1.90 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20469\"\u003e#20469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2502ff7638da3d290eacd4fcef34809faaeddfd5\"\u003e\u003ccode\u003e2502ff7\u003c/code\u003e\u003c/a\u003e [ty] Make TypeIs invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/144373fb3c8690043eec30a12bd5d6c55e8e9ca6\"\u003e\u003ccode\u003e144373f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/91995aa5169175de55494bc3bb59781c7a3097fc\"\u003e\u003ccode\u003e91995aa\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variabl...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.0...0.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.1a20 to 0.0.1a21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.1-alpha.21\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix inference of constructor calls to generic classes that have explicitly annotated \u003ccode\u003eself\u003c/code\u003e parameters in their \u003ccode\u003e__init__\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a stack overflow when computing completions for recursive types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20354\"\u003e#20354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003eBoundMethodType::into_callable_type()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20369\"\u003e#20369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflows in binary comparison inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many \u0026quot;too many cycle iterations\u0026quot; panics concerning recursive type aliases and/or recursive generics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20359\"\u003e#20359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow involving subtype checks for recursive type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20259\"\u003e#20259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when inferring the type of an infinitely-nested-tuple implicit instance attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for unimported symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20207\"\u003e#20207\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20439\"\u003e#20439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude generated \u003ccode\u003eNamedTuple\u003c/code\u003e methods such as \u003ccode\u003e_make\u003c/code\u003e, \u003ccode\u003e_asdict\u003c/code\u003e and \u003ccode\u003e_replace\u003c/code\u003e in autocomplete suggestions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20356\"\u003e#20356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically add \u003ccode\u003epython/\u003c/code\u003e to \u003ccode\u003eenvironment.root\u003c/code\u003e if a \u003ccode\u003epython/\u003c/code\u003e folder exists in the root of a repository (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20358\"\u003e#20358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GitLab output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20155\"\u003e#20155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTyping semantics and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for generic \u003ca href=\"https://peps.python.org/pep-0695/#generic-type-alias\"\u003ePEP-695 type aliases\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20219\"\u003e#20219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow annotation expressions to be \u003ccode\u003east::Attribute\u003c/code\u003e nodes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20413\"\u003e#20413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow protocols to participate in nominal subtyping as well as structural subtyping (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20314\"\u003e#20314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAttribute access on top/bottom materializations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20221\"\u003e#20221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBind \u003ccode\u003eSelf\u003c/code\u003e type variables to the method, not the class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20366\"\u003e#20366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased bound methods are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20330\"\u003e#20330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased builtin functions are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20331\"\u003e#20331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFall back to \u003ccode\u003eobject\u003c/code\u003e for attribute access on synthesized protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20286\"\u003e#20286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix signature of \u003ccode\u003eNamedTupleLike._make\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix subtyping/assignability of function- and class-literal types to callback protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20363\"\u003e#20363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement the legacy PEP-484 convention for indicating positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20248\"\u003e#20248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer more precise types for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20360\"\u003e#20360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eTypeIs\u003c/code\u003e invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow specialized generics using \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20256\"\u003e#20256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProper assignability/subtyping checks for protocols with method members (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20165\"\u003e#20165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce false positives for \u003ccode\u003eParamSpec\u003c/code\u003es and \u003ccode\u003eTypeVarTuple\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20239\"\u003e#20239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOverload evaluation: retry parameter matching for argument type expansion (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20153\"\u003e#20153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u0026quot;legacy\u0026quot; \u003ccode\u003etyping.Self\u003c/code\u003e in combination with \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP-695\u003c/a\u003e generic contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eHashable\u003c/code\u003e, and similar protocols, equivalently to \u003ccode\u003eobject\u003c/code\u003e for subtyping/assignability (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20284\"\u003e#20284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003e__new__\u003c/code\u003e as a static method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20212\"\u003e#20212\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/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.0.1-alpha.21\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix inference of constructor calls to generic classes that have explicitly annotated \u003ccode\u003eself\u003c/code\u003e parameters in their \u003ccode\u003e__init__\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a stack overflow when computing completions for recursive types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20354\"\u003e#20354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003eBoundMethodType::into_callable_type()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20369\"\u003e#20369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflows in binary comparison inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many \u0026quot;too many cycle iterations\u0026quot; panics concerning recursive type aliases and/or recursive generics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20359\"\u003e#20359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow involving subtype checks for recursive type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20259\"\u003e#20259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when inferring the type of an infinitely-nested-tuple implicit instance attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for unimported symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20207\"\u003e#20207\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20439\"\u003e#20439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude generated \u003ccode\u003eNamedTuple\u003c/code\u003e methods such as \u003ccode\u003e_make\u003c/code\u003e, \u003ccode\u003e_asdict\u003c/code\u003e and \u003ccode\u003e_replace\u003c/code\u003e in autocomplete suggestions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20356\"\u003e#20356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically add \u003ccode\u003epython/\u003c/code\u003e to \u003ccode\u003eenvironment.root\u003c/code\u003e if a \u003ccode\u003epython/\u003c/code\u003e folder exists in the root of a repository (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20358\"\u003e#20358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GitLab output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20155\"\u003e#20155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTyping semantics and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for generic \u003ca href=\"https://peps.python.org/pep-0695/#generic-type-alias\"\u003ePEP-695 type aliases\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20219\"\u003e#20219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow annotation expressions to be \u003ccode\u003east::Attribute\u003c/code\u003e nodes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20413\"\u003e#20413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow protocols to participate in nominal subtyping as well as structural subtyping (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20314\"\u003e#20314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAttribute access on top/bottom materializations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20221\"\u003e#20221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBind \u003ccode\u003eSelf\u003c/code\u003e type variables to the method, not the class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20366\"\u003e#20366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased bound methods are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20330\"\u003e#20330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased builtin functions are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20331\"\u003e#20331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFall back to \u003ccode\u003eobject\u003c/code\u003e for attribute access on synthesized protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20286\"\u003e#20286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix signature of \u003ccode\u003eNamedTupleLike._make\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix subtyping/assignability of function- and class-literal types to callback protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20363\"\u003e#20363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement the legacy PEP-484 convention for indicating positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20248\"\u003e#20248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer more precise types for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20360\"\u003e#20360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eTypeIs\u003c/code\u003e invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow specialized generics using \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20256\"\u003e#20256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProper assignability/subtyping checks for protocols with method members (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20165\"\u003e#20165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce false positives for \u003ccode\u003eParamSpec\u003c/code\u003es and \u003ccode\u003eTypeVarTuple\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20239\"\u003e#20239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOverload evaluation: retry parameter matching for argument type expansion (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20153\"\u003e#20153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u0026quot;legacy\u0026quot; \u003ccode\u003etyping.Self\u003c/code\u003e in combination with \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP-695\u003c/a\u003e generic contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eHashable\u003c/code\u003e, and similar protocols, equivalently to \u003ccode\u003eobject\u003c/code\u003e for subtyping/assignability (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20284\"\u003e#20284\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/ty/commit/ef52a1940d79a886727d591e6273b63a5666ed59\"\u003e\u003ccode\u003eef52a19\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1-alpha.21 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1205\"\u003e#1205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fa31d374be4813b965ca221786ff0e85bc555a5c\"\u003e\u003ccode\u003efa31d37\u003c/code\u003e\u003c/a\u003e Upgrade to the latest rooster commit (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a6b0014373e383adcb0638c5478aad5c8ca32c72\"\u003e\u003ccode\u003ea6b0014\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2a91f544bce7c952e017bc4776f60d89d8ad1f23\"\u003e\u003ccode\u003e2a91f54\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v6.7.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1183\"\u003e#1183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fefab88458b5a3de40f5fa9ae001e5f54373cca6\"\u003e\u003ccode\u003efefab88\u003c/code\u003e\u003c/a\u003e Update actions/github-script action to v8 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1148\"\u003e#1148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fd5fcba05622c87d469040d2998d5779be45e3eb\"\u003e\u003ccode\u003efd5fcba\u003c/code\u003e\u003c/a\u003e Update actions/download-artifact digest to abefc31 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1144\"\u003e#1144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b346b48db2fc6ae01b3430697e5eb80ff1943a56\"\u003e\u003ccode\u003eb346b48\u003c/code\u003e\u003c/a\u003e Update rui314/setup-mold digest to 725a879 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1145\"\u003e#1145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2efaa6af05f79c1a31de8280c0040250e0ebd13b\"\u003e\u003ccode\u003e2efaa6a\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1147\"\u003e#1147\u003c/a\u003e)G\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/9eea4858850b5c74c2dc00144288df7df09742c5\"\u003e\u003ccode\u003e9eea485\u003c/code\u003e\u003c/a\u003e Update actions/setup-python action to v6 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1149\"\u003e#1149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b15649083b47d9f4c860084526143b7cd1396798\"\u003e\u003ccode\u003eb156490\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v6.6.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.1-alpha.20...0.0.1-alpha.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-llmstxt` from 0.3.1 to 0.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.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/feldroy/air/pull/468","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/feldroy%2Fair/issues/468","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/468/packages"},{"uuid":"2843801324","node_id":"PR_kwDOEjWUk86pgPbs","number":4508,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.3.1 to 0.3.2 in /docs","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-19T13:11:18.000Z","updated_at":"2025-09-20T08:16:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.1 to 0.3.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.1\u0026new-version=0.3.2)](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/aws-powertools/powertools-lambda-typescript/pull/4508","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-typescript/issues/4508","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4508/packages"},{"uuid":"3434190602","node_id":"PR_kwDOAtl3uc6pfy72","number":464,"state":"closed","title":"⬆(deps): Bump the python-dependencies group with 4 updates","user":"dependabot[bot]","labels":["deps","uv","dependabot"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-09-19T14:42:04.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-19T12:28:49.000Z","updated_at":"2025-09-19T14:42:04.000Z","time_to_close":7995,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆(deps): Bump","group_name":"python-dependencies","update_count":4,"packages":[{"name":"pyrefly","old_version":"0.33.0","new_version":"0.33.1","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.13.0","new_version":"0.13.1","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.1a20","new_version":"0.0.1a21","repository_url":"https://github.com/astral-sh/ty"},{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 4 updates: [pyrefly](https://github.com/facebook/pyrefly), [ruff](https://github.com/astral-sh/ruff), [ty](https://github.com/astral-sh/ty) and [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt).\n\nUpdates `pyrefly` from 0.33.0 to 0.33.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/f1b3475981c10153934afe5b06170fa7c61336bf\"\u003e\u003ccode\u003ef1b3475\u003c/code\u003e\u003c/a\u003e Bump to 0.33.1 (\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1113\"\u003e#1113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/707ba2795fab32e3f04187ed46575c1ef4179055\"\u003e\u003ccode\u003e707ba27\u003c/code\u003e\u003c/a\u003e Add max files arg for dump config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/81133d9294f1e8c7b54cf33d439a7457fbcaa468\"\u003e\u003ccode\u003e81133d9\u003c/code\u003e\u003c/a\u003e Add nesting context to \u003ccode\u003eClass::has_qname()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/1f9ba6f8249aed59f8f7962228ffb64fd6fbf132\"\u003e\u003ccode\u003e1f9ba6f\u003c/code\u003e\u003c/a\u003e Use nesting context to print nested class names properly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/67fcf91b83aa97ce695e875b420005ff2ce53fa7\"\u003e\u003ccode\u003e67fcf91\u003c/code\u003e\u003c/a\u003e Pass around nesting context to answer solver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/d64458968f32e10a6c23fe6b6632fbfe7b4eb572\"\u003e\u003ccode\u003ed644589\u003c/code\u003e\u003c/a\u003e Pass around nesting context in binding builder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/4e3ba0b68c93a5de9f15a528bb48ccf8cb90fbfe\"\u003e\u003ccode\u003e4e3ba0b\u003c/code\u003e\u003c/a\u003e Introducing a \u003ccode\u003eNestingContext\u003c/code\u003e data structure to represent nestings properly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/41d50a3bbcec11d42a35649108927edd98529beb\"\u003e\u003ccode\u003e41d50a3\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003eQName\u003c/code\u003e from \u003ccode\u003epyrefly_types\u003c/code\u003e to \u003ccode\u003epyrefly_python\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/82e59ae98ffaa3f63bea260740d598c6ac4362aa\"\u003e\u003ccode\u003e82e59ae\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eloc\u003c/code\u003e to \u003ccode\u003erange\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/168859bb9c2a06a67bea760316b3f61ae1988edf\"\u003e\u003ccode\u003e168859b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003edel\u003c/code\u003e-defined names to \u003ccode\u003eDefinitions\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.33.0...0.33.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.0 to 0.13.1\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.13.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-18.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Detect unnecessary \u003ccode\u003eNone\u003c/code\u003e default for additional key expression types (\u003ccode\u003eSIM910\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20343\"\u003e#20343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fix for \u003ccode\u003ePTH123\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20169\"\u003e#20169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH111\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20215\"\u003e#20215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eE301\u003c/code\u003e to only trigger for functions immediately within a class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19768\"\u003e#19768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20279\"\u003e#20279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle t-strings for token-based rules and suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20357\"\u003e#20357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix truthiness: dict-only \u003ccode\u003e**\u003c/code\u003e displays not truthy for \u003ccode\u003eshell\u003c/code\u003e (\u003ccode\u003eS602\u003c/code\u003e, \u003ccode\u003eS604\u003c/code\u003e, \u003ccode\u003eS609\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20177\"\u003e#20177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix diagnostic to show correct method name for \u003ccode\u003estr.rsplit\u003c/code\u003e calls (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20459\"\u003e#20459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20197\"\u003e#20197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variable (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20427\"\u003e#20427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Prevent infinite loop with \u003ccode\u003eI002\u003c/code\u003e and \u003ccode\u003eUP026\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20327\"\u003e#20327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Recognize t-strings, generators, and lambdas in \u003ccode\u003einvalid-index-type\u003c/code\u003e (\u003ccode\u003eRUF016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20213\"\u003e#20213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eRUF102\u003c/code\u003e] Respect rule redirects in invalid rule code detection (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20245\"\u003e#20245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Mark the fix for \u003ccode\u003eunreliable-callable-check\u003c/code\u003e as always unsafe (\u003ccode\u003eB004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20318\"\u003e#20318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dataclass attribute value instantiation from nested frozen dataclass (\u003ccode\u003eRUF009\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20352\"\u003e#20352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fixes to \u003ccode\u003eoutput-format=sarif\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20300\"\u003e#20300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat panics as fatal diagnostics, sort panics last (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eanalyze.string-imports-min-dots\u003c/code\u003e to settings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20375\"\u003e#20375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README.md with Albumentations new repository URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20415\"\u003e#20415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable inline noqa for multiline strings in playground (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20442\"\u003e#20442\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/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\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/IDrokin117\"\u003e\u003ccode\u003e@​IDrokin117\u003c/code\u003e\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/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.13.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-18.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Detect unnecessary \u003ccode\u003eNone\u003c/code\u003e default for additional key expression types (\u003ccode\u003eSIM910\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20343\"\u003e#20343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fix for \u003ccode\u003ePTH123\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20169\"\u003e#20169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH111\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20215\"\u003e#20215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eE301\u003c/code\u003e to only trigger for functions immediately within a class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19768\"\u003e#19768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20279\"\u003e#20279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle t-strings for token-based rules and suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20357\"\u003e#20357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix truthiness: dict-only \u003ccode\u003e**\u003c/code\u003e displays not truthy for \u003ccode\u003eshell\u003c/code\u003e (\u003ccode\u003eS602\u003c/code\u003e, \u003ccode\u003eS604\u003c/code\u003e, \u003ccode\u003eS609\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20177\"\u003e#20177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix diagnostic to show correct method name for \u003ccode\u003estr.rsplit\u003c/code\u003e calls (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20459\"\u003e#20459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20197\"\u003e#20197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variable (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20427\"\u003e#20427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Prevent infinite loop with \u003ccode\u003eI002\u003c/code\u003e and \u003ccode\u003eUP026\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20327\"\u003e#20327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Recognize t-strings, generators, and lambdas in \u003ccode\u003einvalid-index-type\u003c/code\u003e (\u003ccode\u003eRUF016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20213\"\u003e#20213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eRUF102\u003c/code\u003e] Respect rule redirects in invalid rule code detection (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20245\"\u003e#20245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Mark the fix for \u003ccode\u003eunreliable-callable-check\u003c/code\u003e as always unsafe (\u003ccode\u003eB004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20318\"\u003e#20318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dataclass attribute value instantiation from nested frozen dataclass (\u003ccode\u003eRUF009\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20352\"\u003e#20352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fixes to \u003ccode\u003eoutput-format=sarif\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20300\"\u003e#20300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat panics as fatal diagnostics, sort panics last (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eanalyze.string-imports-min-dots\u003c/code\u003e to settings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20375\"\u003e#20375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README.md with Albumentations new repository URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20415\"\u003e#20415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable inline noqa for multiline strings in playground (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20442\"\u003e#20442\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/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\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/IDrokin117\"\u003e\u003ccode\u003e@​IDrokin117\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\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/706be0a6e7e09936511198f2ff8982915520d138\"\u003e\u003ccode\u003e706be0a\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epyproject.toml\u003c/code\u003e to rooster config \u003ccode\u003eversion_files\u003c/code\u003e and bump to 0.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7b40428b6a1aaad88abb05b2fa291f0ae895d379\"\u003e\u003ccode\u003e7b40428\u003c/code\u003e\u003c/a\u003e Bump 0.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20473\"\u003e#20473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9b57553681965e5cde1120f3f78ec50f8c7cd4a\"\u003e\u003ccode\u003eb9b5755\u003c/code\u003e\u003c/a\u003e Upgrade to the latest rooster version and include contributors in CHANGELOG (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b4b5d67a4a4cc7193b4867dcc748c8399571eaf8\"\u003e\u003ccode\u003eb4b5d67\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0b60584b7e561f7ff7120f3ff6ecb5394522d90f\"\u003e\u003ccode\u003e0b60584\u003c/code\u003e\u003c/a\u003e Bump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/821b2f8b2e033bfff407a908e11d71126b7bef45\"\u003e\u003ccode\u003e821b2f8\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1758f26d941afac9ed497c5ad34253f3c5446d07\"\u003e\u003ccode\u003e1758f26\u003c/code\u003e\u003c/a\u003e Update rust toolchain to 1.90 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20469\"\u003e#20469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2502ff7638da3d290eacd4fcef34809faaeddfd5\"\u003e\u003ccode\u003e2502ff7\u003c/code\u003e\u003c/a\u003e [ty] Make TypeIs invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/144373fb3c8690043eec30a12bd5d6c55e8e9ca6\"\u003e\u003ccode\u003e144373f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/91995aa5169175de55494bc3bb59781c7a3097fc\"\u003e\u003ccode\u003e91995aa\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variabl...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.0...0.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.1a20 to 0.0.1a21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.1-alpha.21\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix inference of constructor calls to generic classes that have explicitly annotated \u003ccode\u003eself\u003c/code\u003e parameters in their \u003ccode\u003e__init__\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a stack overflow when computing completions for recursive types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20354\"\u003e#20354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003eBoundMethodType::into_callable_type()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20369\"\u003e#20369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflows in binary comparison inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many \u0026quot;too many cycle iterations\u0026quot; panics concerning recursive type aliases and/or recursive generics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20359\"\u003e#20359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow involving subtype checks for recursive type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20259\"\u003e#20259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when inferring the type of an infinitely-nested-tuple implicit instance attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for unimported symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20207\"\u003e#20207\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20439\"\u003e#20439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude generated \u003ccode\u003eNamedTuple\u003c/code\u003e methods such as \u003ccode\u003e_make\u003c/code\u003e, \u003ccode\u003e_asdict\u003c/code\u003e and \u003ccode\u003e_replace\u003c/code\u003e in autocomplete suggestions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20356\"\u003e#20356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically add \u003ccode\u003epython/\u003c/code\u003e to \u003ccode\u003eenvironment.root\u003c/code\u003e if a \u003ccode\u003epython/\u003c/code\u003e folder exists in the root of a repository (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20358\"\u003e#20358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GitLab output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20155\"\u003e#20155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTyping semantics and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for generic \u003ca href=\"https://peps.python.org/pep-0695/#generic-type-alias\"\u003ePEP-695 type aliases\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20219\"\u003e#20219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow annotation expressions to be \u003ccode\u003east::Attribute\u003c/code\u003e nodes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20413\"\u003e#20413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow protocols to participate in nominal subtyping as well as structural subtyping (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20314\"\u003e#20314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAttribute access on top/bottom materializations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20221\"\u003e#20221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBind \u003ccode\u003eSelf\u003c/code\u003e type variables to the method, not the class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20366\"\u003e#20366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased bound methods are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20330\"\u003e#20330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased builtin functions are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20331\"\u003e#20331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFall back to \u003ccode\u003eobject\u003c/code\u003e for attribute access on synthesized protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20286\"\u003e#20286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix signature of \u003ccode\u003eNamedTupleLike._make\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix subtyping/assignability of function- and class-literal types to callback protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20363\"\u003e#20363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement the legacy PEP-484 convention for indicating positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20248\"\u003e#20248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer more precise types for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20360\"\u003e#20360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eTypeIs\u003c/code\u003e invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow specialized generics using \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20256\"\u003e#20256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProper assignability/subtyping checks for protocols with method members (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20165\"\u003e#20165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce false positives for \u003ccode\u003eParamSpec\u003c/code\u003es and \u003ccode\u003eTypeVarTuple\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20239\"\u003e#20239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOverload evaluation: retry parameter matching for argument type expansion (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20153\"\u003e#20153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u0026quot;legacy\u0026quot; \u003ccode\u003etyping.Self\u003c/code\u003e in combination with \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP-695\u003c/a\u003e generic contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eHashable\u003c/code\u003e, and similar protocols, equivalently to \u003ccode\u003eobject\u003c/code\u003e for subtyping/assignability (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20284\"\u003e#20284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003e__new__\u003c/code\u003e as a static method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20212\"\u003e#20212\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/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.0.1-alpha.21\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix inference of constructor calls to generic classes that have explicitly annotated \u003ccode\u003eself\u003c/code\u003e parameters in their \u003ccode\u003e__init__\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a stack overflow when computing completions for recursive types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20354\"\u003e#20354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003eBoundMethodType::into_callable_type()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20369\"\u003e#20369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflows in binary comparison inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many \u0026quot;too many cycle iterations\u0026quot; panics concerning recursive type aliases and/or recursive generics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20359\"\u003e#20359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow involving subtype checks for recursive type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20259\"\u003e#20259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when inferring the type of an infinitely-nested-tuple implicit instance attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for unimported symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20207\"\u003e#20207\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20439\"\u003e#20439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude generated \u003ccode\u003eNamedTuple\u003c/code\u003e methods such as \u003ccode\u003e_make\u003c/code\u003e, \u003ccode\u003e_asdict\u003c/code\u003e and \u003ccode\u003e_replace\u003c/code\u003e in autocomplete suggestions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20356\"\u003e#20356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically add \u003ccode\u003epython/\u003c/code\u003e to \u003ccode\u003eenvironment.root\u003c/code\u003e if a \u003ccode\u003epython/\u003c/code\u003e folder exists in the root of a repository (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20358\"\u003e#20358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GitLab output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20155\"\u003e#20155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTyping semantics and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for generic \u003ca href=\"https://peps.python.org/pep-0695/#generic-type-alias\"\u003ePEP-695 type aliases\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20219\"\u003e#20219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow annotation expressions to be \u003ccode\u003east::Attribute\u003c/code\u003e nodes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20413\"\u003e#20413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow protocols to participate in nominal subtyping as well as structural subtyping (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20314\"\u003e#20314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAttribute access on top/bottom materializations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20221\"\u003e#20221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBind \u003ccode\u003eSelf\u003c/code\u003e type variables to the method, not the class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20366\"\u003e#20366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased bound methods are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20330\"\u003e#20330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased builtin functions are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20331\"\u003e#20331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFall back to \u003ccode\u003eobject\u003c/code\u003e for attribute access on synthesized protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20286\"\u003e#20286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix signature of \u003ccode\u003eNamedTupleLike._make\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix subtyping/assignability of function- and class-literal types to callback protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20363\"\u003e#20363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement the legacy PEP-484 convention for indicating positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20248\"\u003e#20248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer more precise types for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20360\"\u003e#20360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eTypeIs\u003c/code\u003e invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow specialized generics using \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20256\"\u003e#20256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProper assignability/subtyping checks for protocols with method members (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20165\"\u003e#20165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce false positives for \u003ccode\u003eParamSpec\u003c/code\u003es and \u003ccode\u003eTypeVarTuple\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20239\"\u003e#20239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOverload evaluation: retry parameter matching for argument type expansion (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20153\"\u003e#20153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u0026quot;legacy\u0026quot; \u003ccode\u003etyping.Self\u003c/code\u003e in combination with \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP-695\u003c/a\u003e generic contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eHashable\u003c/code\u003e, and similar protocols, equivalently to \u003ccode\u003eobject\u003c/code\u003e for subtyping/assignability (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20284\"\u003e#20284\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/ty/commit/ef52a1940d79a886727d591e6273b63a5666ed59\"\u003e\u003ccode\u003eef52a19\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1-alpha.21 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1205\"\u003e#1205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fa31d374be4813b965ca221786ff0e85bc555a5c\"\u003e\u003ccode\u003efa31d37\u003c/code\u003e\u003c/a\u003e Upgrade to the latest rooster commit (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a6b0014373e383adcb0638c5478aad5c8ca32c72\"\u003e\u003ccode\u003ea6b0014\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2a91f544bce7c952e017bc4776f60d89d8ad1f23\"\u003e\u003ccode\u003e2a91f54\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v6.7.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1183\"\u003e#1183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fefab88458b5a3de40f5fa9ae001e5f54373cca6\"\u003e\u003ccode\u003efefab88\u003c/code\u003e\u003c/a\u003e Update actions/github-script action to v8 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1148\"\u003e#1148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fd5fcba05622c87d469040d2998d5779be45e3eb\"\u003e\u003ccode\u003efd5fcba\u003c/code\u003e\u003c/a\u003e Update actions/download-artifact digest to abefc31 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1144\"\u003e#1144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b346b48db2fc6ae01b3430697e5eb80ff1943a56\"\u003e\u003ccode\u003eb346b48\u003c/code\u003e\u003c/a\u003e Update rui314/setup-mold digest to 725a879 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1145\"\u003e#1145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2efaa6af05f79c1a31de8280c0040250e0ebd13b\"\u003e\u003ccode\u003e2efaa6a\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1147\"\u003e#1147\u003c/a\u003e)G\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/9eea4858850b5c74c2dc00144288df7df09742c5\"\u003e\u003ccode\u003e9eea485\u003c/code\u003e\u003c/a\u003e Update actions/setup-python action to v6 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1149\"\u003e#1149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b15649083b47d9f4c860084526143b7cd1396798\"\u003e\u003ccode\u003eb156490\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v6.6.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.1-alpha.20...0.0.1-alpha.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-llmstxt` from 0.3.1 to 0.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.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/feldroy/air/pull/464","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/feldroy%2Fair/issues/464","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/464/packages"},{"uuid":"2824856118","node_id":"PR_kwDOBYpCG86oX-I2","number":2694,"state":"open","title":"Bump the python-packages group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-13T08:16:25.000Z","updated_at":"2025-09-13T08:16:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":14,"packages":[{"name":"websockets","old_version":"13.1","new_version":"15.0.1","repository_url":"https://github.com/python-websockets/websockets"},{"name":"ruff","old_version":"0.11.9","new_version":"0.13.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.0","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.1","repository_url":"https://github.com/python/mypy"},{"name":"types-pyyaml","old_version":"6.0.12.20250402","new_version":"6.0.12.20250822","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"cryptography","old_version":"44.0.3","new_version":"45.0.7","repository_url":"https://github.com/pyca/cryptography"},{"name":"coverage","old_version":"7.8.0","new_version":"7.10.6","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"a2wsgi","old_version":"1.10.8","new_version":"1.10.10","repository_url":"https://github.com/abersheeran/a2wsgi"},{"name":"mkdocs-material","old_version":"9.6.13","new_version":"9.6.19","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"mkdocstrings-python","old_version":"1.16.12","new_version":"1.18.2","repository_url":"https://github.com/mkdocstrings/python"},{"name":"mkdocs-llmstxt","old_version":"0.2.0","new_version":"0.3.1","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [websockets](https://github.com/python-websockets/websockets) | `13.1` | `15.0.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.11.9` | `0.13.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.0` |\n| [pytest-xdist[psutil]](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.1` |\n| [types-pyyaml](https://github.com/typeshed-internal/stub_uploader) | `6.0.12.20250402` | `6.0.12.20250822` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.3` | `45.0.7` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.8.0` | `7.10.6` |\n| [twine](https://github.com/pypa/twine) | `6.1.0` | `6.2.0` |\n| [a2wsgi](https://github.com/abersheeran/a2wsgi) | `1.10.8` | `1.10.10` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.6.13` | `9.6.19` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `1.16.12` | `1.18.2` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.2.0` | `0.3.1` |\n\n\nUpdates `websockets` from 13.1 to 15.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-websockets/websockets/releases\"\u003ewebsockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.0.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e15.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\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/python-websockets/websockets/commit/37c9bc0781f0cc5af7c729947ef1833c1e12b70d\"\u003e\u003ccode\u003e37c9bc0\u003c/code\u003e\u003c/a\u003e Release version 15.0.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/fce02abb7843bbbad78a53ec0740620dc183ff45\"\u003e\u003ccode\u003efce02ab\u003c/code\u003e\u003c/a\u003e Docs. Correct Producer pattern example.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/5fa24bbb4aa5e0ee4dcc2cf1ce186f3ab68349a6\"\u003e\u003ccode\u003e5fa24bb\u003c/code\u003e\u003c/a\u003e Exit cleanly the interactive client on ^C.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/d0e60d319f95cfab19ac027410dbf07799c76c1d\"\u003e\u003ccode\u003ed0e60d3\u003c/code\u003e\u003c/a\u003e Remove spurious PYTHONPATH declarations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/d7dafcc95a7b0277cb06d67024fab024045e9de9\"\u003e\u003ccode\u003ed7dafcc\u003c/code\u003e\u003c/a\u003e Add test coverage for interactive client.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/3c62503261f899ebd6f0cdbb6222d8052f842ef2\"\u003e\u003ccode\u003e3c62503\u003c/code\u003e\u003c/a\u003e Use entrypoint instead of runpy in docs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/f4e4345b7a39a5275dbdf92d1ccc64383a19ca35\"\u003e\u003ccode\u003ef4e4345\u003c/code\u003e\u003c/a\u003e added entry point script for the cli client in the pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/6f89bacb0754d4f541d70d1444f7bd9eac69ba60\"\u003e\u003ccode\u003e6f89bac\u003c/code\u003e\u003c/a\u003e Start version 15.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/7ac73c645329055a3c352077b8055e6ed65fa46c\"\u003e\u003ccode\u003e7ac73c6\u003c/code\u003e\u003c/a\u003e Release version 15.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/a1ba01db142459db0ea6f7659b3a5f4962749fa6\"\u003e\u003ccode\u003ea1ba01d\u003c/code\u003e\u003c/a\u003e Rewrite interactive client (again) without threads.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-websockets/websockets/compare/13.1...15.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.11.9 to 0.13.0\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.13.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.13.0\"\u003eblog post\u003c/a\u003e for a migration guide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSeveral rules can now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e, \u003ccode\u003eRUF013\u003c/code\u003e, and \u003ccode\u003eUP037\u003c/code\u003e now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e as part of their fixes when the \u003ccode\u003elint.future-annotations\u003c/code\u003e setting is enabled. This allows the rules to move more imports into \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, and \u003ccode\u003eTC003\u003c/code\u003e), use PEP 604 union syntax on Python versions before 3.10 (\u003ccode\u003eRUF013\u003c/code\u003e), and unquote more annotations (\u003ccode\u003eUP037\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFull module paths are now used to verify first-party modules\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff now checks that the full path to a module exists on disk before categorizing it as a first-party import. This change makes first-party import detection more accurate, helping to avoid false positives on local directories with the same name as a third-party dependency, for example. See the \u003ca href=\"https://docs.astral.sh/ruff/faq/#how-does-ruff-determine-which-of-my-imports-are-first-party-third-party-etc\"\u003eFAQ section\u003c/a\u003e on import categorization for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecated rules must now be selected by exact rule code\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer activate deprecated rules selected by their group name or prefix. As noted below, the two remaining deprecated rules were also removed in this release, so this won't affect any current rules, but it will still affect any deprecations in the future.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe deprecated macOS configuration directory fallback has been removed\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer look for a user-level configuration file at \u003ccode\u003e~/Library/Application Support/ruff/ruff.toml\u003c/code\u003e on macOS. This feature was deprecated in v0.5 in favor of using the \u003ca href=\"https://specifications.freedesktop.org/basedir-spec/latest/\"\u003eXDG specification\u003c/a\u003e (usually resolving to \u003ccode\u003e~/.config/ruff/ruff.toml\u003c/code\u003e), like on Linux. The fallback and accompanying deprecation warning have now been removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved Rules\u003c/h3\u003e\n\u003cp\u003eThe following rules have been removed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pandas-df-variable-name\"\u003e\u003ccode\u003epandas-df-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePD901\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-pep604-isinstance\"\u003e\u003ccode\u003enon-pep604-isinstance\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP038\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow-dag-no-schedule-argument\"\u003e\u003ccode\u003eairflow-dag-no-schedule-argument\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR002\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-removal\"\u003e\u003ccode\u003eairflow3-removal\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR301\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-moved-to-provider\"\u003e\u003ccode\u003eairflow3-moved-to-provider\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR302\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-suggested-update\"\u003e\u003ccode\u003eairflow3-suggested-update\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR311\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-suggested-to-move-to-provider\"\u003e\u003ccode\u003eairflow3-suggested-to-move-to-provider\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR312\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/long-sleep-not-forever\"\u003e\u003ccode\u003elong-sleep-not-forever\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC116\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/f-string-number-format\"\u003e\u003ccode\u003ef-string-number-format\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB116\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/os-symlink\"\u003e\u003ccode\u003eos-symlink\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePTH211\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/generic-not-last-base-class\"\u003e\u003ccode\u003egeneric-not-last-base-class\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePYI059\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/redundant-none-literal\"\u003e\u003ccode\u003eredundant-none-literal\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePYI061\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pytest-raises-ambiguous-pattern\"\u003e\u003ccode\u003epytest-raises-ambiguous-pattern\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF043\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unused-unpacked-variable\"\u003e\u003ccode\u003eunused-unpacked-variable\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF059\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-class-metaclass-type\"\u003e\u003ccode\u003euseless-class-metaclass-type\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP050\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following behaviors have been stabilized:\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/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.13.0\u003c/h2\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.13.0\"\u003eblog post\u003c/a\u003e for a migration\nguide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSeveral rules can now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e, \u003ccode\u003eRUF013\u003c/code\u003e, and \u003ccode\u003eUP037\u003c/code\u003e now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e as part of their fixes when the\n\u003ccode\u003elint.future-annotations\u003c/code\u003e setting is enabled. This allows the rules to move\nmore imports into \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, and \u003ccode\u003eTC003\u003c/code\u003e),\nuse PEP 604 union syntax on Python versions before 3.10 (\u003ccode\u003eRUF013\u003c/code\u003e), and\nunquote more annotations (\u003ccode\u003eUP037\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFull module paths are now used to verify first-party modules\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff now checks that the full path to a module exists on disk before\ncategorizing it as a first-party import. This change makes first-party\nimport detection more accurate, helping to avoid false positives on local\ndirectories with the same name as a third-party dependency, for example. See\nthe \u003ca href=\"https://docs.astral.sh/ruff/faq/#how-does-ruff-determine-which-of-my-imports-are-first-party-third-party-etc\"\u003eFAQ\nsection\u003c/a\u003e on import categorization for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecated rules must now be selected by exact rule code\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer activate deprecated rules selected by their group name\nor prefix. As noted below, the two remaining deprecated rules were also\nremoved in this release, so this won't affect any current rules, but it will\nstill affect any deprecations in the future.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe deprecated macOS configuration directory fallback has been removed\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer look for a user-level configuration file at\n\u003ccode\u003e~/Library/Application Support/ruff/ruff.toml\u003c/code\u003e on macOS. This feature was\ndeprecated in v0.5 in favor of using the \u003ca href=\"https://specifications.freedesktop.org/basedir-spec/latest/\"\u003eXDG\nspecification\u003c/a\u003e\n(usually resolving to \u003ccode\u003e~/.config/ruff/ruff.toml\u003c/code\u003e), like on Linux. The\nfallback and accompanying deprecation warning have now been removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved Rules\u003c/h3\u003e\n\u003cp\u003eThe following rules have been removed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pandas-df-variable-name\"\u003e\u003ccode\u003epandas-df-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePD901\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-pep604-isinstance\"\u003e\u003ccode\u003enon-pep604-isinstance\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP038\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\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/astral-sh/ruff/commit/a1fdd66f10a045a574efb20e422868b21decda40\"\u003e\u003ccode\u003ea1fdd66\u003c/code\u003e\u003c/a\u003e Bump 0.13.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20336\"\u003e#20336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8770b95509b7a5a3b23061d739e6260303613f55\"\u003e\u003ccode\u003e8770b95\u003c/code\u003e\u003c/a\u003e [ty] introduce \u003ccode\u003eDivergentType\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20312\"\u003e#20312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/65982a1e14a15449ea0ed5cf66b7f9dea6d3e82c\"\u003e\u003ccode\u003e65982a1\u003c/code\u003e\u003c/a\u003e [ty] Use 'unknown' specialization for upper bound on Self (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/57d1f7132dbac82e07f22560dbedba7cff1dadc4\"\u003e\u003ccode\u003e57d1f71\u003c/code\u003e\u003c/a\u003e [ty] Simplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7a75702237e6f0bc605d3d8e9470c4ca9f37c69e\"\u003e\u003ccode\u003e7a75702\u003c/code\u003e\u003c/a\u003e Ignore deprecated rules unless selected by exact code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20167\"\u003e#20167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9ca632c84fef6ecb7fc810cacb0df801c7949c70\"\u003e\u003ccode\u003e9ca632c\u003c/code\u003e\u003c/a\u003e Stabilize adding future import via config option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20277\"\u003e#20277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/64fe7d30a3ac9444eab1ed397c451b6c6e80bc6f\"\u003e\u003ccode\u003e64fe7d3\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-errmsg\u003c/code\u003e] Stabilize extending \u003ccode\u003eraw-string-in-exception\u003c/code\u003e (\u003ccode\u003eEM101\u003c/code\u003e) to ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/beeeb8d5c5c8dabea2b11b0b8ed0f3c12dbf22c7\"\u003e\u003ccode\u003ebeeeb8d\u003c/code\u003e\u003c/a\u003e Stabilize the remaining Airflow rules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20250\"\u003e#20250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b6fca52855d01dd40904386f5b8a6d4a17caae11\"\u003e\u003ccode\u003eb6fca52\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Stabilize support for non-context-manager calls in `assert...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ac7f882c78db09700bf6bccefe0e9a27fb1696b9\"\u003e\u003ccode\u003eac7f882\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-commas\u003c/code\u003e] Stabilize support for trailing comma checks in type paramet...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.11.9...0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.3.5 to 8.4.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\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\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/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\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/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\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/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.4.1\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.1 (2025-06-17)\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/13461\"\u003e#13461\u003c/a\u003e: Corrected \u003ccode\u003e_pytest.terminal.TerminalReporter.isatty\u003c/code\u003e to support\nbeing called as a method. Before it was just a boolean which could\nbreak correct code when using \u003ccode\u003e-o log_cli=true\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13477\"\u003e#13477\u003c/a\u003e: Reintroduced \u003ccode\u003epytest.PytestReturnNotNoneWarning\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} which was removed by accident in pytest [8.4]{.title-ref}.\u003c/p\u003e\n\u003cp\u003eThis warning is raised when a test functions returns a value other than \u003ccode\u003eNone\u003c/code\u003e, which is often a mistake made by beginners.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003ereturn-not-none\u003c/code\u003e{.interpreted-text role=\u0026quot;ref\u0026quot;} for more information.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13497\"\u003e#13497\u003c/a\u003e: Fixed compatibility with \u003ccode\u003eTwisted 25+\u003c/code\u003e.\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/13492\"\u003e#13492\u003c/a\u003e: Fixed outdated warning about \u003ccode\u003efaulthandler\u003c/code\u003e not working on Windows.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.4.0\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.0 (2025-06-02)\u003c/h1\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/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.3.5...8.4.2\"\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.0 to 3.15.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-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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.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\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/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/53a6190b9c793f0b1801cd8b08afd58d3436bad6\"\u003e\u003ccode\u003e53a6190\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5aa9e9cd7e0d25403c8d9d478bc3480bb5ca2456\"\u003e\u003ccode\u003e5aa9e9c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003espy_return_iter\u003c/code\u003e attribute to \u003ccode\u003espy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/524\"\u003e#524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/dc6df75a91aad4980af1a711e42a2ade19960f36\"\u003e\u003ccode\u003edc6df75\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/526\"\u003e#526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/b977d83d051390c5efd91b02884236ea5eba8ae4\"\u003e\u003ccode\u003eb977d83\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/525\"\u003e#525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/bd66c9cb8b1ffc59b4d9e42a1b413bafa3a16eac\"\u003e\u003ccode\u003ebd66c9c\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f9e47b6e1685169972488391d8c2ba1d10e0901d\"\u003e\u003ccode\u003ef9e47b6\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/3aec7677f47f6c4b89dbdee9e4a32a8fe047943f\"\u003e\u003ccode\u003e3aec767\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e09e5be3fcaa54102006b7c01add91ac33ebf9ed\"\u003e\u003ccode\u003ee09e5be\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/ba83a70ff9c15c0b8534e7f1a7c6ba5321aea046\"\u003e\u003ccode\u003eba83a70\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.14.0...v3.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-xdist[psutil]` 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[psutil]'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 `mypy` from 1.15.0 to 1.18.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\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18 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\u003eMypy Performance Improvements\u003c/h3\u003e\n\u003cp\u003eMypy 1.18 includes numerous performance improvements, resulting in about 40% speedup\ncompared to 1.17 when type checking mypy itself. In extreme cases, the improvement\ncan be 10x or higher. The list below is an overview of the various mypy optimizations.\nMany mypyc improvements (discussed in a separate section below) also improve performance.\u003c/p\u003e\n\u003cp\u003eType caching optimizations have a small risk of causing regressions. When\nreporting issues with unexpected inferred types, please also check if\n\u003ccode\u003e--disable-expression-cache\u003c/code\u003e will work around the issue, as it turns off some of\nthese optimizations.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove self check performance by 1.8% (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19768\"\u003e19768\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python/mypy/pull/19769\"\u003e19769\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python/mypy/pull/19770\"\u003e19770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize fixed-format deserialization (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19765\"\u003e19765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse macros to optimize fixed-format deserialization (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19757\"\u003e19757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTwo additional micro‑optimizations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19627\"\u003e19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAnother set of micro‑optimizations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19633\"\u003e19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache common types (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19621\"\u003e19621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip more method bodies in third‑party libraries for speed (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19586\"\u003e19586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify the representation of callable types (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19580\"\u003e19580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd cache for types of some expressions (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19505\"\u003e19505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse cache for dictionary expressions (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19536\"\u003e19536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse cache for binary operations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19523\"\u003e19523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache types of type objects (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19514\"\u003e19514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid duplicate work when checking boolean operations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19515\"\u003e19515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize generic inference passes (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19501\"\u003e19501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up the default plugin (Jukka Lehtosalo, PRs \u003ca href=\"https://redirect.github.com/python/mypy/pull/19385\"\u003e19385\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/python/mypy/pull/19462\"\u003e19462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove nested imports from the default plugin (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19388\"\u003e19388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize type expansion (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19461\"\u003e19461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize type indirection (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19460\"\u003e19460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize the plugin framework (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19464\"\u003e19464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid temporary set creation in subtype checking (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19463\"\u003e19463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSubtype checking micro‑optimization (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19384\"\u003e19384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn early where possible in subtype check (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19400\"\u003e19400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeduplicate some types before joining (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19409\"\u003e19409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type checking by caching argument inference context (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19323\"\u003e19323\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/mypy/commit/03fbaa941bccc3a9f8aea796d586603b67119bf2\"\u003e\u003ccode\u003e03fbaa9\u003c/code\u003e\u003c/a\u003e bump version to 1.18.1 due to wheels failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b44a1fbf0cf9fd90fd29d6bcd9f64c55dd2fd4c8\"\u003e\u003ccode\u003eb44a1fb\u003c/code\u003e\u003c/a\u003e removed +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7197a99d1aebb1b7a584f82a53c44efb7dddf136\"\u003e\u003ccode\u003e7197a99\u003c/code\u003e\u003c/a\u003e Removed Unreleased in the Changelog for Release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ee61cec0d654463874ddee3a60914f0a6cd08222\"\u003e\u003ccode\u003eee61cec\u003c/code\u003e\u003c/a\u003e Updates to 1.18 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19826\"\u003e#19826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/24eed0bd0bb1107ede163ed314082a0f3e7dbbc4\"\u003e\u003ccode\u003e24eed0b\u003c/code\u003e\u003c/a\u003e Initial changelog for release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19818\"\u003e#19818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0ca1f2a7e50ed38eed95ecf8c1f2df1057da902d\"\u003e\u003ccode\u003e0ca1f2a\u003c/code\u003e\u003c/a\u003e Expose --fixed-format-cache if compiled (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19815\"\u003e#19815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2ce1bb225f3ced0ad4b2080af8a9a0eb39f8b38e\"\u003e\u003ccode\u003e2ce1bb2\u003c/code\u003e\u003c/a\u003e [mypyc] Fix subclass processing in detect_undefined_bitmap (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19787\"\u003e#19787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a6b55f061d6a352e7d272ec5bc890650b7187380\"\u003e\u003ccode\u003ea6b55f0\u003c/code\u003e\u003c/a\u003e feat: new mypyc primitives for weakref.proxy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19217\"\u003e#19217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/5a323dd2f8927eb958835e51916402c27ec2f31f\"\u003e\u003ccode\u003e5a323dd\u003c/code\u003e\u003c/a\u003e Make --allow-redefinition-new argument public (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19796\"\u003e#19796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8638eb40aa7b9d3088f17ab005c538c86c752edd\"\u003e\u003ccode\u003e8638eb4\u003c/code\u003e\u003c/a\u003e [stubtest] temporary \u003ccode\u003e--ignore-disjoint-bases\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19740\"\u003e#19740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.15.0...v1.18.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-pyyaml` from 6.0.12.20250402 to 6.0.12.20250822\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 `cryptography` from 44.0.3 to 45.0.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e45.0.7 - 2025-09-01\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Added a function to support an upcoming ``pyOpenSSL`` release.\n\u003cp\u003e.. _v45-0-6:\u003c/p\u003e\n\u003cp\u003e45.0.6 - 2025-08-05\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-5:\u003c/p\u003e\n\u003cp\u003e45.0.5 - 2025-07-02\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.1.\n\u003cp\u003e.. _v45-0-4:\u003c/p\u003e\n\u003cp\u003e45.0.4 - 2025-06-09\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed decrypting PKCS#8 files encrypted with SHA1-RC4. (This is not\nconsidered secure, and is supported only for backwards compatibility.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-3:\u003c/p\u003e\n\u003cp\u003e45.0.3 - 2025-05-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed decrypting PKCS#8 files encrypted with long salts (this impacts keys\n  encrypted by Bouncy Castle).\n* Fixed decrypting PKCS#8 files encrypted with DES-CBC-MD5. While wildly\n  insecure, this remains prevalent.\n\u003cp\u003e.. _v45-0-2:\u003c/p\u003e\n\u003cp\u003e45.0.2 - 2025-05-17\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed using \u003ccode\u003emypy\u003c/code\u003e with \u003ccode\u003ecryptography\u003c/code\u003e on older versions of Python.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-1:\u003c/p\u003e\n\u003cp\u003e45.0.1 - 2025-05-17\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.0.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/f52a3e14965fa16d03813d3ac78cd050d607794a\"\u003e\u003ccode\u003ef52a3e1\u003c/code\u003e\u003c/a\u003e prep for a 45.0.7 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13378\"\u003e#13378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/66198c23c97c9594d64540e5a866e4b4121aec2d\"\u003e\u003ccode\u003e66198c2\u003c/code\u003e\u003c/a\u003e Bump for release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13249\"\u003e#13249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/3e53a233b65123d2a836b58ccdc427ed5207f92b\"\u003e\u003ccode\u003e3e53a23\u003c/code\u003e\u003c/a\u003e Bump for 45.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13135\"\u003e#13135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/678c0c59f743e3b301fbd34f1d26112db0cc2216\"\u003e\u003ccode\u003e678c0c5\u003c/code\u003e\u003c/a\u003e prepare for 45.0.4 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13058\"\u003e#13058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/50384959872c84933b6059c3b697139c8fcdcdea\"\u003e\u003ccode\u003e5038495\u003c/code\u003e\u003c/a\u003e backports for 45.0.3 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12979\"\u003e#12979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/f81c07535ddf2d26cb1a27e70a9967ab708b8056\"\u003e\u003ccode\u003ef81c075\u003c/code\u003e\u003c/a\u003e Backport mypy fixes for release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/8ea28e0bc724e57433f4f062795d91c0a367e9ad\"\u003e\u003ccode\u003e8ea28e0\u003c/code\u003e\u003c/a\u003e bump for 45.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12922\"\u003e#12922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/67840977c95a23d0dcfba154e303014026df0d3e\"\u003e\u003ccode\u003e6784097\u003c/code\u003e\u003c/a\u003e bump for 45 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12886\"\u003e#12886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2d9c1c9cbe650f2888c14476a4b30ef85d3fd2bc\"\u003e\u003ccode\u003e2d9c1c9\u003c/code\u003e\u003c/a\u003e bump MSRV to 1.74 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/6c18874cc2e76f173b77c67609cfb4d3495964c3\"\u003e\u003ccode\u003e6c18874\u003c/code\u003e\u003c/a\u003e Bump BoringSSL, OpenSSL, AWS-LC in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12918\"\u003e#12918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.3...45.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.8.0 to 7.10.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.6 — 2025-08-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003esource\u003c/code\u003e directories were not properly communicated to subprocesses\nthat ran in different directories, as reported in \u003ccode\u003eissue 1499\u003c/code\u003e_.  This is now\nfixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: \u003ccode\u003eAlex Gaynor continues fine-tuning \u0026lt;pull 2038_\u0026gt;\u003c/code\u003e_ the speed of\ncombination, especially with many contexts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1499: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003enedbat/coveragepy#1499\u003c/a\u003e\n.. _pull 2038: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2038\"\u003enedbat/coveragepy#2038\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-5:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.5 — 2025-08-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBig speed improvements for \u003ccode\u003ecoverage combine\u003c/code\u003e: it's now about twice as\nfast! Huge thanks to Alex Gaynor for pull requests \u003ccode\u003e2032 \u0026lt;pull 2032_\u0026gt;\u003c/code\u003e\u003cem\u003e,\n\u003ccode\u003e2033 \u0026lt;pull 2033_\u0026gt;\u003c/code\u003e\u003c/em\u003e, and \u003ccode\u003e2034 \u0026lt;pull 2034_\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2032: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2032\"\u003enedbat/coveragepy#2032\u003c/a\u003e\n.. _pull 2033: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2033\"\u003enedbat/coveragepy#2033\u003c/a\u003e\n.. _pull 2034: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2034\"\u003enedbat/coveragepy#2034\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-4:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.4 — 2025-08-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003epatch = fork\u003c/code\u003e for times when the built-in forking support is\ninsufficient.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003epatch = execv\u003c/code\u003e also inherits the entire coverage configuration now.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _changes_7-10-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.3 — 2025-08-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixes for \u003ccode\u003epatch = subprocess\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIf subprocesses spawned yet more subprocesses simultaneously, some coverage\ncould be missed.  This is now fixed, closing \u003ccode\u003eissue 2024\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIf subprocesses were created in other directories, their data files were\u003c/p\u003e\n\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/nedbat/coveragepy/commit/88c55ff87437f7e59b42d131d0e2b6ce413546bf\"\u003e\u003ccode\u003e88c55ff\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/01d89959bfa825f661121e0f8d173f3ae1ecedac\"\u003e\u003ccode\u003e01d8995\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/9b0c24ffc17840464c2343b702a6ee44e10fcadf\"\u003e\u003ccode\u003e9b0c24f\u003c/code\u003e\u003c/a\u003e docs: thanks Alex \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2038\"\u003e#2038\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/66d69108654f6fc1de916a37fc06ac898091aa2d\"\u003e\u003ccode\u003e66d6910\u003c/code\u003e\u003c/a\u003e fix: make \u003ccode\u003esource\u003c/code\u003e paths absolute where they exist. \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003e#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/bb3382f50f2b91aebb046d665334a5d361e5ddc5\"\u003e\u003ccode\u003ebb3382f\u003c/code\u003e\u003c/a\u003e build: no need for the combine/html times now\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/9ea349a164527832a49faa3eeec628d59ef75c7c\"\u003e\u003ccode\u003e9ea349a\u003c/code\u003e\u003c/a\u003e lab: warn_executed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/808c9b48af3ad7b567182d383eb31451615664e0\"\u003e\u003ccode\u003e808c9b4\u003c/code\u003e\u003c/a\u003e build: changing metacov.ini should trigger metacov\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/384f5f22bd1ef52000d80922de03922a58ff936c\"\u003e\u003ccode\u003e384f5f2\u003c/code\u003e\u003c/a\u003e build: oops, some 'if's are really line pragmas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a7224af73365ba2d217f0e0966c7873c5bac3a67\"\u003e\u003ccode\u003ea7224af\u003c/code\u003e\u003c/a\u003e perf: pre-compute the mapping between other_db.context and main.context (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2038\"\u003e#2038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5c00c5ba4bcd4f7da6a9f0ccd0797e0944415e8a\"\u003e\u003ccode\u003e5c00c5b\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2039\"\u003e#2039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.8.0...7.10.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `twine` from 6.1.0 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `a2wsgi` from 1.10.8 to 1.10.10\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/b8564f7e3da36bae6070a079c696c0789cce164d\"\u003e\u003ccode\u003eb8564f7\u003c/code\u003e\u003c/a\u003e v1.10.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/eb2a70cc18207414af76936920ac0a4d5c96a26f\"\u003e\u003ccode\u003eeb2a70c\u003c/code\u003e\u003c/a\u003e if no more data, set receive_eof  to True (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/12fcd61075bb19ae7646b8f628f97b219a27f42c\"\u003e\u003ccode\u003e12fcd61\u003c/code\u003e\u003c/a\u003e v1.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/da30546094648962d5a6d7793cd536fd47a16312\"\u003e\u003ccode\u003eda30546\u003c/code\u003e\u003c/a\u003e Set HTTP ASGI version correctly and add Falcon links (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/80\"\u003e#80\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/23264028ce3498334983019c5d181ad0b6ff7e0c\"\u003e\u003ccode\u003e2326402\u003c/code\u003e\u003c/a\u003e Avoid depending on details of httpx's JSON encoder (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/abersheeran/a2wsgi/compare/v1.10.8...v1.10.10\"\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.13 to 9.6.19\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.6.19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14\u003c/li\u003e\n\u003cli\u003eUpdated Bahasa Malaysia translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Azerbaijani translations\u003c/li\u003e\n\u003cli\u003eFixed last compat issues with \u003ca href=\"https://github.com/mitsuhiko/minijinja\"\u003eminijinja\u003c/a\u003e, now 100% compatible\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8396\"\u003e#8396\u003c/a\u003e: Videos do not autoplay when inside a content tab\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8394\"\u003e#8394\u003c/a\u003e: Stroke width not effective in Mermaid.js diagrams\u003c/li\u003e\n\u003cli\u003eFixed disappearing version selector when hiding page title\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8349\"\u003e#8349\u003c/a\u003e: Info plugin doesn't correctly detect virtualenv in some cases\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8334\"\u003e#8334\u003c/a\u003e: Find-in-page detects matches in hidden search result list\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Mongolian translations\u003c/li\u003e\n\u003cli\u003eImproved semantic markup of \u0026quot;edit this page\u0026quot; button\u003c/li\u003e\n\u003cli\u003eImproved info plugin virtual environment resolution\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8291\"\u003e#8291\u003c/a\u003e: Large font size setting throws of breakpoints in JavaScript\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8215\"\u003e#8215\u003c/a\u003e: Social plugin crashes when CairoSVG is updated to 2.8\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.6.19 (2025-09-07)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14\u003c/li\u003e\n\u003cli\u003eUpdated Bahasa Malaysia translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.18 (2025-08-22)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Azerbaijani translations\u003c/li\u003e\n\u003cli\u003eFixed last compat issues with [minijinja], now 100% compatible\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.17 (2025-08-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8396\"\u003e#8396\u003c/a\u003e: Videos do not autoplay when inside a content tab\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8394\"\u003e#8394\u003c/a\u003e: Stroke width not effective in Mermaid.js diagrams\u003c/li\u003e\n\u003cli\u003eFixed disappearing version selector when hiding page title\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.16 (2025-07-26)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8349\"\u003e#8349\u003c/a\u003e: Info plugin doesn't correctly detect virtualenv in some cases\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8334\"\u003e#8334\u003c/a\u003e: Find-in-page detects matches in hidden search result list\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.15 (2025-07-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Mongolian translations\u003c/li\u003e\n\u003cli\u003eImproved semantic markup of \u0026quot;edit this page\u0026quot; button\u003c/li\u003e\n\u003cli\u003eImproved info plugin virtual environment resolution\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8291\"\u003e#8291\u003c/a\u003e: Large font size setting throws of breakpoints in JavaScript\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.14 (2025-05-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8215\"\u003e#8215\u003c/a\u003e: Social plugin crashes when CairoSVG is updated to 2.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.13 (2025-05-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8204\"\u003e#8204\u003c/a\u003e: Annotations showing list markers in print view\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8153\"\u003e#8153\u003c/a\u003e: Improve style of cardinality symbols in Mermaid.js ER diagrams\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.12 (2025-04-17)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8158\"\u003e#8158\u003c/a\u003e: Flip footnote back reference icon for right-to-left languages\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.11 (2025-04-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Docker image to latest Alpine Linux\u003c/li\u003e\n\u003cli\u003eBump required Jinja version to 3.1\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8133\"\u003e#8133\u003c/a\u003e: Jinja filter \u003ccode\u003eitems\u003c/code\u003e not available (9.6.10 regression)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8128\"\u003e#8128\u003c/a\u003e: Search plugin not entirely disabled via enabled setting\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.10 (2025-03-30)\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/squidfunk/mkdocs-material/commit/2fe55eecfa0abe6004ea0adb8b5fbc527d788d5f\"\u003e\u003ccode\u003e2fe55ee\u003c/code\u003e\u003c/a\u003e Prepare 9.6.19 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/c9d5303c0d9f52da7f20278d569169fc4a4be4de\"\u003e\u003ccode\u003ec9d5303\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3a0cea1bb947797bfbb1bbd394236357e197f5cd\"\u003e\u003ccode\u003e3a0cea1\u003c/code\u003e\u003c/a\u003e Bump actions/upload-pages-artifact from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3026a57e0ff6293475733fa225538cd466cbd460\"\u003e\u003ccode\u003e3026a57\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/cb1fc6f829651b96f8d21692ee59eaf4081140af\"\u003e\u003ccode\u003ecb1fc6f\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/1f3c48e5c31757d22f8991866dce5739c4b54757\"\u003e\u003ccode\u003e1f3c48e\u003c/code\u003e\u003c/a\u003e Fixed pillow version range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/13c9c77af6f72d5a1f32d2eb32b6cf2791de5b32\"\u003e\u003ccode\u003e13c9c77\u003c/code\u003e\u003c/a\u003e Added pillow 11 to supported version range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/0d262ec188802ba2ac175db98059ac4603f02232\"\u003e\u003ccode\u003e0d262ec\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/97ae22fc73663df404bb5bbc9500a28682b0e18c\"\u003e\u003ccode\u003e97ae22f\u003c/code\u003e\u003c/a\u003e Updated Premium sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/ee6484e12967b89847a7a646709d9f92d11e3724\"\u003e\u003ccode\u003eee6484e\u003c/code\u003e\u003c/a\u003e Updated Premium sponsors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.6.13...9.6.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocstrings-python` from 1.16.12 to 1.18.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mkdocstrings/python/releases\"\u003emkdocstrings-python's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/1.18.2\"\u003e1.18.2\u003c/a\u003e - 2025-08-28\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/1.18.1...1.18.2\"\u003eCompare with 1.18.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNormalize spaces to underscores when passing object to rendering context using its kind as key (\u003ca href=\"https://github.com/mkdocstrings/python/commit/6f79be0ea83522021e16e5d401209e58576ef93a\"\u003e6f79be0\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/mkdocstrings/issues/791\"\u003eIssue-mkdocstrings-791\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.18.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/1.18.1\"\u003e1.18.1\u003c/a\u003e - 2025-08-28\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/1.18.0...1.18.1\"\u003eCompare with 1.18.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't show implementation signature of \u003ccode\u003e__init__\u003c/code\u003e method when \u003ccode\u003eoverloads_only\u003c/code\u003e is true and it is merged into the class (\u003ca href=\"https://github.com/mkdocstrings/python/commit/9ef620f2b1ae80b3711a2e84ab12d7d2c4a2dbdd\"\u003e9ef620f\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/python/issues/308\"\u003eIssue-308\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.18.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/1.18.0\"\u003e1.18.0\u003c/a\u003e - 2025-08-26\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/1.17.0...1.18.0\"\u003eCompare with 1.17.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport PEP 695 generics (\u003ca href=\"https://github.com/mkdocstrings/python/commit/dc8c3adb23b37add6601de9e74085f76e5fc9ee5\"\u003edc8c3ad\u003c/a\u003e by Victor Westerhuis). \u003ca href=\"https://redirect.github.com/mkdocstrings/python/pull/221\"\u003ePR-221\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease maximum recursion limit in case of deeply nested ASTs (rare occurrence) (\u003ca href=\"https://github.com/mkdocstrings/python/commit/6004ccf3576c7a20e21c880bb2235b7b426ba382\"\u003e6004ccf\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/griffe/issues/402\"\u003eIssue-griffe-402\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/1.17.0\"\u003e1.17.0\u003c/a\u003e - 2025-08-14\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/1.16.12...1.17.0\"\u003eCompare with 1.16.12\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport new Griffe parsing options \u003ccode\u003ewarn_missing_types\u003c/code\u003e and \u003ccode\u003ewarnings\u003c/code\u003e (\u003ca href=\"https://github.com/mkdocstrings/python/commit/0e3bdb857b5ede3e15aa7a9b8b87b33f68889c9e\"\u003e0e3bdb8\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/mkdocstrings/issues/437\"\u003eIssue-mkdocstrings-437\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/Kludex/uvicorn/pull/2694","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kludex%2Fuvicorn/issues/2694","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2694/packages"},{"uuid":"2816676460","node_id":"PR_kwDOBYpCG86n4xJs","number":2686,"state":"closed","title":"Bump the python-packages group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-09-13T08:15:40.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-10T19:51:53.000Z","updated_at":"2025-09-13T08:15:40.000Z","time_to_close":217427,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":15,"packages":[{"name":"websockets","old_version":"13.1","new_version":"15.0.1","repository_url":"https://github.com/python-websockets/websockets"},{"name":"a2wsgi","old_version":"1.10.8","new_version":"1.10.10","repository_url":"https://github.com/abersheeran/a2wsgi"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"ruff","old_version":"0.11.9","new_version":"0.13.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.0","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0"},{"name":"mypy","old_version":"1.15.0","new_version":"1.17.1","repository_url":"https://github.com/python/mypy"},{"name":"types-pyyaml","old_version":"6.0.12.20250402","new_version":"6.0.12.20250822","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"cryptography","old_version":"44.0.3","new_version":"45.0.7","repository_url":"https://github.com/pyca/cryptography"},{"name":"coverage","old_version":"7.8.0","new_version":"7.10.6","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"mkdocs-material","old_version":"9.6.13","new_version":"9.6.19","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"mkdocstrings-python","old_version":"1.16.12","new_version":"1.18.2","repository_url":"https://github.com/mkdocstrings/python"},{"name":"mkdocs-llmstxt","old_version":"0.2.0","new_version":"0.3.1","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [websockets](https://github.com/python-websockets/websockets) | `13.1` | `15.0.1` |\n| [a2wsgi](https://github.com/abersheeran/a2wsgi) | `1.10.8` | `1.10.10` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [twine](https://github.com/pypa/twine) | `6.1.0` | `6.2.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.11.9` | `0.13.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.0` |\n| [pytest-xdist[psutil]](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.17.1` |\n| [types-pyyaml](https://github.com/typeshed-internal/stub_uploader) | `6.0.12.20250402` | `6.0.12.20250822` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.3` | `45.0.7` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.8.0` | `7.10.6` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.6.13` | `9.6.19` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `1.16.12` | `1.18.2` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.2.0` | `0.3.1` |\n\n\nUpdates `websockets` from 13.1 to 15.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-websockets/websockets/releases\"\u003ewebsockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.0.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e15.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\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/python-websockets/websockets/commit/37c9bc0781f0cc5af7c729947ef1833c1e12b70d\"\u003e\u003ccode\u003e37c9bc0\u003c/code\u003e\u003c/a\u003e Release version 15.0.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/fce02abb7843bbbad78a53ec0740620dc183ff45\"\u003e\u003ccode\u003efce02ab\u003c/code\u003e\u003c/a\u003e Docs. Correct Producer pattern example.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/5fa24bbb4aa5e0ee4dcc2cf1ce186f3ab68349a6\"\u003e\u003ccode\u003e5fa24bb\u003c/code\u003e\u003c/a\u003e Exit cleanly the interactive client on ^C.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/d0e60d319f95cfab19ac027410dbf07799c76c1d\"\u003e\u003ccode\u003ed0e60d3\u003c/code\u003e\u003c/a\u003e Remove spurious PYTHONPATH declarations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/d7dafcc95a7b0277cb06d67024fab024045e9de9\"\u003e\u003ccode\u003ed7dafcc\u003c/code\u003e\u003c/a\u003e Add test coverage for interactive client.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/3c62503261f899ebd6f0cdbb6222d8052f842ef2\"\u003e\u003ccode\u003e3c62503\u003c/code\u003e\u003c/a\u003e Use entrypoint instead of runpy in docs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/f4e4345b7a39a5275dbdf92d1ccc64383a19ca35\"\u003e\u003ccode\u003ef4e4345\u003c/code\u003e\u003c/a\u003e added entry point script for the cli client in the pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/6f89bacb0754d4f541d70d1444f7bd9eac69ba60\"\u003e\u003ccode\u003e6f89bac\u003c/code\u003e\u003c/a\u003e Start version 15.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/7ac73c645329055a3c352077b8055e6ed65fa46c\"\u003e\u003ccode\u003e7ac73c6\u003c/code\u003e\u003c/a\u003e Release version 15.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/a1ba01db142459db0ea6f7659b3a5f4962749fa6\"\u003e\u003ccode\u003ea1ba01d\u003c/code\u003e\u003c/a\u003e Rewrite interactive client (again) without threads.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-websockets/websockets/compare/13.1...15.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `a2wsgi` from 1.10.8 to 1.10.10\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/b8564f7e3da36bae6070a079c696c0789cce164d\"\u003e\u003ccode\u003eb8564f7\u003c/code\u003e\u003c/a\u003e v1.10.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/eb2a70cc18207414af76936920ac0a4d5c96a26f\"\u003e\u003ccode\u003eeb2a70c\u003c/code\u003e\u003c/a\u003e if no more data, set receive_eof  to True (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/12fcd61075bb19ae7646b8f628f97b219a27f42c\"\u003e\u003ccode\u003e12fcd61\u003c/code\u003e\u003c/a\u003e v1.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/da30546094648962d5a6d7793cd536fd47a16312\"\u003e\u003ccode\u003eda30546\u003c/code\u003e\u003c/a\u003e Set HTTP ASGI version correctly and add Falcon links (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/80\"\u003e#80\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/23264028ce3498334983019c5d181ad0b6ff7e0c\"\u003e\u003ccode\u003e2326402\u003c/code\u003e\u003c/a\u003e Avoid depending on details of httpx's JSON encoder (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/abersheeran/a2wsgi/compare/v1.10.8...v1.10.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.2.2.post1 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/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--config-json\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/916\"\u003e#916\u003c/a\u003e, fixes issue \u003ca href=\"https://redirect.github.com/pypa/build/issues/900\"\u003e#900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/891\"\u003e#891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest on Python 3.14, colorful help on 3.14+ (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/895\"\u003e#895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eModuleNotFoundError\u003c/code\u003e when \u003ccode\u003epip\u003c/code\u003e is not installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/898\"\u003e#898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable use of \u003ccode\u003epip install --python\u003c/code\u003e for debundled pip (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/861\"\u003e#861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't pass no-wheel to virtualenv if it would warn (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/892\"\u003e#892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize our tests to run faster (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/871\"\u003e#871\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/872\"\u003e#872\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow running our tests without virtualenv (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issues in our tests (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/824\"\u003e#824\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/918\"\u003e#918\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/870\"\u003e#870\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/915\"\u003e#915\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/862\"\u003e#862\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/863\"\u003e#863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/899\"\u003e#899\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/896\"\u003e#896\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/854\"\u003e#854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SPDX identifiers for our license metadata (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/914\"\u003e#914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse dependency-groups for our development (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention conda and update uv mention in README/docs (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/842\"\u003e#842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/816\"\u003e#816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/917\"\u003e#917\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/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.0 (2025-08-01)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--config-json\u003c/code\u003e\n(PR :pr:\u003ccode\u003e916\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8\n(PR :pr:\u003ccode\u003e891\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eTest on Python 3.14, colorful help on 3.14+\n(PR :pr:\u003ccode\u003e895\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eModuleNotFoundError\u003c/code\u003e when \u003ccode\u003epip\u003c/code\u003e is not installed\n(PR :pr:\u003ccode\u003e898\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDisable use of \u003ccode\u003epip install --python\u003c/code\u003e for debundled pip\n(PR :pr:\u003ccode\u003e861\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't pass no-wheel to virtualenv if it would warn\n(PR :pr:\u003ccode\u003e892\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize our tests to run faster\n(PR :pr:\u003ccode\u003e871\u003c/code\u003e, :pr:\u003ccode\u003e872\u003c/code\u003e, :pr:\u003ccode\u003e738\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAllow running our tests without virtualenv\n(PR :pr:\u003ccode\u003e911\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix issues in our tests\n(PR :pr:\u003ccode\u003e824\u003c/code\u003e, :pr:\u003ccode\u003e918\u003c/code\u003e, :pr:\u003ccode\u003e870\u003c/code\u003e, :pr:\u003ccode\u003e915\u003c/code\u003e, :pr:\u003ccode\u003e862\u003c/code\u003e, :pr:\u003ccode\u003e863\u003c/code\u003e, :pr:\u003ccode\u003e899\u003c/code\u003e, :pr:\u003ccode\u003e896\u003c/code\u003e, :pr:\u003ccode\u003e854\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse SPDX identifiers for our license metadata\n(PR :pr:\u003ccode\u003e914\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse dependency-groups for our development\n(PR :pr:\u003ccode\u003e880\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMention conda and update uv mention in README/docs\n(PR :pr:\u003ccode\u003e842\u003c/code\u003e, :pr:\u003ccode\u003e816\u003c/code\u003e, :pr:\u003ccode\u003e917\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.2.2 (2024-09-06)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd editable to \u003ccode\u003ebuilder.get_requries_for_build\u003c/code\u003e's static types\n(PR :pr:\u003ccode\u003e764\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e763\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eInclude artifact attestations in our release\n(PR :pr:\u003ccode\u003e782\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix typing compatibility with typed \u003ccode\u003epyproject-hooks\u003c/code\u003e\n(PR :pr:\u003ccode\u003e788\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMark more tests with \u003ccode\u003enetwork\u003c/code\u003e\n(PR :pr:\u003ccode\u003e808\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd more intersphinx links to docs\n(PR :pr:\u003ccode\u003e804\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003euv\u003c/code\u003e optional for tests\n(PR :pr:\u003ccode\u003e807\u003c/code\u003e and :pr:\u003ccode\u003e813\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.2.1 (2024-03-28)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid error when terminal width is undetectable on Python \u0026lt; 3.11\n(PR :pr:\u003ccode\u003e761\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/pypa/build/commit/60e8752f69178d2b2c3563e9c8fa17aa6e11b12c\"\u003e\u003ccode\u003e60e8752\u003c/code\u003e\u003c/a\u003e chore: bump to 1.3.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/919\"\u003e#919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/807cfba618bc4f7b13e938ffa395fffd82494383\"\u003e\u003ccode\u003e807cfba\u003c/code\u003e\u003c/a\u003e feat: add --config-json (\u003ca href=\"https://redirect.github.com/pypa/build/issues/916\"\u003e#916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bf54ad04ffe30e7f7847ea0bcbc081b550830950\"\u003e\u003ccode\u003ebf54ad0\u003c/code\u003e\u003c/a\u003e tests: fix issues with ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/53852df8d84d1d17afaa851d4e1cc3754676bb29\"\u003e\u003ccode\u003e53852df\u003c/code\u003e\u003c/a\u003e docs: uv example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/b983371befe0547b312aba36083b859d923d9bfc\"\u003e\u003ccode\u003eb983371\u003c/code\u003e\u003c/a\u003e tests: optional virtualenv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/6cd157ad0b614a76a13374032a4f56b65048c0be\"\u003e\u003ccode\u003e6cd157a\u003c/code\u003e\u003c/a\u003e Adopt PEP 639 \u0026quot;license\u0026quot; field (\u003ca href=\"https://redirect.github.com/pypa/build/issues/914\"\u003e#914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bdaea367438b8e5ed3c26a7497eafc007084fbec\"\u003e\u003ccode\u003ebdaea36\u003c/code\u003e\u003c/a\u003e tests: fixes for errors in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/14d6508679e2ddb4a511b4b41e972cb374e9dadb\"\u003e\u003ccode\u003e14d6508\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/59ac60e78e0dc5164355bd29eb99fb1cb2d7a59c\"\u003e\u003ccode\u003e59ac60e\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/48ebd63cd7049dff737093c462970262ae1ceed0\"\u003e\u003ccode\u003e48ebd63\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.2.2.post1...1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `twine` from 6.1.0 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.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.11.9 to 0.13.0\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.13.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.13.0\"\u003eblog post\u003c/a\u003e for a migration guide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSeveral rules can now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e, \u003ccode\u003eRUF013\u003c/code\u003e, and \u003ccode\u003eUP037\u003c/code\u003e now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e as part of their fixes when the \u003ccode\u003elint.future-annotations\u003c/code\u003e setting is enabled. This allows the rules to move more imports into \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, and \u003ccode\u003eTC003\u003c/code\u003e), use PEP 604 union syntax on Python versions before 3.10 (\u003ccode\u003eRUF013\u003c/code\u003e), and unquote more annotations (\u003ccode\u003eUP037\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFull module paths are now used to verify first-party modules\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff now checks that the full path to a module exists on disk before categorizing it as a first-party import. This change makes first-party import detection more accurate, helping to avoid false positives on local directories with the same name as a third-party dependency, for example. See the \u003ca href=\"https://docs.astral.sh/ruff/faq/#how-does-ruff-determine-which-of-my-imports-are-first-party-third-party-etc\"\u003eFAQ section\u003c/a\u003e on import categorization for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecated rules must now be selected by exact rule code\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer activate deprecated rules selected by their group name or prefix. As noted below, the two remaining deprecated rules were also removed in this release, so this won't affect any current rules, but it will still affect any deprecations in the future.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe deprecated macOS configuration directory fallback has been removed\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer look for a user-level configuration file at \u003ccode\u003e~/Library/Application Support/ruff/ruff.toml\u003c/code\u003e on macOS. This feature was deprecated in v0.5 in favor of using the \u003ca href=\"https://specifications.freedesktop.org/basedir-spec/latest/\"\u003eXDG specification\u003c/a\u003e (usually resolving to \u003ccode\u003e~/.config/ruff/ruff.toml\u003c/code\u003e), like on Linux. The fallback and accompanying deprecation warning have now been removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved Rules\u003c/h3\u003e\n\u003cp\u003eThe following rules have been removed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pandas-df-variable-name\"\u003e\u003ccode\u003epandas-df-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePD901\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-pep604-isinstance\"\u003e\u003ccode\u003enon-pep604-isinstance\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP038\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow-dag-no-schedule-argument\"\u003e\u003ccode\u003eairflow-dag-no-schedule-argument\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR002\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-removal\"\u003e\u003ccode\u003eairflow3-removal\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR301\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-moved-to-provider\"\u003e\u003ccode\u003eairflow3-moved-to-provider\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR302\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-suggested-update\"\u003e\u003ccode\u003eairflow3-suggested-update\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR311\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-suggested-to-move-to-provider\"\u003e\u003ccode\u003eairflow3-suggested-to-move-to-provider\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR312\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/long-sleep-not-forever\"\u003e\u003ccode\u003elong-sleep-not-forever\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC116\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/f-string-number-format\"\u003e\u003ccode\u003ef-string-number-format\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB116\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/os-symlink\"\u003e\u003ccode\u003eos-symlink\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePTH211\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/generic-not-last-base-class\"\u003e\u003ccode\u003egeneric-not-last-base-class\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePYI059\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/redundant-none-literal\"\u003e\u003ccode\u003eredundant-none-literal\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePYI061\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pytest-raises-ambiguous-pattern\"\u003e\u003ccode\u003epytest-raises-ambiguous-pattern\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF043\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unused-unpacked-variable\"\u003e\u003ccode\u003eunused-unpacked-variable\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF059\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-class-metaclass-type\"\u003e\u003ccode\u003euseless-class-metaclass-type\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP050\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following behaviors have been stabilized:\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/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.13.0\u003c/h2\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.13.0\"\u003eblog post\u003c/a\u003e for a migration\nguide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSeveral rules can now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e, \u003ccode\u003eRUF013\u003c/code\u003e, and \u003ccode\u003eUP037\u003c/code\u003e now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e as part of their fixes when the\n\u003ccode\u003elint.future-annotations\u003c/code\u003e setting is enabled. This allows the rules to move\nmore imports into \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, and \u003ccode\u003eTC003\u003c/code\u003e),\nuse PEP 604 union syntax on Python versions before 3.10 (\u003ccode\u003eRUF013\u003c/code\u003e), and\nunquote more annotations (\u003ccode\u003eUP037\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFull module paths are now used to verify first-party modules\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff now checks that the full path to a module exists on disk before\ncategorizing it as a first-party import. This change makes first-party\nimport detection more accurate, helping to avoid false positives on local\ndirectories with the same name as a third-party dependency, for example. See\nthe \u003ca href=\"https://docs.astral.sh/ruff/faq/#how-does-ruff-determine-which-of-my-imports-are-first-party-third-party-etc\"\u003eFAQ\nsection\u003c/a\u003e on import categorization for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecated rules must now be selected by exact rule code\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer activate deprecated rules selected by their group name\nor prefix. As noted below, the two remaining deprecated rules were also\nremoved in this release, so this won't affect any current rules, but it will\nstill affect any deprecations in the future.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe deprecated macOS configuration directory fallback has been removed\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer look for a user-level configuration file at\n\u003ccode\u003e~/Library/Application Support/ruff/ruff.toml\u003c/code\u003e on macOS. This feature was\ndeprecated in v0.5 in favor of using the \u003ca href=\"https://specifications.freedesktop.org/basedir-spec/latest/\"\u003eXDG\nspecification\u003c/a\u003e\n(usually resolving to \u003ccode\u003e~/.config/ruff/ruff.toml\u003c/code\u003e), like on Linux. The\nfallback and accompanying deprecation warning have now been removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved Rules\u003c/h3\u003e\n\u003cp\u003eThe following rules have been removed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pandas-df-variable-name\"\u003e\u003ccode\u003epandas-df-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePD901\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-pep604-isinstance\"\u003e\u003ccode\u003enon-pep604-isinstance\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP038\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\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/astral-sh/ruff/commit/a1fdd66f10a045a574efb20e422868b21decda40\"\u003e\u003ccode\u003ea1fdd66\u003c/code\u003e\u003c/a\u003e Bump 0.13.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20336\"\u003e#20336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8770b95509b7a5a3b23061d739e6260303613f55\"\u003e\u003ccode\u003e8770b95\u003c/code\u003e\u003c/a\u003e [ty] introduce \u003ccode\u003eDivergentType\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20312\"\u003e#20312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/65982a1e14a15449ea0ed5cf66b7f9dea6d3e82c\"\u003e\u003ccode\u003e65982a1\u003c/code\u003e\u003c/a\u003e [ty] Use 'unknown' specialization for upper bound on Self (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/57d1f7132dbac82e07f22560dbedba7cff1dadc4\"\u003e\u003ccode\u003e57d1f71\u003c/code\u003e\u003c/a\u003e [ty] Simplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7a75702237e6f0bc605d3d8e9470c4ca9f37c69e\"\u003e\u003ccode\u003e7a75702\u003c/code\u003e\u003c/a\u003e Ignore deprecated rules unless selected by exact code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20167\"\u003e#20167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9ca632c84fef6ecb7fc810cacb0df801c7949c70\"\u003e\u003ccode\u003e9ca632c\u003c/code\u003e\u003c/a\u003e Stabilize adding future import via config option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20277\"\u003e#20277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/64fe7d30a3ac9444eab1ed397c451b6c6e80bc6f\"\u003e\u003ccode\u003e64fe7d3\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-errmsg\u003c/code\u003e] Stabilize extending \u003ccode\u003eraw-string-in-exception\u003c/code\u003e (\u003ccode\u003eEM101\u003c/code\u003e) to ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/beeeb8d5c5c8dabea2b11b0b8ed0f3c12dbf22c7\"\u003e\u003ccode\u003ebeeeb8d\u003c/code\u003e\u003c/a\u003e Stabilize the remaining Airflow rules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20250\"\u003e#20250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b6fca52855d01dd40904386f5b8a6d4a17caae11\"\u003e\u003ccode\u003eb6fca52\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Stabilize support for non-context-manager calls in `assert...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ac7f882c78db09700bf6bccefe0e9a27fb1696b9\"\u003e\u003ccode\u003eac7f882\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-commas\u003c/code\u003e] Stabilize support for trailing comma checks in type paramet...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.11.9...0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.3.5 to 8.4.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\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\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/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\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/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\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/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.4.1\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.1 (2025-06-17)\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/13461\"\u003e#13461\u003c/a\u003e: Corrected \u003ccode\u003e_pytest.terminal.TerminalReporter.isatty\u003c/code\u003e to support\nbeing called as a method. Before it was just a boolean which could\nbreak correct code when using \u003ccode\u003e-o log_cli=true\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13477\"\u003e#13477\u003c/a\u003e: Reintroduced \u003ccode\u003epytest.PytestReturnNotNoneWarning\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} which was removed by accident in pytest [8.4]{.title-ref}.\u003c/p\u003e\n\u003cp\u003eThis warning is raised when a test functions returns a value other than \u003ccode\u003eNone\u003c/code\u003e, which is often a mistake made by beginners.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003ereturn-not-none\u003c/code\u003e{.interpreted-text role=\u0026quot;ref\u0026quot;} for more information.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13497\"\u003e#13497\u003c/a\u003e: Fixed compatibility with \u003ccode\u003eTwisted 25+\u003c/code\u003e.\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/13492\"\u003e#13492\u003c/a\u003e: Fixed outdated warning about \u003ccode\u003efaulthandler\u003c/code\u003e not working on Windows.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.4.0\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.0 (2025-06-02)\u003c/h1\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/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.3.5...8.4.2\"\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.0 to 3.15.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-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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.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\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/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/53a6190b9c793f0b1801cd8b08afd58d3436bad6\"\u003e\u003ccode\u003e53a6190\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5aa9e9cd7e0d25403c8d9d478bc3480bb5ca2456\"\u003e\u003ccode\u003e5aa9e9c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003espy_return_iter\u003c/code\u003e attribute to \u003ccode\u003espy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/524\"\u003e#524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/dc6df75a91aad4980af1a711e42a2ade19960f36\"\u003e\u003ccode\u003edc6df75\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/526\"\u003e#526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/b977d83d051390c5efd91b02884236ea5eba8ae4\"\u003e\u003ccode\u003eb977d83\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/525\"\u003e#525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/bd66c9cb8b1ffc59b4d9e42a1b413bafa3a16eac\"\u003e\u003ccode\u003ebd66c9c\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f9e47b6e1685169972488391d8c2ba1d10e0901d\"\u003e\u003ccode\u003ef9e47b6\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/3aec7677f47f6c4b89dbdee9e4a32a8fe047943f\"\u003e\u003ccode\u003e3aec767\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e09e5be3fcaa54102006b7c01add91ac33ebf9ed\"\u003e\u003ccode\u003ee09e5be\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/ba83a70ff9c15c0b8534e7f1a7c6ba5321aea046\"\u003e\u003ccode\u003eba83a70\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.14.0...v3.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-xdist[psutil]` 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[psutil]'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 `mypy` from 1.15.0 to 1.17.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.17.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRetain \u003ccode\u003eNone\u003c/code\u003e as constraints bottom if no bottoms were provided (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19485\"\u003e19485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u0026quot;ignored exception in \u003ccode\u003ehasattr\u003c/code\u003e\u0026quot; in dmypy (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19428\"\u003e19428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent a crash when InitVar is redefined with a method in a subclass (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19453\"\u003e19453\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\u003eAlexey Makridenko\u003c/li\u003e\n\u003cli\u003eBrian Schubert\u003c/li\u003e\n\u003cli\u003eChad Dombrova\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eCharlie Denton\u003c/li\u003e\n\u003cli\u003eCharulata\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eCoolCat467\u003c/li\u003e\n\u003cli\u003eDonal Burns\u003c/li\u003e\n\u003cli\u003eGuy Wilson\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003ejohnthagen\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eŁukasz Kwieciński\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003eMikhail Golubev\u003c/li\u003e\n\u003cli\u003eSebastian Rittau\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\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.16\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.16 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 and bug fixes.\nYou 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\u003eDifferent Property Getter and Setter Types\u003c/h3\u003e\n\u003cp\u003eMypy now supports using different types for a property getter and setter:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eclass A:\n    _value: int\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/acb29831e286bbccde37c03bc75381f40a5fdc9e\"\u003e\u003ccode\u003eacb2983\u003c/code\u003e\u003c/a\u003e Bump version to 1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/933c913fbe6d2fbf277ff8d6b2f2298f0f84be64\"\u003e\u003ccode\u003e933c913\u003c/code\u003e\u003c/a\u003e Retain \u003ccode\u003eNone\u003c/code\u003e as constraints bottom if no bottoms were provided (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19485\"\u003e#19485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/5f4428f0286df58169d2f34f4f86561ad617538b\"\u003e\u003ccode\u003e5f4428f\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;ignored exception in \u003ccode\u003ehasattr\u003c/code\u003e\u0026quot; in dmypy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19428\"\u003e#19428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/88fdeaae0abc92d605fc475fd153b4ad5b239310\"\u003e\u003ccode\u003e88fdeaa\u003c/code\u003e\u003c/a\u003e Prevent a crash when InitVar is redefined with a method in a subclass (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19453\"\u003e#19453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/e44d14f8e52a8890d08726ee753c8754edefd649\"\u003e\u003ccode\u003ee44d14f\u003c/code\u003e\u003c/a\u003e Bump version to 1.17.1+dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0260991f6b055110c3df36bd5539d4f4489bf153\"\u003e\u003ccode\u003e0260991\u003c/code\u003e\u003c/a\u003e Update version string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3901aa2f9523ce55e08d94c1716028d840398753\"\u003e\u003ccode\u003e3901aa2\u003c/code\u003e\u003c/a\u003e Updates to 1.17 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19436\"\u003e#19436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7d133961a7e759aab84223bf8038b9489daaa93c\"\u003e\u003ccode\u003e7d13396\u003c/code\u003e\u003c/a\u003e Initial changelog for 1.17 release (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19427\"\u003e#19427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a182dec997b418b925fe0c28575c50debba0bb3a\"\u003e\u003ccode\u003ea182dec\u003c/code\u003e\u003c/a\u003e Combine the revealed types of multiple iteration steps in a more robust manne...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ab4fd57d45b7f81cf281b17b7d3697ac9f79bc15\"\u003e\u003ccode\u003eab4fd57\u003c/code\u003e\u003c/a\u003e Improve the handling of \u0026quot;iteration dependent\u0026quot; errors and notes in finally cla...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.15.0...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-pyyaml` from 6.0.12.20250402 to 6.0.12.20250822\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 `cryptography` from 44.0.3 to 45.0.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e45.0.7 - 2025-09-01\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Added a function to support an upcoming ``pyOpenSSL`` release.\n\u003cp\u003e.. _v45-0-6:\u003c/p\u003e\n\u003cp\u003e45.0.6 - 2025-08-05\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-5:\u003c/p\u003e\n\u003cp\u003e45.0.5 - 2025-07-02\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.1.\n\u003cp\u003e.. _v45-0-4:\u003c/p\u003e\n\u003cp\u003e45.0.4 - 2025-06-09\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed decrypting PKCS#8 files encrypted with SHA1-RC4. (This is not\nconsidered secure, and is supported only for backwards compatibility.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-3:\u003c/p\u003e\n\u003cp\u003e45.0.3 - 2025-05-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed decrypting PKCS#8 files encrypted with long salts (this impacts keys\n  encrypted by Bouncy Castle).\n* Fixed decrypting PKCS#8 files encrypted with DES-CBC-MD5. While wildly\n  insecure, this remains prevalent.\n\u003cp\u003e.. _v45-0-2:\u003c/p\u003e\n\u003cp\u003e45.0.2 - 2025-05-17\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed using \u003ccode\u003emypy\u003c/code\u003e with \u003ccode\u003ecryptography\u003c/code\u003e on older versions of Python.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-1:\u003c/p\u003e\n\u003cp\u003e45.0.1 - 2025-05-17\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.0.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/f52a3e14965fa16d03813d3ac78cd050d607794a\"\u003e\u003ccode\u003ef52a3e1\u003c/code\u003e\u003c/a\u003e prep for a 45.0.7 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13378\"\u003e#13378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/66198c23c97c9594d64540e5a866e4b4121aec2d\"\u003e\u003ccode\u003e66198c2\u003c/code\u003e\u003c/a\u003e Bump for release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13249\"\u003e#13249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/3e53a233b65123d2a836b58ccdc427ed5207f92b\"\u003e\u003ccode\u003e3e53a23\u003c/code\u003e\u003c/a\u003e Bump for 45.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13135\"\u003e#13135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/678c0c59f743e3b301fbd34f1d26112db0cc2216\"\u003e\u003ccode\u003e678c0c5\u003c/code\u003e\u003c/a\u003e prepare for 45.0.4 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13058\"\u003e#13058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/50384959872c84933b6059c3b697139c8fcdcdea\"\u003e\u003ccode\u003e5038495\u003c/code\u003e\u003c/a\u003e backports for 45.0.3 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12979\"\u003e#12979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/f81c07535ddf2d26cb1a27e70a9967ab708b8056\"\u003e\u003ccode\u003ef81c075\u003c/code\u003e\u003c/a\u003e Backport mypy fixes for release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/8ea28e0bc724e57433f4f062795d91c0a367e9ad\"\u003e\u003ccode\u003e8ea28e0\u003c/code\u003e\u003c/a\u003e bump for 45.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12922\"\u003e#12922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/67840977c95a23d0dcfba154e303014026df0d3e\"\u003e\u003ccode\u003e6784097\u003c/code\u003e\u003c/a\u003e bump for 45 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12886\"\u003e#12886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2d9c1c9cbe650f2888c14476a4b30ef85d3fd2bc\"\u003e\u003ccode\u003e2d9c1c9\u003c/code\u003e\u003c/a\u003e bump MSRV to 1.74 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/6c18874cc2e76f173b77c67609cfb4d3495964c3\"\u003e\u003ccode\u003e6c18874\u003c/code\u003e\u003c/a\u003e Bump BoringSSL, OpenSSL, AWS-LC in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12918\"\u003e#12918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.3...45.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.8.0 to 7.10.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.6 — 2025-08-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003esource\u003c/code\u003e directories were not properly communicated to subprocesses\nthat ran in different directories, as reported in \u003ccode\u003eissue 1499\u003c/code\u003e_.  This is now\nfixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: \u003ccode\u003eAlex Gaynor continues fine-tuning \u0026lt;pull 2038_\u0026gt;\u003c/code\u003e_ the speed of\ncombination, especially with many contexts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1499: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003enedbat/coveragepy#1499\u003c/a\u003e\n.. _pull 2038: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2038\"\u003enedbat/coveragepy#2038\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-5:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.5 — 2025-08-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBig speed improvements for \u003ccode\u003ecoverage combine\u003c/code\u003e: it's now about twice as\nfast! Huge thanks to Alex Gaynor for pull requests \u003ccode\u003e2032 \u0026lt;pull 2032_\u0026gt;\u003c/code\u003e\u003cem\u003e,\n\u003ccode\u003e2033 \u0026lt;pull 2033_\u0026gt;\u003c/code\u003e\u003c/em\u003e, and \u003ccode\u003e2034 \u0026lt;pull 2034_\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2032: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2032\"\u003enedbat/coveragepy#2032\u003c/a\u003e\n.. _pull 2033: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2033\"\u003enedbat/coveragepy#2033\u003c/a\u003e\n.. _pull 2034: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2034\"\u003enedbat/coveragepy#2034\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-4:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.4 — 2025-08-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003epatch = fork\u003c/code\u003e for times when the built-in forking support is\ninsufficient.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003epatch = execv\u003c/code\u003e also inherits the entire coverage configuration now.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _changes_7-10-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.3 — 2025-08-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixes for \u003ccode\u003epatch = subprocess\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIf subprocesses spawned yet more subprocesses simultaneously, some coverage\ncould be missed.  This is now fixed, closing \u003ccode\u003eissue 2024\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIf subprocesses were created in other directories, their data files were\u003c/p\u003e\n\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/nedbat/coveragepy/commit/88c55ff87437f7e59b42d131d0e2b6ce413546bf\"\u003e\u003ccode\u003e88c55ff\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/01d89959bfa825f661121e0f8d173f3ae1ecedac\"\u003e\u003ccode\u003e01d8995\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/9b0c24ffc17840464c2343b702a6ee44e10fcadf\"\u003e\u003ccode\u003e9b0c24f\u003c/code\u003e\u003c/a\u003e docs: thanks Alex \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2038\"\u003e#2038\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/66d69108654f6fc1de916a37fc06ac898091aa2d\"\u003e\u003ccode\u003e66d6910\u003c/code\u003e\u003c/a\u003e fix: make \u003ccode\u003esource\u003c/code\u003e paths absolute where they exist. \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003e#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/bb3382f50f2b91aebb046d665334a5d361e5ddc5\"\u003e\u003ccode\u003ebb3382f\u003c/code\u003e\u003c/a\u003e build: no need for the combine/html times now\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/9ea349a164527832a49faa3eeec628d59ef75c7c\"\u003e\u003ccode\u003e9ea349a\u003c/code\u003e\u003c/a\u003e lab: warn_executed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/808c9b48af3ad7b567182d383eb31451615664e0\"\u003e\u003ccode\u003e808c9b4\u003c/code\u003e\u003c/a\u003e build: changing metacov.ini should trigger metacov\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/384f5f22bd1ef52000d80922de03922a58ff936c\"\u003e\u003ccode\u003e384f5f2\u003c/code\u003e\u003c/a\u003e build: oops, some 'if's are really line pragmas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a7224af73365ba2d217f0e0966c7873c5bac3a67\"\u003e\u003ccode\u003ea7224af\u003c/code\u003e\u003c/a\u003e perf: pre-compute the mapping between other_db.context and main.context (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2038\"\u003e#2038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5c00c5ba4bcd4f7da6a9f0ccd0797e0944415e8a\"\u003e\u003ccode\u003e5c00c5b\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2039\"\u003e#2039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.8.0...7.10.6\"\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.13 to 9.6.19\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.6.19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14\u003c/li\u003e\n\u003cli\u003eUpdated Bahasa Malaysia translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Azerbaijani translations\u003c/li\u003e\n\u003cli\u003eFixed last compat issues with \u003ca href=\"https://github.com/mitsuhiko/minijinja\"\u003eminijinja\u003c/a\u003e, now 100% compatible\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8396\"\u003e#8396\u003c/a\u003e: Videos do not autoplay when inside a content tab\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8394\"\u003e#8394\u003c/a\u003e: Stroke width not effective in Mermaid.js diagrams\u003c/li\u003e\n\u003cli\u003eFixed disappearing version selector when hiding page title\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8349\"\u003e#8349\u003c/a\u003e: Info plugin doesn't correctly detect virtualenv in some cases\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8334\"\u003e#8334\u003c/a\u003e: Find-in-page detects matches in hidden search result list\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Mongolian translations\u003c/li\u003e\n\u003cli\u003eImproved semantic markup of \u0026quot;edit this page\u0026quot; button\u003c/li\u003e\n\u003cli\u003eImproved info plugin virtual environment resolution\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8291\"\u003e#8291\u003c/a\u003e: Large font size setting throws of breakpoints in JavaScript\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8215\"\u003e#8215\u003c/a\u003e: Social plugin crashes when CairoSVG is updated to 2.8\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.6.19 (2025-09-07)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14\u003c/li\u003e\n\u003cli\u003eUpdated Bahasa Malaysia translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.18 (2025-08-22)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Azerbaijani translations\u003c/li\u003e\n\u003cli\u003eFixed last compat issues with [minijinja], now 100% compatible\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.17 (2025-08-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8396\"\u003e#8396\u003c/a\u003e: Videos do not autoplay when inside a content tab\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8394\"\u003e#8394\u003c/a\u003e: Stroke width not effective in Mermaid.js diagrams\u003c/li\u003e\n\u003cli\u003eFixed disappearing version selector when hiding page title\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.16 (2025-07-26)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8349\"\u003e#8349\u003c/a\u003e: Info plugin doesn't correctly detect virtualenv in some cases\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8334\"\u003e#8334\u003c/a\u003e: Find-in-page detects matches in hidden search result list\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.15 (2025-07-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Mongolian translations\u003c/li\u003e\n\u003cli\u003eImproved semantic markup of \u0026quot;edit this page\u0026quot; button\u003c/li\u003e\n\u003cli\u003eImproved info plugin virtual environment resolution\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8291\"\u003e#8291\u003c/a\u003e: Large font size setting throws of breakpoints in JavaScript\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.14 (2025-05-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8215\"\u003e#8215\u003c/a\u003e: Social plugin crashes when CairoSVG is updated to 2.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.13 (2025-05-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8204\"\u003e#8204\u003c/a\u003e: Annotations showing list markers in print view\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8153\"\u003e#8153\u003c/a\u003e: Improve style of cardinality symbols in Mermaid.js ER diagrams\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.12 (2025-04-17)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8158\"\u003e#8158\u003c/a\u003e: Flip footnote back reference icon for right-to-left languages\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.11 (2025-04-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Docker image to latest Alpine Linux\u003c/li\u003e\n\u003cli\u003eBump required Jinja version to 3.1\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8133\"\u003e#8133\u003c/a\u003e: Jinja filter \u003ccode\u003eitems\u003c/code\u003e not available (9.6.10 regression)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8128\"\u003e#8128\u003c/a\u003e: Search plugin not entirely disabled via enabled setting\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.10 (2025-03-30)\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/squidfunk/mkdocs-material/commit/2fe55eecfa0abe6004ea0adb8b5fbc527d788d5f\"\u003e\u003ccode\u003e2fe55ee\u003c/code\u003e\u003c/a\u003e Prepare 9.6.19 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/c9d5303c0d9f52da7f20278d569169fc4a4be4de\"\u003e\u003ccode\u003ec9d5303\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3a0cea1bb947797bfbb1bbd394236357e197f5cd\"\u003e\u003ccode\u003e3a0cea1\u003c/code\u003e\u003c/a\u003e Bump actions/upload-pages-artifact from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3026a57e0ff6293475733fa225538cd466cbd460\"\u003e\u003ccode\u003e3026a57\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/cb1fc6f829651b96f8d21692ee59eaf4081140af\"\u003e\u003ccode\u003ecb1fc6f\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/1f3c48e5c31757d22f8991866dce5739c4b54757\"\u003e\u003ccode\u003e1f3c48e\u003c/code\u003e\u003c/a\u003e Fixed pillow version range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/13c9c77af6f72d5a1f32d2eb32b6cf2791d...\n\n_Description has been truncated_","html_url":"https://github.com/Kludex/uvicorn/pull/2686","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kludex%2Fuvicorn/issues/2686","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2686/packages"}],"issue_packages":[{"old_version":"0.4.0","new_version":"0.5.0","update_type":"minor","path":null,"pr_created_at":"2025-12-24T12:22:51.000Z","version_change":"0.4.0 → 0.5.0","issue":{"uuid":"3760200709","node_id":"PR_kwDOQNF0us66eXA3","number":14,"state":"open","title":"⬆(deps): Bump the python-dependencies group across 1 directory with 20 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-24T12:22:51.000Z","updated_at":"2025-12-24T12:22:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆(deps): Bump","group_name":"python-dependencies","update_count":20,"packages":[{"name":"fastapi","old_version":"0.119.1","new_version":"0.127.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"python-multipart","old_version":"0.0.20","new_version":"0.0.21","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"greenlet","old_version":"3.2.4","new_version":"3.3.0","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"sqlmodel","old_version":"0.0.27","new_version":"0.0.29","repository_url":"https://github.com/fastapi/sqlmodel"},{"name":"authlib","old_version":"1.6.5","new_version":"1.6.6","repository_url":"https://github.com/authlib/authlib"},{"name":"rust-just","old_version":"1.43.0","new_version":"1.45.0","repository_url":"https://github.com/gnpaone/rust-just"},{"name":"uvicorn","old_version":"0.38.0","new_version":"0.40.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"typer","old_version":"0.20.0","new_version":"0.20.1","repository_url":"https://github.com/fastapi/typer"},{"name":"pyrefly","old_version":"0.38.2","new_version":"0.46.1","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.14.1","new_version":"0.14.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.1a23","new_version":"0.0.6","repository_url":"https://github.com/astral-sh/ty"},{"name":"types-markdown","old_version":"3.9.0.20250906","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typos","old_version":"1.38.1","new_version":"1.40.0","repository_url":"https://github.com/crate-ci/typos"},{"name":"aiosqlite","old_version":"0.21.0","new_version":"0.22.1","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"diff-cover","old_version":"9.7.1","new_version":"10.0.0","repository_url":"https://github.com/Bachmann1234/diff-cover"},{"name":"pytest-benchmark","old_version":"5.1.0","new_version":"5.2.3","repository_url":"https://github.com/ionelmc/pytest-benchmark"},{"name":"mkdocs-llmstxt","old_version":"0.4.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"},{"name":"mkdocstrings-python","old_version":"1.18.2","new_version":"2.0.1","repository_url":"https://github.com/mkdocstrings/python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.119.1` | `0.127.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.20` | `0.0.21` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.4` | `3.3.0` |\n| [sqlmodel](https://github.com/fastapi/sqlmodel) | `0.0.27` | `0.0.29` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.5` | `1.6.6` |\n| [rust-just](https://github.com/gnpaone/rust-just) | `1.43.0` | `1.45.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.38.0` | `0.40.0` |\n| [typer](https://github.com/fastapi/typer) | `0.20.0` | `0.20.1` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.38.2` | `0.46.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.1` | `0.14.10` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a23` | `0.0.6` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.9.0.20250906` | `3.10.0.20251106` |\n| [typos](https://github.com/crate-ci/typos) | `1.38.1` | `1.40.0` |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.21.0` | `0.22.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.2` |\n| [diff-cover](https://github.com/Bachmann1234/diff-cover) | `9.7.1` | `10.0.0` |\n| [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) | `5.1.0` | `5.2.3` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.4.0` | `0.5.0` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `1.18.2` | `2.0.1` |\n\n\nUpdates `fastapi` from 0.119.1 to 0.127.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.127.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add deprecation warnings when using \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14583\"\u003e#14583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Korean, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14546\"\u003e#14546\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Japanese, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14545\"\u003e#14545\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Upgrade OpenAI model for translations to gpt-5.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14579\"\u003e#14579\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.126.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14575\"\u003e#14575\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThe minimum version of Pydantic installed is now \u003ccode\u003epydantic \u0026gt;=2.7.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003estandard\u003c/code\u003e dependencies now include \u003ccode\u003epydantic-settings \u0026gt;=2.0.0\u003c/code\u003e and \u003ccode\u003epydantic-extra-types \u0026gt;=2.0.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Fix duplicated variable in \u003ccode\u003edocs_src/python_types/tutorial005_py39.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14565\"\u003e#14565\u003c/a\u003e by \u003ca href=\"https://github.com/paras-verma7454\"\u003e\u003ccode\u003e@​paras-verma7454\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Ukrainian, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14548\"\u003e#14548\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Tweak pre-commit to allow committing release-notes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14577\"\u003e#14577\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆️ Use prek as a pre-commit alternative. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14572\"\u003e#14572\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Add performance tests with CodSpeed. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14558\"\u003e#14558\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.125.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Drop support for Python 3.8. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14563\"\u003e#14563\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThis would actually not be a \u003cem\u003ebreaking\u003c/em\u003e change as no code would really break. Any Python 3.8 installer would just refuse to install the latest version of FastAPI and would only install 0.124.4. Only marking it as a \u0026quot;breaking change\u0026quot; to make it visible.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Upgrade internal syntax to Python 3.9+ 🎉. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14564\"\u003e#14564\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚰️ Remove Python 3.8 from CI and remove Python 3.8 examples from source docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14559\"\u003e#14559\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\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/fastapi/fastapi/commit/c4a1ab503635918938e3741d1fb6f2fff73dc1d3\"\u003e\u003ccode\u003ec4a1ab5\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.127.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/22c7200ebb9a7cfb3f938985fba55bd557faa4ec\"\u003e\u003ccode\u003e22c7200\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6e42bcd8ce2ade33d94f478310dad20ee84f8f0f\"\u003e\u003ccode\u003e6e42bcd\u003c/code\u003e\u003c/a\u003e 🔊 Add deprecation warnings when using \u003ccode\u003epydantic.v1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14583\"\u003e#14583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6513d4daa16a536d17743de6a292f49bd06388a4\"\u003e\u003ccode\u003e6513d4d\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1d93d531bc950ae880679e2e365fb6d7e028d106\"\u003e\u003ccode\u003e1d93d53\u003c/code\u003e\u003c/a\u003e ⬆️ Upgrade OpenAI model for translations to gpt-5.2 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14579\"\u003e#14579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c2c1cc8aec83e713326842dffacd0e38a6ff24c2\"\u003e\u003ccode\u003ec2c1cc8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/52892592753333c89076616824e3fe23181d65b6\"\u003e\u003ccode\u003e5289259\u003c/code\u003e\u003c/a\u003e 🔧 Add LLM prompt file for Korean, generated from the existing translations (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5783910d0c0fc8a3da8fff793b681121c61efb4a\"\u003e\u003ccode\u003e5783910\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/026b43e5d3008c86cbf6f1a76ba471276418413c\"\u003e\u003ccode\u003e026b43e\u003c/code\u003e\u003c/a\u003e 🔧 Add LLM prompt file for Japanese, generated from the existing translations ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6b591ddd7e16727c57be1dad153b49ad9741a863\"\u003e\u003ccode\u003e6b591dd\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.119.1...0.127.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.20 to 0.0.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003eKludex/python-multipart#216\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/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/203\"\u003eKludex/python-multipart#203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\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/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.21 (2025-12-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003e#216\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/Kludex/python-multipart/commit/1f72955602445706b5517a6f58a720796ad3d96a\"\u003e\u003ccode\u003e1f72955\u003c/code\u003e\u003c/a\u003e Version 0.0.21 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/217\"\u003e#217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/47ecfed3533ed8dcafd800508dbf594438fd0949\"\u003e\u003ccode\u003e47ecfed\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop EOL 3.8 and 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/216\"\u003e#216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/f18b70941b727c947f7e6b17e1c3321f5ad3afb6\"\u003e\u003ccode\u003ef18b709\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/214\"\u003e#214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b388e9a7a82605cc8613798926afe8f6074cb372\"\u003e\u003ccode\u003eb388e9a\u003c/code\u003e\u003c/a\u003e chore: use depedency-groups in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/212\"\u003e#212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/6113e750971918a51f79c3bb2585e95ed1c53245\"\u003e\u003ccode\u003e6113e75\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/7aa8d9932b6b20c0a1969e672433044e27a3fbc1\"\u003e\u003ccode\u003e7aa8d99\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.8.0 to 0.11.7 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/203\"\u003e#203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/3e909f52a774365b8817a52d4312db4ba8061d07\"\u003e\u003ccode\u003e3e909f5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/198\"\u003e#198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.2.4 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.0 (2025-12-04)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitch to distributing manylinux_2_28 wheels instead of\nmanylinux2014 wheels. Likewise, switch from musllinux_1_1 to 1_2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd initial support for free-threaded builds of CPython 3.14. Due to\nlimitations, we do not distribute binary wheels for free-threaded\nCPython on Windows. (Free-threaded CPython 3.13 may work, but is\nuntested and unsupported.)\u003c/p\u003e\n\u003cp\u003e.. caution::\u003c/p\u003e\n\u003cp\u003eUnder some rare scenarios with free-threaded 3.14, the\ninterpreter may crash on accessing a variable or attribute or\nwhen shutting down. If this happens, try disabling the\nthread-local bytecode cache. See the greenlet documentation for\nmore details. See \u003ccode\u003ePR 472 by T. Wouters \u0026lt;https://github.com/python-greenlet/greenlet/pull/472\u0026gt;\u003c/code\u003e_ for the\ninitial free-threaded support and a discussion of the current\nknown issues.\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/python-greenlet/greenlet/commit/0f904314e2fe11835bdff9d928f9f039116aebff\"\u003e\u003ccode\u003e0f90431\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/296058a43da5a76c2406a91aa998413b93537940\"\u003e\u003ccode\u003e296058a\u003c/code\u003e\u003c/a\u003e Tweak changelog. [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d4392ab171036bf73cc64ed47109e0d2e1f41275\"\u003e\u003ccode\u003ed4392ab\u003c/code\u003e\u003c/a\u003e fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/e6fead23d967fd6194c5a1eaa48d55a07b4bda40\"\u003e\u003ccode\u003ee6fead2\u003c/code\u003e\u003c/a\u003e Update docs regarding free-threading.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d5b134610187f94a641e0cf40be56992c8e9f667\"\u003e\u003ccode\u003ed5b1346\u003c/code\u003e\u003c/a\u003e 3.14: Save/restore PyInterpreterFrame.stackpointer.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b54c4bdaaade13139d54005df51a9d21df5db7c4\"\u003e\u003ccode\u003eb54c4bd\u003c/code\u003e\u003c/a\u003e Fix some crashes with CPython assertions enabled, pointing to things we were ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/47e99259263968560422c9b69bc8c50f9068cf87\"\u003e\u003ccode\u003e47e9925\u003c/code\u003e\u003c/a\u003e Add a test that we're not enabling the GIL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/0778d50792888afa043c8a368085358c3fea0146\"\u003e\u003ccode\u003e0778d50\u003c/code\u003e\u003c/a\u003e Use our Python allocator on free-threaded builds, but do it correctly with Py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5f661f4f5a023438e944d36e4f255c7a706ae998\"\u003e\u003ccode\u003e5f661f4\u003c/code\u003e\u003c/a\u003e Add free-threaded CI builds and manylinux builds; update manylinux away from ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5331b0ad33a7380b91d8a9849f61aa61b7b1ade2\"\u003e\u003ccode\u003e5331b0a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/475\"\u003e#475\u003c/a\u003e from clin1234/capi\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.2.4...3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlmodel` from 0.0.27 to 0.0.29\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/sqlmodel/releases\"\u003esqlmodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.29\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003ealias\u003c/code\u003e support for Pydantic v2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1577\"\u003e#1577\u003c/a\u003e by \u003ca href=\"https://github.com/ravishan16\"\u003e\u003ccode\u003e@​ravishan16\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.28\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eRuntimeError: dictionary changed size during iteration\u003c/code\u003e in \u003ccode\u003esqlmodel_update()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/997\"\u003e#997\u003c/a\u003e by \u003ca href=\"https://github.com/BartSchuurmans\"\u003e\u003ccode\u003e@​BartSchuurmans\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💅 Update CSS to explicitly use emoji font. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1658\"\u003e#1658\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update link to JetBrains Python survey in \u003ccode\u003efeatures.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1627\"\u003e#1627\u003c/a\u003e by \u003ca href=\"https://github.com/sparkiegeek\"\u003e\u003ccode\u003e@​sparkiegeek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix broken links in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1601\"\u003e#1601\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📌 Pin FastAPI in tests to 0.125.0 while dropping support for Python 3.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1689\"\u003e#1689\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Configure coverage, error on main tests, don't wait for Smokeshow. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1683\"\u003e#1683\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Run Smokeshow always, even on test failures. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1682\"\u003e#1682\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.6 to 0.14.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1662\"\u003e#1662\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1656\"\u003e#1656\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.5 to 0.14.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1652\"\u003e#1652\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1655\"\u003e#1655\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1651\"\u003e#1651\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Use font Fira Code to fix display of Rich panels in docs in Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1653\"\u003e#1653\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Upgrade \u003ccode\u003elatest-changes\u003c/code\u003e GitHub Action and pin \u003ccode\u003eactions/checkout@v5\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1654\"\u003e#1654\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Upgrade Material for MkDocs and remove insiders. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1650\"\u003e#1650\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.23 to 9.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1645\"\u003e#1645\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.1 to 1.5.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1647\"\u003e#1647\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.4 to 0.14.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1646\"\u003e#1646\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1648\"\u003e#1648\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.3 to 0.14.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1640\"\u003e#1640\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1642\"\u003e#1642\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.22 to 9.6.23. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1637\"\u003e#1637\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.2 to 0.14.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1633\"\u003e#1633\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1636\"\u003e#1636\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.0 to 1.4.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1626\"\u003e#1626\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.1 to 0.14.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1616\"\u003e#1616\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1625\"\u003e#1625\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Add PEP-639 license metadata. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1624\"\u003e#1624\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump griffe-typingdoc from 0.2.9 to 0.3.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1615\"\u003e#1615\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 4 to 5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/download-artifact from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1621\"\u003e#1621\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.0 to 0.14.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1614\"\u003e#1614\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.13.2 to 0.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1592\"\u003e#1592\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1605\"\u003e#1605\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump astral-sh/setup-uv from 6 to 7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1593\"\u003e#1593\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\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/fastapi/sqlmodel/blob/main/docs/release-notes.md\"\u003esqlmodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.29\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003ealias\u003c/code\u003e support for Pydantic v2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1577\"\u003e#1577\u003c/a\u003e by \u003ca href=\"https://github.com/ravishan16\"\u003e\u003ccode\u003e@​ravishan16\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.28\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eRuntimeError: dictionary changed size during iteration\u003c/code\u003e in \u003ccode\u003esqlmodel_update()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/997\"\u003e#997\u003c/a\u003e by \u003ca href=\"https://github.com/BartSchuurmans\"\u003e\u003ccode\u003e@​BartSchuurmans\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💅 Update CSS to explicitly use emoji font. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1658\"\u003e#1658\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update link to JetBrains Python survey in \u003ccode\u003efeatures.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1627\"\u003e#1627\u003c/a\u003e by \u003ca href=\"https://github.com/sparkiegeek\"\u003e\u003ccode\u003e@​sparkiegeek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix broken links in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1601\"\u003e#1601\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📌 Pin FastAPI in tests to 0.125.0 while dropping support for Python 3.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1689\"\u003e#1689\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Configure coverage, error on main tests, don't wait for Smokeshow. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1683\"\u003e#1683\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Run Smokeshow always, even on test failures. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1682\"\u003e#1682\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.6 to 0.14.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1662\"\u003e#1662\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1656\"\u003e#1656\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.5 to 0.14.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1652\"\u003e#1652\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1655\"\u003e#1655\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1651\"\u003e#1651\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Use font Fira Code to fix display of Rich panels in docs in Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1653\"\u003e#1653\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Upgrade \u003ccode\u003elatest-changes\u003c/code\u003e GitHub Action and pin \u003ccode\u003eactions/checkout@v5\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1654\"\u003e#1654\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Upgrade Material for MkDocs and remove insiders. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1650\"\u003e#1650\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.23 to 9.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1645\"\u003e#1645\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.1 to 1.5.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1647\"\u003e#1647\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.4 to 0.14.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1646\"\u003e#1646\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1648\"\u003e#1648\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.3 to 0.14.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1640\"\u003e#1640\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1642\"\u003e#1642\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.22 to 9.6.23. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1637\"\u003e#1637\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.2 to 0.14.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1633\"\u003e#1633\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1636\"\u003e#1636\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.0 to 1.4.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1626\"\u003e#1626\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.1 to 0.14.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1616\"\u003e#1616\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1625\"\u003e#1625\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Add PEP-639 license metadata. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1624\"\u003e#1624\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump griffe-typingdoc from 0.2.9 to 0.3.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1615\"\u003e#1615\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 4 to 5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/download-artifact from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1621\"\u003e#1621\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.0 to 0.14.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1614\"\u003e#1614\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.13.2 to 0.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1592\"\u003e#1592\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\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/fastapi/sqlmodel/commit/c702e2ec3e3490fca925e66a03ad8cf9c09c5b5e\"\u003e\u003ccode\u003ec702e2e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/44e7a2d1ac54fbebefcc4ea1334e920dfc48a428\"\u003e\u003ccode\u003e44e7a2d\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/5b1d8e6e7da7cf31d5adf2696cebed338a65cfc3\"\u003e\u003ccode\u003e5b1d8e6\u003c/code\u003e\u003c/a\u003e 🐛 Fix \u003ccode\u003ealias\u003c/code\u003e support for Pydantic v2 (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1577\"\u003e#1577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/59adbe76a6b06e09bbdc815a8aea055a1885af22\"\u003e\u003ccode\u003e59adbe7\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/f8873ef1b7906ea0af8a1cdbee40264ac3691995\"\u003e\u003ccode\u003ef8873ef\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/6cec19c8dcd867d940b773d6e3f6e2dca316cb0f\"\u003e\u003ccode\u003e6cec19c\u003c/code\u003e\u003c/a\u003e 🐛 Fix \u003ccode\u003eRuntimeError: dictionary changed size during iteration\u003c/code\u003e in `sqlmodel_u...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/fb331e7ce7798cb0a7d9b2a3e934191ffabfb4a8\"\u003e\u003ccode\u003efb331e7\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/09f3b7f34cfe8a9f48c2559a288cdae5d04933d7\"\u003e\u003ccode\u003e09f3b7f\u003c/code\u003e\u003c/a\u003e 📌 Pin FastAPI in tests to 0.125.0 while dropping support for Python 3.8 (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1689\"\u003e#1689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/9262835b663a8a880f040ddd4af0f60c59c6f66a\"\u003e\u003ccode\u003e9262835\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/ba5e97d97d1807a88fc47b24ecb9cb3d04928145\"\u003e\u003ccode\u003eba5e97d\u003c/code\u003e\u003c/a\u003e 👷 Configure coverage, error on main tests, don't wait for Smokeshow (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1683\"\u003e#1683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/sqlmodel/compare/0.0.27...0.0.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.6.5 to 1.6.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/blob/main/docs/changelog.rst\"\u003eauthlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.6.6\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eReleased on Dec 12, 2025\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eget_jwt_config\u003c/code\u003e takes a \u003ccode\u003eclient\u003c/code\u003e parameter, :pr:\u003ccode\u003e844\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix incorrect signature when \u003ccode\u003eContent-Type\u003c/code\u003e is x-www-form-urlencoded for OAuth 1.0 Client, :pr:\u003ccode\u003e778\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eexpires_in\u003c/code\u003e in \u003ccode\u003eOAuth2Token\u003c/code\u003e when \u003ccode\u003eexpires_at\u003c/code\u003e is unparsable, :pr:\u003ccode\u003e842\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlways track \u003ccode\u003estate\u003c/code\u003e in session for OAuth client integrations.\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/authlib/authlib/commit/bb7a315befbad333faf9a23ef574d6e3134a6774\"\u003e\u003ccode\u003ebb7a315\u003c/code\u003e\u003c/a\u003e chore: release 1.6.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/0a423d4638bed1c0fe4597b2296a85c5bb59fba2\"\u003e\u003ccode\u003e0a423d4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/844\"\u003e#844\u003c/a\u003e from azmeuk/806-get-jwt-config-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/2808378611dd6fb2532b189a9087877d8f0c0489\"\u003e\u003ccode\u003e2808378\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/714502a4738bc29f26eb245b0c66718d8536cdda\"\u003e\u003ccode\u003e714502a\u003c/code\u003e\u003c/a\u003e feat: get_jwt_config takes a client parameter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/260d04edee23d8470057ea659c16fb8a2c7b0dc2\"\u003e\u003ccode\u003e260d04e\u003c/code\u003e\u003c/a\u003e Fix: Use \u003ccode\u003eexpires_in\u003c/code\u003e when \u003ccode\u003eexpires_at\u003c/code\u003e is unparsable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/eb37124bbbec6ccbfba3699d8960f9710d330ad8\"\u003e\u003ccode\u003eeb37124\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/778\"\u003e#778\u003c/a\u003e from shc261392/fix-httpx-oauth1-form-data-incorrect-s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/0ba9ec4feeb8e19f572c454e2d1dbbdc1d30ae62\"\u003e\u003ccode\u003e0ba9ec4\u003c/code\u003e\u003c/a\u003e docs: fix guide on requests self signed certificate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a2e9943815bb5161863b1fa144ac0aaa50d97e91\"\u003e\u003ccode\u003ea2e9943\u003c/code\u003e\u003c/a\u003e docs: indicate that \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/743\"\u003e#743\u003c/a\u003e needs a migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/06015d20652a23eff8350b6ad71b32fe41dae4ba\"\u003e\u003ccode\u003e06015d2\u003c/code\u003e\u003c/a\u003e test: factorize the token fixture\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.5...v1.6.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rust-just` from 1.43.0 to 1.45.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gnpaone/rust-just/releases\"\u003erust-just's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.45.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow requiring recipe arguments to match regular expression patterns (\u003ca href=\"https://redirect.github.com/casey/just/pull/3000\"\u003e#3000\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shell-expanded strings in attributes (\u003ca href=\"https://redirect.github.com/casey/just/pull/3007\"\u003e#3007\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix arg pattern anchoring (\u003ca href=\"https://redirect.github.com/casey/just/pull/3002\"\u003e#3002\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse non-capturing group in arg pattern regex (\u003ca href=\"https://redirect.github.com/casey/just/pull/3006\"\u003e#3006\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove redundant type annotation (\u003ca href=\"https://redirect.github.com/casey/just/pull/3004\"\u003e#3004\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.44.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly close format string delimiter (\u003ca href=\"https://redirect.github.com/casey/just/pull/2997\"\u003e#2997\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.44.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd f'{format}' strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2985\"\u003e#2985\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse double braces \u003ccode\u003e{{…}}\u003c/code\u003e for format strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2993\"\u003e#2993\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize \u003ccode\u003e[script]\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/casey/just/pull/2988\"\u003e#2988\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow newlines in interpolations and \u003ccode\u003e}\u003c/code\u003e to abut interpolation \u003ccode\u003e}}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2992\"\u003e#2992\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTest format strings with conditionals (\u003ca href=\"https://redirect.github.com/casey/just/pull/2991\"\u003e#2991\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove StringState into module (\u003ca href=\"https://redirect.github.com/casey/just/pull/2989\"\u003e#2989\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest undefined variable in format string error (\u003ca href=\"https://redirect.github.com/casey/just/pull/2987\"\u003e#2987\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003esoftprops/action-gh-release\u003c/code\u003e to 2.5.0 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2979\"\u003e#2979\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLink to \u003ccode\u003ejust-lsp\u003c/code\u003e in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/terror\"\u003eterror\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ejust --list\u003c/code\u003e submodule example in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2973\"\u003e#2973\u003c/a\u003e by \u003ca href=\"https://github.com/neodejack\"\u003eneodejack\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eactions/checkout\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2969\"\u003e#2969\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable mdbook-linkcheck (\u003ca href=\"https://redirect.github.com/casey/just/pull/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.43.1\u003c/h2\u003e\n\u003chr /\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.4.2 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2948\"\u003e#2948\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eenv()\u003c/code\u003e usage in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/laniakea64\"\u003elaniakea64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a case statement to install target dependencies (\u003ca href=\"https://redirect.github.com/casey/just/pull/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild loongarch64 release binaries (\u003ca href=\"https://redirect.github.com/casey/just/pull/2886\"\u003e#2886\u003c/a\u003e by \u003ca href=\"https://github.com/SkyBird233\"\u003eSkyBird233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release to 2.4.1 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2919\"\u003e#2919\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\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/gnpaone/rust-just/blob/master/CHANGELOG.md\"\u003erust-just's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.45.0\"\u003e1.45.0\u003c/a\u003e - 2025-12-10\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow requiring recipe arguments to match regular expression patterns (\u003ca href=\"https://redirect.github.com/casey/just/pull/3000\"\u003e#3000\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shell-expanded strings in attributes (\u003ca href=\"https://redirect.github.com/casey/just/pull/3007\"\u003e#3007\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix arg pattern anchoring (\u003ca href=\"https://redirect.github.com/casey/just/pull/3002\"\u003e#3002\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse non-capturing group in arg pattern regex (\u003ca href=\"https://redirect.github.com/casey/just/pull/3006\"\u003e#3006\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove redundant type annotation (\u003ca href=\"https://redirect.github.com/casey/just/pull/3004\"\u003e#3004\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.44.1\"\u003e1.44.1\u003c/a\u003e - 2025-12-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly close format string delimiter (\u003ca href=\"https://redirect.github.com/casey/just/pull/2997\"\u003e#2997\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.44.0\"\u003e1.44.0\u003c/a\u003e - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd f'{format}' strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2985\"\u003e#2985\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse double braces \u003ccode\u003e{{…}}\u003c/code\u003e for format strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2993\"\u003e#2993\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize \u003ccode\u003e[script]\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/casey/just/pull/2988\"\u003e#2988\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow newlines in interpolations and \u003ccode\u003e}\u003c/code\u003e to abut interpolation \u003ccode\u003e}}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2992\"\u003e#2992\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTest format strings with conditionals (\u003ca href=\"https://redirect.github.com/casey/just/pull/2991\"\u003e#2991\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove StringState into module (\u003ca href=\"https://redirect.github.com/casey/just/pull/2989\"\u003e#2989\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest undefined variable in format string error (\u003ca href=\"https://redirect.github.com/casey/just/pull/2987\"\u003e#2987\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003esoftprops/action-gh-release\u003c/code\u003e to 2.5.0 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2979\"\u003e#2979\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLink to \u003ccode\u003ejust-lsp\u003c/code\u003e in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/terror\"\u003eterror\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ejust --list\u003c/code\u003e submodule example in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2973\"\u003e#2973\u003c/a\u003e by \u003ca href=\"https://github.com/neodejack\"\u003eneodejack\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eactions/checkout\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2969\"\u003e#2969\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable mdbook-linkcheck (\u003ca href=\"https://redirect.github.com/casey/just/pull/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.43.1\"\u003e1.43.1\u003c/a\u003e - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\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/gnpaone/rust-just/commit/f803a029b8705061ccc0001511bf9ae95a856524\"\u003e\u003ccode\u003ef803a02\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/323\"\u003e#323\u003c/a\u003e from gnpaone/sync-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/6e01055f8ca5549c0ac7813368e2b1def14159a4\"\u003e\u003ccode\u003e6e01055\u003c/code\u003e\u003c/a\u003e chore: sync files from source repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/3962d493c9d72d256b08282a233bce1ac1022f3c\"\u003e\u003ccode\u003e3962d49\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/321\"\u003e#321\u003c/a\u003e from gnpaone/sync-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/1cf94eec87e2a04bf84cbdb8a5f6fa020c25dd1b\"\u003e\u003ccode\u003e1cf94ee\u003c/code\u003e\u003c/a\u003e chore: sync files from source repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/8b375bb7f30df6b54a95f5b8d2251e48081d5211\"\u003e\u003ccode\u003e8b375bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/320\"\u003e#320\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/cb6aebeea359de4e5e206b6f31ab60db2fe37bdd\"\u003e\u003ccode\u003ecb6aebe\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/33b136fc083a31b286a60f465770253053a1d227\"\u003e\u003ccode\u003e33b136f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/319\"\u003e#319\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/08074daad71238a7dce32b2edc650a5a2aa87d62\"\u003e\u003ccode\u003e08074da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/318\"\u003e#318\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/af30384590bd237de9efddb00daafd4509ee0b07\"\u003e\u003ccode\u003eaf30384\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/a7a521af2746586d83be5531bf8f3dc4518f1d03\"\u003e\u003ccode\u003ea7a521a\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gnpaone/rust-just/compare/1.43.0...1.45.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.38.0 to 0.40.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.40.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2772\"\u003eKludex/uvicorn#2772\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.39.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eexplicitly start ASGI run with empty context by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(websockets): Send close frame on ASGI return by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2769\"\u003eKludex/uvicorn#2769\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/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.38.0...0.39.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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.40.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eRemove\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.39.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSend close frame on ASGI return for WebSockets (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\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/Kludex/uvicorn/commit/9ff60042a53cd1bbfd5580ab0a91ea2d1d8f2f8c\"\u003e\u003ccode\u003e9ff6004\u003c/code\u003e\u003c/a\u003e Version 0.40.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2773\"\u003e#2773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/19df042c54c1562f058daf021d6f7bd1d5ed621c\"\u003e\u003ccode\u003e19df042\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/865ce7c0b4329a384273a6628eceb8d597989521\"\u003e\u003ccode\u003e865ce7c\u003c/code\u003e\u003c/a\u003e Run strict mypy on test suite (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2771\"\u003e#2771\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4f40b8495772eb3a1ab3613ffd7be5156f8e1389\"\u003e\u003ccode\u003e4f40b84\u003c/code\u003e\u003c/a\u003e Version 0.39.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2770\"\u003e#2770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5692dfc416f9e65aee5028e55d119313d8d3ab0f\"\u003e\u003ccode\u003e5692dfc\u003c/code\u003e\u003c/a\u003e fix(websockets): Send close frame on ASGI return (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4194764a26824e5d8ddd1fa673df78dff82966e0\"\u003e\u003ccode\u003e4194764\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/d94bf28743de545d2d4b150f022203a5178cb705\"\u003e\u003ccode\u003ed94bf28\u003c/code\u003e\u003c/a\u003e explicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8ae0bcbecb0a655789abf0c2dd4200848fc68a30\"\u003e\u003ccode\u003e8ae0bcb\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2748\"\u003e#2748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4744ff9a1a4888c76ea160328cc9dcc2680c2c71\"\u003e\u003ccode\u003e4744ff9\u003c/code\u003e\u003c/a\u003e Add groups configuration for GitHub Actions (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2747\"\u003e#2747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/0391372376c264604a0475b0864bcbf3a8705352\"\u003e\u003ccode\u003e0391372\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.8.0 to 7.1.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2746\"\u003e#2746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.20.0 to 0.20.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.20.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for standard tracebacks via the env \u003ccode\u003eTYPER_STANDARD_TRACEBACK\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1299\"\u003e#1299\u003c/a\u003e by \u003ca href=\"https://github.com/colin-nolan\"\u003e\u003ccode\u003e@​colin-nolan\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003eoptions_metavar\u003c/code\u003e is passed through correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/816\"\u003e#816\u003c/a\u003e by \u003ca href=\"https://github.com/gar1t\"\u003e\u003ccode\u003e@​gar1t\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Ensure an optional argument is shown in brackets, even when \u003ccode\u003emetavar\u003c/code\u003e is set. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1409\"\u003e#1409\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Ensure that the default \u003ccode\u003erich_markup_mode\u003c/code\u003e is interpreted correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1304\"\u003e#1304\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Refactor the handling of \u003ccode\u003eshellingham\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1347\"\u003e#1347\u003c/a\u003e by \u003ca href=\"https://github.com/nathanjmcdougall\"\u003e\u003ccode\u003e@​nathanjmcdougall\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Ensure that bold letters are rendered correctly in \u003ccode\u003eprinting.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1365\"\u003e#1365\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🩺 Update test badge to only reflect pushes to \u003ccode\u003emaster\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1414\"\u003e#1414\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update console output on the Rich help formatting page. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1430\"\u003e#1430\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update emoji used in Rich help formatting tutorial. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1429\"\u003e#1429\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Remove duplicate explanation how the path is resolved. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/956\"\u003e#956\u003c/a\u003e by \u003ca href=\"https://github.com/dennis-rall\"\u003e\u003ccode\u003e@​dennis-rall\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs to use \u003ccode\u003eTyper()\u003c/code\u003e more prominently. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1418\"\u003e#1418\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Use font 'Fira Code' to fix display of Rich panels in docs in Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1419\"\u003e#1419\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨  Add \u003ccode\u003e--showlocals\u003c/code\u003e to \u003ccode\u003etest.sh\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1169\"\u003e#1169\u003c/a\u003e by \u003ca href=\"https://github.com/rickwporter\"\u003e\u003ccode\u003e@​rickwporter\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.6 to 0.14.8. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1436\"\u003e#1436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1434\"\u003e#1434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Update tests to use \u003ccode\u003emod.app\u003c/code\u003e . PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1427\"\u003e#1427\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1426\"\u003e#1426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1425\"\u003e#1425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.5 to 0.14.6. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1423\"\u003e#1423\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1417\"\u003e#1417\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Upgrade \u003ccode\u003elatest-changes\u003c/code\u003e GitHub Action and pin \u003ccode\u003eactions/checkout@v5\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1424\"\u003e#1424\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Upgrade Material for MkDocs and remove insiders. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1416\"\u003e#1416\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.23 to 9.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1404\"\u003e#1404\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.1 to 1.5.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1406\"\u003e#1406\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.4 to 0.14.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1407\"\u003e#1407\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1413\"\u003e#1413\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.3 to 0.14.4. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1402\"\u003e#1402\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1403\"\u003e#1403\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.2 to 0.14.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1396\"\u003e#1396\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1399\"\u003e#1399\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.6.22 to 9.6.23. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1398\"\u003e#1398\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1394\"\u003e#1394\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.1 to 0.14.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1383\"\u003e#1383\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 4 to 5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1388\"\u003e#1388\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.0 to 1.4.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1389\"\u003e#1389\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\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/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.20.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for standard tracebacks via the env \u003ccode\u003eTYPER_STANDARD_TRACEBACK\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1299\"\u003e#1299\u003c/a\u003e by \u003ca href=\"https://github.com/colin-nolan\"\u003e\u003ccode\u003e@​colin-nolan\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003eoptions_metavar\u003c/code\u003e is passed through correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/816\"\u003e#816\u003c/a\u003e by \u003ca href=\"https://github.com/gar1t\"\u003e\u003ccode\u003e@​gar1t\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Ensure an optional argument is shown in brackets, even when \u003ccode\u003emetavar\u003c/code\u003e is set. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1409\"\u003e#1409\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Ensure that the default \u003ccode\u003erich_markup_mode\u003c/code\u003e is interpreted correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1304\"\u003e#1304\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Refactor the handling of \u003ccode\u003eshellingham\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1347\"\u003e#1347\u003c/a\u003e by \u003ca href=\"https://github.com/nathanjmcdougall\"\u003e\u003ccode\u003e@​nathanjmcdougall\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Ensure that bold letters are rendered correctly in \u003ccode\u003eprinting.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1365\"\u003e#1365\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🩺 Update test badge to only reflect pushes to \u003ccode\u003emaster\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1414\"\u003e#1414\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update console output on the Rich help formatting page. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1430\"\u003e#1430\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update emoji used in Rich help formatting tutorial. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1429\"\u003e#1429\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Remove duplicate explanation how the path is resolved. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/956\"\u003e#956\u003c/a\u003e by \u003ca href=\"https://github.com/dennis-rall\"\u003e\u003ccode\u003e@​dennis-rall\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs to use \u003ccode\u003eTyper()\u003c/code\u003e more prominently. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1418\"\u003e#1418\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Use font 'Fira Code' to fix display of Rich panels in docs in Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1419\"\u003e#1419\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨  Add \u003ccode\u003e--showlocals\u003c/code\u003e to \u003ccode\u003etest.sh\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1169\"\u003e#1169\u003c/a\u003e by \u003ca href=\"https://github.com/rickwporter\"\u003e\u003ccode\u003e@​rickwporter\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.6 to 0.14.8. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1436\"\u003e#1436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1434\"\u003e#1434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Update tests to use \u003ccode\u003emod.app\u003c/code\u003e . PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1427\"\u003e#1427\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1426\"\u003e#1426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1425\"\u003e#1425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.5 to 0.14.6. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1423\"\u003e#1423\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​depe...\n\n_Description has been truncated_","html_url":"https://github.com/charles-alchemcy/air/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/charles-alchemcy%2Fair/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"0.2.0","new_version":"0.5.0","update_type":"minor","path":null,"pr_created_at":"2025-12-16T16:28:46.000Z","version_change":"0.2.0 → 0.5.0","issue":{"uuid":"3735499594","node_id":"PR_kwDODTo4k865MN7f","number":7821,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.2.0 to 0.5.0","user":"dependabot[bot]","labels":["dependencies","internal","size/XS","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-16T16:28:46.000Z","updated_at":"2025-12-16T16:46:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.2.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.2.0 to 0.5.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.1\"\u003e0.3.1\u003c/a\u003e - 2025-08-05\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.0...0.3.1\"\u003eCompare with 0.3.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve user-defined ordering of pages (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/1359e250e675f7742d18f9641136fccc26199773\"\u003e1359e25\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/21\"\u003eIssue-21\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.0\"\u003e0.3.0\u003c/a\u003e - 2025-07-14\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.2.0...0.3.0\"\u003eCompare with 0.2.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport file descriptions (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/33f64b306199218dbb34cd796e59113388a6c26c\"\u003e33f64b3\u003c/a\u003e by Logan). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/6\"\u003eIssue-6\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/8\"\u003ePR-8\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport formatting Markdown tables (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/f1fc8757dcab95af7b645331ddc5f1f01888bc88\"\u003ef1fc875\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/13\"\u003eIssue-13\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.1\"\u003e0.3.1\u003c/a\u003e - 2025-08-05\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.0...0.3.1\"\u003eCompare with 0.3.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve user-defined ordering of pages (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/1359e250e675f7742d18f9641136fccc26199773\"\u003e1359e25\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/21\"\u003eIssue-21\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.0\"\u003e0.3.0\u003c/a\u003e - 2025-07-14\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.2.0...0.3.0\"\u003eCompare with 0.2.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport file descriptions (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/33f64b306199218dbb34cd796e59113388a6c26c\"\u003e33f64b3\u003c/a\u003e by Logan). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/6\"\u003eIssue-6\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/8\"\u003ePR-8\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport formatting Markdown tables (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/f1fc8757dcab95af7b645331ddc5f1f01888bc88\"\u003ef1fc875\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/13\"\u003eIssue-13\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/pawamoy/mkdocs-llmstxt/commit/8968edfb0e66c56e60072f0da74d37c2dc78d8ef\"\u003e\u003ccode\u003e8968edf\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/cc414163f69857d9b01ff1c0cfcb2099c7fd754f\"\u003e\u003ccode\u003ecc41416\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e\u003ccode\u003e52e0318\u003c/code\u003e\u003c/a\u003e feat: Resolve relative links to absolute ones, link to generated Markdown files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/71c7df2c3bd4bc298bc6315676952ce67698b3d4\"\u003e\u003ccode\u003e71c7df2\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/1359e250e675f7742d18f9641136fccc26199773\"\u003e\u003ccode\u003e1359e25\u003c/code\u003e\u003c/a\u003e fix: Preserve user-defined ordering of pages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.2.0...0.5.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.2.0\u0026new-version=0.5.0)](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/aws-powertools/powertools-lambda-python/pull/7821","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7821","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7821/packages"}},{"old_version":"0.4.0","new_version":"0.5.0","update_type":"minor","path":null,"pr_created_at":"2025-12-12T12:30:08.000Z","version_change":"0.4.0 → 0.5.0","issue":{"uuid":"3723259188","node_id":"PR_kwDOQNF0us64jxgI","number":10,"state":"closed","title":"⬆(deps): Bump the python-dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-12-15T12:33:49.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-12T12:30:08.000Z","updated_at":"2025-12-15T12:33:51.000Z","time_to_close":259421,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆(deps): Bump","group_name":"python-dependencies","update_count":15,"packages":[{"name":"fastapi","old_version":"0.119.1","new_version":"0.124.2","repository_url":"https://github.com/fastapi/fastapi"},{"name":"greenlet","old_version":"3.2.4","new_version":"3.3.0","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"authlib","old_version":"1.6.5","new_version":"1.6.6","repository_url":"https://github.com/authlib/authlib"},{"name":"rust-just","old_version":"1.43.0","new_version":"1.45.0","repository_url":"https://github.com/gnpaone/rust-just"},{"name":"pyrefly","old_version":"0.38.2","new_version":"0.45.2","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.14.1","new_version":"0.14.9","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.1a23","new_version":"0.0.1a33","repository_url":"https://github.com/astral-sh/ty"},{"name":"types-markdown","old_version":"3.9.0.20250906","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typos","old_version":"1.38.1","new_version":"1.40.0","repository_url":"https://github.com/crate-ci/typos"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"diff-cover","old_version":"9.7.1","new_version":"10.0.0","repository_url":"https://github.com/Bachmann1234/diff-cover"},{"name":"pytest-benchmark","old_version":"5.1.0","new_version":"5.2.3","repository_url":"https://github.com/ionelmc/pytest-benchmark"},{"name":"mkdocs-llmstxt","old_version":"0.4.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"},{"name":"mkdocstrings-python","old_version":"1.18.2","new_version":"2.0.1","repository_url":"https://github.com/mkdocstrings/python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.119.1` | `0.124.2` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.4` | `3.3.0` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.5` | `1.6.6` |\n| [rust-just](https://github.com/gnpaone/rust-just) | `1.43.0` | `1.45.0` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.38.2` | `0.45.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.1` | `0.14.9` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a23` | `0.0.1a33` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.9.0.20250906` | `3.10.0.20251106` |\n| [typos](https://github.com/crate-ci/typos) | `1.38.1` | `1.40.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.2` |\n| [diff-cover](https://github.com/Bachmann1234/diff-cover) | `9.7.1` | `10.0.0` |\n| [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) | `5.1.0` | `5.2.3` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.4.0` | `0.5.0` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `1.18.2` | `2.0.1` |\n\n\nUpdates `fastapi` from 0.119.1 to 0.124.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.124.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix support for \u003ccode\u003eif TYPE_CHECKING\u003c/code\u003e,  non-evaluated stringified annotations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14485\"\u003e#14485\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix handling arbitrary types when using \u003ccode\u003earbitrary_types_allowed=True\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14482\"\u003e#14482\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add variants for code examples in \u0026quot;Advanced User Guide\u0026quot;. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14413\"\u003e#14413\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update tech stack in project generation docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14472\"\u003e#14472\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Add test for Pydantic v2, dataclasses, UUID, and \u003ccode\u003e__annotations__\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14477\"\u003e#14477\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸  Improve tracebacks by adding endpoint metadata. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14306\"\u003e#14306\u003c/a\u003e by \u003ca href=\"https://github.com/savannahostrowski\"\u003e\u003ccode\u003e@​savannahostrowski\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typo in \u003ccode\u003escripts/mkdocs_hooks.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14457\"\u003e#14457\u003c/a\u003e by \u003ca href=\"https://github.com/yujiteshima\"\u003e\u003ccode\u003e@​yujiteshima\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.10\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix using class (not instance) dependency that has \u003ccode\u003e__call__\u003c/code\u003e method. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14458\"\u003e#14458\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eseparate_input_output_schemas=False\u003c/code\u003e with \u003ccode\u003ecomputed_field\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14453\"\u003e#14453\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.9\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency with scopes, sub-dependency security scheme without scopes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14459\"\u003e#14459\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.8\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix OpenAPI security scheme OAuth2 scopes declaration, deduplicate security schemes with different scopes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14455\"\u003e#14455\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.7\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix evaluating stringified annotations in Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/11355\"\u003e#11355\u003c/a\u003e by \u003ca href=\"https://github.com/chaen\"\u003e\u003ccode\u003e@​chaen\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.6\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7b0b915749582206025f306924e6a7bf86041a13\"\u003e\u003ccode\u003e7b0b915\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.124.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/96bdde376f900d3c32c9e57f7cc16930fb29aa5e\"\u003e\u003ccode\u003e96bdde3\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7ba042e069ad424a584a37f1db03887798d9af80\"\u003e\u003ccode\u003e7ba042e\u003c/code\u003e\u003c/a\u003e 🐛 Fix support for \u003ccode\u003eif TYPE_CHECKING\u003c/code\u003e,  non-evaluated stringified annotations ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/60699f306b67dc1f4918ebea17f04d7a48cda645\"\u003e\u003ccode\u003e60699f3\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.124.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ae7af59c6d5921a3c700a9595788a444975a9d8c\"\u003e\u003ccode\u003eae7af59\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/42b250d14dd42d3c0c24dd085fa53878172a985f\"\u003e\u003ccode\u003e42b250d\u003c/code\u003e\u003c/a\u003e 🐛 Fix handling arbitrary types when using \u003ccode\u003earbitrary_types_allowed=True\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14\"\u003e#14\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/71a17b5932e38bcf798fcd05c5bb384e6d4db5bf\"\u003e\u003ccode\u003e71a17b5\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9475024640f2e204944c5aa2cd9c67a8826189d9\"\u003e\u003ccode\u003e9475024\u003c/code\u003e\u003c/a\u003e 📝 Add variants for code examples in \u0026quot;Advanced User Guide\u0026quot; (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14413\"\u003e#14413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5b28a04d550d95ef0061f41f5a5dcfe36045e8c8\"\u003e\u003ccode\u003e5b28a04\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8cedb742cb59f72a752bb0a6b4f73c02aeb15bf6\"\u003e\u003ccode\u003e8cedb74\u003c/code\u003e\u003c/a\u003e ✅ Add test for Pydantic v2, dataclasses, UUID, and \u003ccode\u003e__annotations__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14477\"\u003e#14477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.119.1...0.124.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.2.4 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.0 (2025-12-04)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitch to distributing manylinux_2_28 wheels instead of\nmanylinux2014 wheels. Likewise, switch from musllinux_1_1 to 1_2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd initial support for free-threaded builds of CPython 3.14. Due to\nlimitations, we do not distribute binary wheels for free-threaded\nCPython on Windows. (Free-threaded CPython 3.13 may work, but is\nuntested and unsupported.)\u003c/p\u003e\n\u003cp\u003e.. caution::\u003c/p\u003e\n\u003cp\u003eUnder some rare scenarios with free-threaded 3.14, the\ninterpreter may crash on accessing a variable or attribute or\nwhen shutting down. If this happens, try disabling the\nthread-local bytecode cache. See the greenlet documentation for\nmore details. See \u003ccode\u003ePR 472 by T. Wouters \u0026lt;https://github.com/python-greenlet/greenlet/pull/472\u0026gt;\u003c/code\u003e_ for the\ninitial free-threaded support and a discussion of the current\nknown issues.\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/python-greenlet/greenlet/commit/0f904314e2fe11835bdff9d928f9f039116aebff\"\u003e\u003ccode\u003e0f90431\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/296058a43da5a76c2406a91aa998413b93537940\"\u003e\u003ccode\u003e296058a\u003c/code\u003e\u003c/a\u003e Tweak changelog. [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d4392ab171036bf73cc64ed47109e0d2e1f41275\"\u003e\u003ccode\u003ed4392ab\u003c/code\u003e\u003c/a\u003e fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/e6fead23d967fd6194c5a1eaa48d55a07b4bda40\"\u003e\u003ccode\u003ee6fead2\u003c/code\u003e\u003c/a\u003e Update docs regarding free-threading.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d5b134610187f94a641e0cf40be56992c8e9f667\"\u003e\u003ccode\u003ed5b1346\u003c/code\u003e\u003c/a\u003e 3.14: Save/restore PyInterpreterFrame.stackpointer.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b54c4bdaaade13139d54005df51a9d21df5db7c4\"\u003e\u003ccode\u003eb54c4bd\u003c/code\u003e\u003c/a\u003e Fix some crashes with CPython assertions enabled, pointing to things we were ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/47e99259263968560422c9b69bc8c50f9068cf87\"\u003e\u003ccode\u003e47e9925\u003c/code\u003e\u003c/a\u003e Add a test that we're not enabling the GIL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/0778d50792888afa043c8a368085358c3fea0146\"\u003e\u003ccode\u003e0778d50\u003c/code\u003e\u003c/a\u003e Use our Python allocator on free-threaded builds, but do it correctly with Py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5f661f4f5a023438e944d36e4f255c7a706ae998\"\u003e\u003ccode\u003e5f661f4\u003c/code\u003e\u003c/a\u003e Add free-threaded CI builds and manylinux builds; update manylinux away from ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5331b0ad33a7380b91d8a9849f61aa61b7b1ade2\"\u003e\u003ccode\u003e5331b0a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/475\"\u003e#475\u003c/a\u003e from clin1234/capi\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.2.4...3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.6.5 to 1.6.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/blob/main/docs/changelog.rst\"\u003eauthlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.6.6\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eReleased on Dec 12, 2025\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eget_jwt_config\u003c/code\u003e takes a \u003ccode\u003eclient\u003c/code\u003e parameter, :pr:\u003ccode\u003e844\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix incorrect signature when \u003ccode\u003eContent-Type\u003c/code\u003e is x-www-form-urlencoded for OAuth 1.0 Client, :pr:\u003ccode\u003e778\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eexpires_in\u003c/code\u003e in \u003ccode\u003eOAuth2Token\u003c/code\u003e when \u003ccode\u003eexpires_at\u003c/code\u003e is unparsable, :pr:\u003ccode\u003e842\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlways track \u003ccode\u003estate\u003c/code\u003e in session for OAuth client integrations.\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/authlib/authlib/commit/bb7a315befbad333faf9a23ef574d6e3134a6774\"\u003e\u003ccode\u003ebb7a315\u003c/code\u003e\u003c/a\u003e chore: release 1.6.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/0a423d4638bed1c0fe4597b2296a85c5bb59fba2\"\u003e\u003ccode\u003e0a423d4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/844\"\u003e#844\u003c/a\u003e from azmeuk/806-get-jwt-config-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/2808378611dd6fb2532b189a9087877d8f0c0489\"\u003e\u003ccode\u003e2808378\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/714502a4738bc29f26eb245b0c66718d8536cdda\"\u003e\u003ccode\u003e714502a\u003c/code\u003e\u003c/a\u003e feat: get_jwt_config takes a client parameter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/260d04edee23d8470057ea659c16fb8a2c7b0dc2\"\u003e\u003ccode\u003e260d04e\u003c/code\u003e\u003c/a\u003e Fix: Use \u003ccode\u003eexpires_in\u003c/code\u003e when \u003ccode\u003eexpires_at\u003c/code\u003e is unparsable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/eb37124bbbec6ccbfba3699d8960f9710d330ad8\"\u003e\u003ccode\u003eeb37124\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/778\"\u003e#778\u003c/a\u003e from shc261392/fix-httpx-oauth1-form-data-incorrect-s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/0ba9ec4feeb8e19f572c454e2d1dbbdc1d30ae62\"\u003e\u003ccode\u003e0ba9ec4\u003c/code\u003e\u003c/a\u003e docs: fix guide on requests self signed certificate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a2e9943815bb5161863b1fa144ac0aaa50d97e91\"\u003e\u003ccode\u003ea2e9943\u003c/code\u003e\u003c/a\u003e docs: indicate that \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/743\"\u003e#743\u003c/a\u003e needs a migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/06015d20652a23eff8350b6ad71b32fe41dae4ba\"\u003e\u003ccode\u003e06015d2\u003c/code\u003e\u003c/a\u003e test: factorize the token fixture\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.5...v1.6.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rust-just` from 1.43.0 to 1.45.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gnpaone/rust-just/releases\"\u003erust-just's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.45.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow requiring recipe arguments to match regular expression patterns (\u003ca href=\"https://redirect.github.com/casey/just/pull/3000\"\u003e#3000\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shell-expanded strings in attributes (\u003ca href=\"https://redirect.github.com/casey/just/pull/3007\"\u003e#3007\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix arg pattern anchoring (\u003ca href=\"https://redirect.github.com/casey/just/pull/3002\"\u003e#3002\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse non-capturing group in arg pattern regex (\u003ca href=\"https://redirect.github.com/casey/just/pull/3006\"\u003e#3006\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove redundant type annotation (\u003ca href=\"https://redirect.github.com/casey/just/pull/3004\"\u003e#3004\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.44.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly close format string delimiter (\u003ca href=\"https://redirect.github.com/casey/just/pull/2997\"\u003e#2997\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.44.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd f'{format}' strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2985\"\u003e#2985\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse double braces \u003ccode\u003e{{…}}\u003c/code\u003e for format strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2993\"\u003e#2993\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize \u003ccode\u003e[script]\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/casey/just/pull/2988\"\u003e#2988\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow newlines in interpolations and \u003ccode\u003e}\u003c/code\u003e to abut interpolation \u003ccode\u003e}}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2992\"\u003e#2992\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTest format strings with conditionals (\u003ca href=\"https://redirect.github.com/casey/just/pull/2991\"\u003e#2991\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove StringState into module (\u003ca href=\"https://redirect.github.com/casey/just/pull/2989\"\u003e#2989\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest undefined variable in format string error (\u003ca href=\"https://redirect.github.com/casey/just/pull/2987\"\u003e#2987\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003esoftprops/action-gh-release\u003c/code\u003e to 2.5.0 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2979\"\u003e#2979\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLink to \u003ccode\u003ejust-lsp\u003c/code\u003e in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/terror\"\u003eterror\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ejust --list\u003c/code\u003e submodule example in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2973\"\u003e#2973\u003c/a\u003e by \u003ca href=\"https://github.com/neodejack\"\u003eneodejack\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eactions/checkout\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2969\"\u003e#2969\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable mdbook-linkcheck (\u003ca href=\"https://redirect.github.com/casey/just/pull/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.43.1\u003c/h2\u003e\n\u003chr /\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.4.2 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2948\"\u003e#2948\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eenv()\u003c/code\u003e usage in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/laniakea64\"\u003elaniakea64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a case statement to install target dependencies (\u003ca href=\"https://redirect.github.com/casey/just/pull/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild loongarch64 release binaries (\u003ca href=\"https://redirect.github.com/casey/just/pull/2886\"\u003e#2886\u003c/a\u003e by \u003ca href=\"https://github.com/SkyBird233\"\u003eSkyBird233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release to 2.4.1 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2919\"\u003e#2919\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\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/gnpaone/rust-just/blob/master/CHANGELOG.md\"\u003erust-just's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.45.0\"\u003e1.45.0\u003c/a\u003e - 2025-12-10\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow requiring recipe arguments to match regular expression patterns (\u003ca href=\"https://redirect.github.com/casey/just/pull/3000\"\u003e#3000\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shell-expanded strings in attributes (\u003ca href=\"https://redirect.github.com/casey/just/pull/3007\"\u003e#3007\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix arg pattern anchoring (\u003ca href=\"https://redirect.github.com/casey/just/pull/3002\"\u003e#3002\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse non-capturing group in arg pattern regex (\u003ca href=\"https://redirect.github.com/casey/just/pull/3006\"\u003e#3006\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove redundant type annotation (\u003ca href=\"https://redirect.github.com/casey/just/pull/3004\"\u003e#3004\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.44.1\"\u003e1.44.1\u003c/a\u003e - 2025-12-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly close format string delimiter (\u003ca href=\"https://redirect.github.com/casey/just/pull/2997\"\u003e#2997\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.44.0\"\u003e1.44.0\u003c/a\u003e - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd f'{format}' strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2985\"\u003e#2985\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse double braces \u003ccode\u003e{{…}}\u003c/code\u003e for format strings (\u003ca href=\"https://redirect.github.com/casey/just/pull/2993\"\u003e#2993\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize \u003ccode\u003e[script]\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/casey/just/pull/2988\"\u003e#2988\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow newlines in interpolations and \u003ccode\u003e}\u003c/code\u003e to abut interpolation \u003ccode\u003e}}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2992\"\u003e#2992\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTest format strings with conditionals (\u003ca href=\"https://redirect.github.com/casey/just/pull/2991\"\u003e#2991\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove StringState into module (\u003ca href=\"https://redirect.github.com/casey/just/pull/2989\"\u003e#2989\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest undefined variable in format string error (\u003ca href=\"https://redirect.github.com/casey/just/pull/2987\"\u003e#2987\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003esoftprops/action-gh-release\u003c/code\u003e to 2.5.0 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2979\"\u003e#2979\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLink to \u003ccode\u003ejust-lsp\u003c/code\u003e in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/terror\"\u003eterror\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ejust --list\u003c/code\u003e submodule example in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2973\"\u003e#2973\u003c/a\u003e by \u003ca href=\"https://github.com/neodejack\"\u003eneodejack\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eactions/checkout\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/casey/just/pull/2969\"\u003e#2969\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable mdbook-linkcheck (\u003ca href=\"https://redirect.github.com/casey/just/pull/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.43.1\"\u003e1.43.1\u003c/a\u003e - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\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/gnpaone/rust-just/commit/f803a029b8705061ccc0001511bf9ae95a856524\"\u003e\u003ccode\u003ef803a02\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/323\"\u003e#323\u003c/a\u003e from gnpaone/sync-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/6e01055f8ca5549c0ac7813368e2b1def14159a4\"\u003e\u003ccode\u003e6e01055\u003c/code\u003e\u003c/a\u003e chore: sync files from source repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/3962d493c9d72d256b08282a233bce1ac1022f3c\"\u003e\u003ccode\u003e3962d49\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/321\"\u003e#321\u003c/a\u003e from gnpaone/sync-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/1cf94eec87e2a04bf84cbdb8a5f6fa020c25dd1b\"\u003e\u003ccode\u003e1cf94ee\u003c/code\u003e\u003c/a\u003e chore: sync files from source repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/8b375bb7f30df6b54a95f5b8d2251e48081d5211\"\u003e\u003ccode\u003e8b375bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/320\"\u003e#320\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/cb6aebeea359de4e5e206b6f31ab60db2fe37bdd\"\u003e\u003ccode\u003ecb6aebe\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/33b136fc083a31b286a60f465770253053a1d227\"\u003e\u003ccode\u003e33b136f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/319\"\u003e#319\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/08074daad71238a7dce32b2edc650a5a2aa87d62\"\u003e\u003ccode\u003e08074da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/318\"\u003e#318\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/af30384590bd237de9efddb00daafd4509ee0b07\"\u003e\u003ccode\u003eaf30384\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/a7a521af2746586d83be5531bf8f3dc4518f1d03\"\u003e\u003ccode\u003ea7a521a\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gnpaone/rust-just/compare/1.43.0...1.45.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyrefly` from 0.38.2 to 0.45.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/pyrefly/releases\"\u003epyrefly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyrefly v0.45.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eStatus : BETA\u003c/strong\u003e\u003cbr /\u003e\n\u003cem\u003eRelease date: 08 December 2025\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003ePyrefly v0.45.0 bundles \u003cstrong\u003e146 commits\u003c/strong\u003e from \u003cstrong\u003e21 contributors\u003c/strong\u003e.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003e✨ New \u0026amp; Improved\u003c/h1\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eArea\u003c/th\u003e\n\u003cth align=\"left\"\u003eWhat’s new\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eType Checking\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- For dict literals without a contextual hint Pyrefly will now infer an anonymous typed dict. This reduces false positives when unpacking a heterogeneous dict as kwargs. \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Better suggestions hints for name and attribute errors (e.g. suggesting fixes to one letter errors like \u003ccode\u003emy_variuble\u003c/code\u003e → \u003ccode\u003emy_variable\u003c/code\u003e). \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Callable types are now narrowed more intuitively, especially in \u003ccode\u003eisinstance\u003c/code\u003e checks. Callable Enums are also now supported \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- New check added (defaults to warn) for comparisons where the result is predictable or the comparison inappropriate (e.g. \u003ccode\u003eTrue is False\u003c/code\u003e). Reflects basic support for Pyright’s \u003ccode\u003ereportUnnecessaryComparison\u003c/code\u003e and Mypy’s \u003ccode\u003ecomparison-overlap\u003c/code\u003e check.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eLanguage Server\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003eAutomatic file renaming improved to allow editable third party packages to be renamed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eThird Party Package Support\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Support for Pydantic lax mode has been extended to include support for container types (lists, dicts etc.)  \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- All Django fields now support nullability, fixing issues with \u003ccode\u003eTextField\u003c/code\u003e and others \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Pyrefly will now correctly infer the signature for functions decorated with \u003ccode\u003enumba.jit\u003c/code\u003e and \u003ccode\u003enumba.njit\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003chr /\u003e\n\u003ch1\u003e🐛 bug fixes\u003c/h1\u003e\n\u003cp\u003eWe closed 19 bug issues this release 👏\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1736\"\u003e#1736\u003c/a\u003e - Fixed prepareRename LSP request to allow renaming of symbols from editable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1732\"\u003e#1732\u003c/a\u003e - Fixed handling of await inside async comprehensions at module scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1686\"\u003e#1686\u003c/a\u003e - Fixed highlighting for Chinese and other multi-byte characters by using UTF-16 encoding for semantic token offsets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1632\"\u003e#1632\u003c/a\u003e - Fixed tracking of unresolvable modules, ensuring type errors are updated when import errors change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1565\"\u003e#1565\u003c/a\u003e - Fixed false positive type errors in nested loops by correctly handling \u003ccode\u003eLoopRecursive\u003c/code\u003e variables in type checking.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/204\"\u003e#204\u003c/a\u003e - Fixed missing error when \u003ccode\u003e__all__\u003c/code\u003e is not implemented, now validating user-defined \u003ccode\u003e__all__\u003c/code\u003e entries and emitting errors for missing module attributes\u003c/li\u003e\n\u003cli\u003eAnd more: \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1773\"\u003e#1773\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1765\"\u003e#1765\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1742\"\u003e#1742\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1739\"\u003e#1739\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1720\"\u003e#1720\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1698\"\u003e#1698\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1624\"\u003e#1624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1479\"\u003e#1479\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1475\"\u003e#1475\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1325\"\u003e#1325\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1289\"\u003e#1289\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/974\"\u003e#974\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/548\"\u003e#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank-you to all our contributors who found these bugs and reported them! Did you know this is one of the most helpful contributions you can make to an open-source project? If you find any bugs in Pyrefly we want to know about them! Please open a bug report issue \u003ca href=\"https://github.com/facebook/pyrefly/issues\"\u003ehere\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003e📦 Upgrade\u003c/h1\u003e\n\u003cpre\u003e\u003ccode\u003epip install --upgrade pyrefly==0.45.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eHow to safely upgrade your codebase\u003c/h2\u003e\n\u003cp\u003eUpgrading the version of Pyrefly you're using or a third-party library you depend on can reveal new type errors in your code. Fixing them all at once is often unrealistic. We've written scripts to help you temporarily silence them. After upgrading, follow these steps:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ccode\u003epyrefly check --suppress-errors\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003erun your code formatter of choice\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epyrefly check --remove-unused-ignores\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRepeat until you achieve a clean formatting run and a clean type check.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eThis will add `pyrefly: ignore` comments to your code, enabling you to silence errors and return to fix them later. This can make the process of upgrading a large codebase much more manageable.\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/facebook/pyrefly/commit/91509810d048b26f2f4834dd968b660876357eb3\"\u003e\u003ccode\u003e9150981\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/a0ba3e77b51b9b8bc9ec519ef0529919f33a43c3\"\u003e\u003ccode\u003ea0ba3e7\u003c/code\u003e\u003c/a\u003e Handle path and UUID in lax mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/6d89b3c411191dd046d6b70b1cd925ae109f2654\"\u003e\u003ccode\u003e6d89b3c\u003c/code\u003e\u003c/a\u003e Support decimal in lax mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/693306e6171da2835ce46bdccb5328ad9c0c0ba7\"\u003e\u003ccode\u003e693306e\u003c/code\u003e\u003c/a\u003e Support sequence + iterable in lax mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/ffb81efe2469f9afbd19ee727c0b56d872b3f92f\"\u003e\u003ccode\u003effb81ef\u003c/code\u003e\u003c/a\u003e Add prepare_call_hierarchy LSP handler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/f50e60ef517537ef3e3e1463d4e42c396bd1f655\"\u003e\u003ccode\u003ef50e60e\u003c/code\u003e\u003c/a\u003e Add test which shows prepareCallHierarchy server capability is not yet implem...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/fc6ca1a4696714e078b9ad700fdf321b0a6af698\"\u003e\u003ccode\u003efc6ca1a\u003c/code\u003e\u003c/a\u003e Add find_global_callees_from_definition function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/04bb315b1ccb2e2b6edbc8a4c9a8421020a616cb\"\u003e\u003ccode\u003e04bb315\u003c/code\u003e\u003c/a\u003e Remove fake-stubs from bundle.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/2a3736b2c4b261b5ab64bb15c1ead0cb55a7edb0\"\u003e\u003ccode\u003e2a3736b\u003c/code\u003e\u003c/a\u003e Add sympy-stubs to Pyrefly Bundle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/7776a0e62616b7e930339b91f91ff5e51e1f68fe\"\u003e\u003ccode\u003e7776a0e\u003c/code\u003e\u003c/a\u003e Add vispy stubs to Pyrefly bundle.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.38.2...0.45.2\"\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.1 to 0.14.9\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.9\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-11.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New \u003ccode\u003eRUF100\u003c/code\u003e diagnostics for unused range suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21783\"\u003e#21783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Detect subclasses of builtin exceptions (\u003ccode\u003ePLW0133\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21382\"\u003e#21382\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix comment placement in lambda parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21868\"\u003e#21868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip over trivia tokens after re-lexing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21895\"\u003e#21895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix false positive when using non-standard \u003ccode\u003eCSafeLoader\u003c/code\u003e path (S506). (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21830\"\u003e#21830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Accept immutable slice default arguments (\u003ccode\u003eB008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21823\"\u003e#21823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Suppress \u003ccode\u003eD417\u003c/code\u003e for parameters with \u003ccode\u003eUnpack\u003c/code\u003e annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21816\"\u003e#21816\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003ememchr\u003c/code\u003e for computing line indexes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21838\"\u003e#21838\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003e*.pyw\u003c/code\u003e is included by default in preview (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21885\"\u003e#21885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument range suppressions, reorganize suppression docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21884\"\u003e#21884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate mkdocs-material to 9.7.0 (Insiders now free) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21797\"\u003e#21797\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/Avasam\"\u003e\u003ccode\u003e@​Avasam\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phongddo\"\u003e\u003ccode\u003e@​phongddo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahiro72\"\u003e\u003ccode\u003e@​mahiro72\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\u003cli\u003e\u003ca href=\"https://github.com/LoicRiegel\"\u003e\u003ccode\u003e@​LoicRiegel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.9\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.9/ruff-installer.sh | sh\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\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.9\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-11.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New \u003ccode\u003eRUF100\u003c/code\u003e diagnostics for unused range suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21783\"\u003e#21783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Detect subclasses of builtin exceptions (\u003ccode\u003ePLW0133\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21382\"\u003e#21382\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix comment placement in lambda parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21868\"\u003e#21868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip over trivia tokens after re-lexing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21895\"\u003e#21895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix false positive when using non-standard \u003ccode\u003eCSafeLoader\u003c/code\u003e path (S506). (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21830\"\u003e#21830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Accept immutable slice default arguments (\u003ccode\u003eB008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21823\"\u003e#21823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Suppress \u003ccode\u003eD417\u003c/code\u003e for parameters with \u003ccode\u003eUnpack\u003c/code\u003e annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21816\"\u003e#21816\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003ememchr\u003c/code\u003e for computing line indexes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21838\"\u003e#21838\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003e*.pyw\u003c/code\u003e is included by default in preview (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21885\"\u003e#21885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument range suppressions, reorganize suppression docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21884\"\u003e#21884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate mkdocs-material to 9.7.0 (Insiders now free) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21797\"\u003e#21797\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/Avasam\"\u003e\u003ccode\u003e@​Avasam\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phongddo\"\u003e\u003ccode\u003e@​phongddo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahiro72\"\u003e\u003ccode\u003e@​mahiro72\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\u003cli\u003e\u003ca href=\"https://github.com/LoicRiegel\"\u003e\u003ccode\u003e@​LoicRiegel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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\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/3f63ea4b504d50eaf3c479de68e4017d2434a160\"\u003e\u003ccode\u003e3f63ea4\u003c/code\u003e\u003c/a\u003e Prepare 0.14.9 release (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21927\"\u003e#21927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c8851ecf704c1e989c5b840e2d53ac24210b4aec\"\u003e\u003ccode\u003ec8851ec\u003c/code\u003e\u003c/a\u003e [ty] Defer all parameter and return type annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21906\"\u003e#21906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d442433e93840edc47f77ab10a85ebfbcb18211b\"\u003e\u003ccode\u003ed442433\u003c/code\u003e\u003c/a\u003e [ty] Fix workspace symbols to return members too (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21926\"\u003e#21926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c055d665ef4bbf4002a8c07bdf9b9e76c065a26b\"\u003e\u003ccode\u003ec055d66\u003c/code\u003e\u003c/a\u003e Document range suppressions, reorganize suppression docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21884\"\u003e#21884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7a578ce8334d4a1e75f91b1c600fa035f0469bed\"\u003e\u003ccode\u003e7a578ce\u003c/code\u003e\u003c/a\u003e Ignore ruff:isort like ruff:noqa in new suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21922\"\u003e#21922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34f7a04ef7ecb620658038c1db62a4204eb85388\"\u003e\u003ccode\u003e34f7a04\u003c/code\u003e\u003c/a\u003e [ty] Handle \u003ccode\u003eDefinition\u003c/code\u003es in \u003ccode\u003eSemanticModel::scope\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21919\"\u003e#21919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c9fe4e2703365b868a3b08364bf9673cef36f13f\"\u003e\u003ccode\u003ec9fe4e2\u003c/code\u003e\u003c/a\u003e [ty] Attach salsa db when running ide tests for easier debugging (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21917\"\u003e#21917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fbeeb050af15a96cec59d5e6d7e9a166579b3433\"\u003e\u003ccode\u003efbeeb05\u003c/code\u003e\u003c/a\u003e [ty] Don't show hover for expressions with no inferred type (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21924\"\u003e#21924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4fdb4e8219bf8e7b8001121dd61a7c3678200bbf\"\u003e\u003ccode\u003e4fdb4e8\u003c/code\u003e\u003c/a\u003e [ty] avoid unions of generic aliases of the same class in fixpoint (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21909\"\u003e#21909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c548ef20278f18ec9e88796fd0a1c4b5b5395a40\"\u003e\u003ccode\u003ec548ef2\u003c/code\u003e\u003c/a\u003e [ty] Squash false positive logs for failing to find \u003ccode\u003ebuiltins\u003c/code\u003e as a real module\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.1...0.14.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.1a23 to 0.0.1a33\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.1-alpha.33\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-09.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix assignability problem between \u003ccode\u003etuple[Any, ...]\u003c/code\u003e and \u003ccode\u003etuple[int, *tuple[int, ...]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21803\"\u003e#21803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid diagnostic when \u003ccode\u003etyping_extensions.ParamSpec\u003c/code\u003e uses a \u003ccode\u003edefault\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21839\"\u003e#21839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid crash for invalid \u003ccode\u003eAnnotated\u003c/code\u003e subscript (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21837\"\u003e#21837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid crash for invalid \u003ccode\u003eFinal\u003c/code\u003e subscript (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21828\"\u003e#21828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix overload filtering to prefer more precise match when \u003ccode\u003e*args: Any\u003c/code\u003e is involved (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21859\"\u003e#21859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle various invalid explicit specializations for \u003ccode\u003eParamSpec\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21821\"\u003e#21821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow with recursive generic protocols (depth limit) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21858\"\u003e#21858\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for parameters in function calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21796\"\u003e#21796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't create a related diagnostic for the primary annotation of sub-diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21845\"\u003e#21845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize auto-import (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21851\"\u003e#21851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuppress inlay hints when assigning a trivial initializer call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21848\"\u003e#21848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse concise message for LSP clients not supporting related diagnostic information (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21850\"\u003e#21850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix add-import action for \u003ccode\u003ereveal_type\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21668\"\u003e#21668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInfer type variables within generic unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21862\"\u003e#21862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType inference for \u003ccode\u003e@asynccontextmanager\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21876\"\u003e#21876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake Python-version subdiagnostics less verbose (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21849\"\u003e#21849\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/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dhruvmanila\"\u003e\u003ccode\u003e@​dhruvmanila\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gankra\"\u003e\u003ccode\u003e@​Gankra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sharkdp\"\u003e\u003ccode\u003e@​sharkdp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.1-alpha.33\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/ty/releases/download/0.0.1-alpha.33/ty-installer.sh | sh\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.0.1-alpha.33\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-09.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix assignability problem between \u003ccode\u003etuple[Any, ...]\u003c/code\u003e and \u003ccode\u003etuple[int, *tuple[int, ...]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21803\"\u003e#21803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid diagnostic when \u003ccode\u003etyping_extensions.ParamSpec\u003c/code\u003e uses a \u003ccode\u003edefault\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21839\"\u003e#21839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid crash for invalid \u003ccode\u003eAnnotated\u003c/code\u003e subscript (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21837\"\u003e#21837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid crash for invalid \u003ccode\u003eFinal\u003c/code\u003e subscript (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21828\"\u003e#21828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix overload filtering to prefer more precise match when \u003ccode\u003e*args: Any\u003c/code\u003e is involved (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21859\"\u003e#21859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle various invalid explicit specializations for \u003ccode\u003eParamSpec\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21821\"\u003e#21821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow with recursive generic protocols (depth limit) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21858\"\u003e#21858\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for parameters in function calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21796\"\u003e#21796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't create a related diagnostic for the primary annotation of sub-diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21845\"\u003e#21845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize auto-import (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21851\"\u003e#21851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuppress inlay hints when assigning a trivial initializer call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21848\"\u003e#21848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse concise message for LSP clients not supporting related diagnostic information (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21850\"\u003e#21850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix add-import action for \u003ccode\u003ereveal_type\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21668\"\u003e#21668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInfer type variables within generic unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21862\"\u003e#21862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType inference for \u003ccode\u003e@asynccontextmanager\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21876\"\u003e#21876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake Python-version subdiagnostics less verbose (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21849\"\u003e#21849\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/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dhruvmanila\"\u003e\u003ccode\u003e@​dhruvmanila\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gankra\"\u003e\u003ccode\u003e@​Gankra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sharkdp\"\u003e\u003ccode\u003e@​sharkdp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.1-alpha.32\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-12-05.\u003c/p\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProvide auto-import completion suggestions for modules in more situations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21799\"\u003e#21799\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/ty/commit/35e23aa481211acfc35dd7ff9f1a0be384f4fab7\"\u003e\u003ccode\u003e35e23aa\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1-alpha.33 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1829\"\u003e#1829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c02e0b479cd6fd99e85dcc0467cd5116fef617f\"\u003e\u003ccode\u003e5c02e0b\u003c/code\u003e\u003c/a\u003e Stabilize auto-import (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1810\"\u003e#1810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/84a1881169fe0d5c0e012d405ed1c0c8a4dcb7c6\"\u003e\u003ccode\u003e84a1881\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1-alpha.32 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1785\"\u003e#1785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/51c73d687778144c030324ef36cbba6303a28475\"\u003e\u003ccode\u003e51c73d6\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1-alpha.31 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1751\"\u003e#1751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/d5754d3b5e0643025eb45a5ae4e95966a3d57518\"\u003e\u003ccode\u003ed5754d3\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1a30 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1743\"\u003e#1743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b6171dbb7e4868287e8706614ed3944e60a149a4\"\u003e\u003ccode\u003eb6171db\u003c/code\u003e\u003c/a\u003e Use our org-wide Renovate preset (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1726\"\u003e#1726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a362ad2be88d56cf87fe12760dc8794fd155a883\"\u003e\u003ccode\u003ea362ad2\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003enpm ci --ignore-scripts\u003c/code\u003e instead of \u003ccode\u003enpm install\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/90e2851ec1bb00fa1f6ac2097a737975bf1f521a\"\u003e\u003ccode\u003e90e2851\u003c/code\u003e\u003c/a\u003e Update Swatinem/rust-cache action to v2.8.2 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1695\"\u003e#1695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/6d5d4bbe28d28ced63f3a8e0bb4283e07d883e1b\"\u003e\u003ccode\u003e6d5d4bb\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v5.10.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1697\"\u003e#1697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/925d2664443ff36d555f4f8181ec22654b552df9\"\u003e\u003ccode\u003e925d266\u003c/code\u003e\u003c/a\u003e Update actions/setup-python action to v6.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1696\"\u003e#1696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.1-alpha.23...0.0.1-alpha.33\"\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.9.0.20250906 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 `typos` from 1.38.1 to 1.40.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crate-ci/typos/releases\"\u003etypos's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.40.0\u003c/h2\u003e\n\u003ch2\u003e[1.40.0] - 2025-11-26\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1405\"\u003eNovember 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.39.2\u003c/h2\u003e\n\u003ch2\u003e[1.39.2] - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't offer \u003ccode\u003eentry\u003c/code\u003e as a correction for \u003ccode\u003eentrys\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.39.1\u003c/h2\u003e\n\u003ch2\u003e[1.39.1] - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--help\u003c/code\u003e more vibrant\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.39.0\u003c/h2\u003e\n\u003ch2\u003e[1.39.0] - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1383\"\u003eOctober 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen a typo is pluralized, prefer pluralized corrections\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/crate-ci/typos/blob/master/CHANGELOG.md\"\u003etypos's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.40.0] - 2025-11-26\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1405\"\u003eNovember 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.39.2] - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't offer \u003ccode\u003eentry\u003c/code\u003e as a correction for \u003ccode\u003eentrys\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.39.1] - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--help\u003c/code\u003e more vibrant\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.39.0] - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1383\"\u003eOctober 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen a typo is pluralized, prefer pluralized corrections\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/crate-ci/typos/commit/2d0ce569feab1f8752f1dde43cc2f2aa53236e06\"\u003e\u003ccode\u003e2d0ce56\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/efbd900f8db9952781b6bd1ad83baa38ebd153e3\"\u003e\u003ccode\u003eefbd900\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/863fd15db8bf16bfe9117ec1a83ea7b6e802e9f3\"\u003e\u003ccode\u003e863fd15\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/9a27b16791dd73549457a07f247bc4920f787919\"\u003e\u003ccode\u003e9a27b16\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1432\"\u003e#1432\u003c/a\u003e from epage/nov\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/3dbd9d4eacab7f22586ea581e4d403c3ca9dbbb7\"\u003e\u003ccode\u003e3dbd9d4\u003c/code\u003e\u003c/a\u003e feat(dict): November additions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/a1a16c7b7c25d1c27cc750525aada8b9ae68b716\"\u003e\u003ccode\u003ea1a16c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1427\"\u003e#1427\u003c/a\u003e from deining/bump-github-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/cb8d2e78ff23c82fca05340ed256b04513d022b9\"\u003e\u003ccode\u003ecb8d2e7\u003c/code\u003e\u003c/a\u003e docs: Bump GitHub checkout action in 'github-action.md'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/9f99fb8dfe87b8a3441863fb2e5d5da88a2aa9a2\"\u003e\u003ccode\u003e9f99fb8\u003c/code\u003e\u003c/a\u003e docs(ref): Clarify extend-words / extend-identifiers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/626c4bedb751ce0b7f03262ca97ddda9a076ae1c\"\u003e\u003ccode\u003e626c4be\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/c6b458db05d00c3037bc9a1102b84febc9fff2f4\"\u003e\u003ccode\u003ec6b458d\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crate-ci/typos/compare/v1.38.1...v1.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.2 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/8.4.2...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-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/com...\n\n_Description has been truncated_","html_url":"https://github.com/charles-alchemcy/air/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/charles-alchemcy%2Fair/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"~=0.1.0","new_version":"\u003e=0.1,\u003c0.6","update_type":"patch","path":null,"pr_created_at":"2025-11-26T05:57:19.000Z","version_change":"~=0.1.0 → \u003e=0.1,\u003c0.6","issue":{"uuid":"3665938312","node_id":"PR_kwDOQXqEac61kXwj","number":17,"state":"open","title":"chore(deps-dev): update mkdocs-llmstxt requirement from ~=0.1.0 to \u003e=0.1,\u003c0.6","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-26T05:57:19.000Z","updated_at":"2025-11-26T05:57:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): update","packages":[{"name":"mkdocs-llmstxt","old_version":"~=0.1.0","new_version":"\u003e=0.1,\u003c0.6","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.1\"\u003e0.3.1\u003c/a\u003e - 2025-08-05\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.0...0.3.1\"\u003eCompare with 0.3.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve user-defined ordering of pages (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/1359e250e675f7742d18f9641136fccc26199773\"\u003e1359e25\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/21\"\u003eIssue-21\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.0\"\u003e0.3.0\u003c/a\u003e - 2025-07-14\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.2.0...0.3.0\"\u003eCompare with 0.2.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport file descriptions (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/33f64b306199218dbb34cd796e59113388a6c26c\"\u003e33f64b3\u003c/a\u003e by Logan). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/6\"\u003eIssue-6\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/8\"\u003ePR-8\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport formatting Markdown tables (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/f1fc8757dcab95af7b645331ddc5f1f01888bc88\"\u003ef1fc875\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/13\"\u003eIssue-13\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.2.0\"\u003e0.2.0\u003c/a\u003e - 2025-04-08\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.1.0...0.2.0\"\u003eCompare with 0.1.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\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/pawamoy/mkdocs-llmstxt/commit/8968edfb0e66c56e60072f0da74d37c2dc78d8ef\"\u003e\u003ccode\u003e8968edf\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/cc414163f69857d9b01ff1c0cfcb2099c7fd754f\"\u003e\u003ccode\u003ecc41416\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e\u003ccode\u003e52e0318\u003c/code\u003e\u003c/a\u003e feat: Resolve relative links to absolute ones, link to generated Markdown files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/71c7df2c3bd4bc298bc6315676952ce67698b3d4\"\u003e\u003ccode\u003e71c7df2\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/1359e250e675f7742d18f9641136fccc26199773\"\u003e\u003ccode\u003e1359e25\u003c/code\u003e\u003c/a\u003e fix: Preserve user-defined ordering of pages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.1.0...0.5.0\"\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 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/AlexanderRichey/bedrock-agentcore-starter-toolkit/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderRichey%2Fbedrock-agentcore-starter-toolkit/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"}},{"old_version":"0.4.0","new_version":"0.5.0","update_type":"minor","path":"/docs","pr_created_at":"2025-11-21T13:11:22.000Z","version_change":"0.4.0 → 0.5.0","issue":{"uuid":"3651633164","node_id":"PR_kwDOEjWUk8600wso","number":4789,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.4.0 to 0.5.0 in /docs","user":"dependabot[bot]","labels":["documentation","dependencies","size/XS","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-21T13:11:22.000Z","updated_at":"2025-11-21T13:11:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.4.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.4.0 to 0.5.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\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/pawamoy/mkdocs-llmstxt/commit/8968edfb0e66c56e60072f0da74d37c2dc78d8ef\"\u003e\u003ccode\u003e8968edf\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/cc414163f69857d9b01ff1c0cfcb2099c7fd754f\"\u003e\u003ccode\u003ecc41416\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e\u003ccode\u003e52e0318\u003c/code\u003e\u003c/a\u003e feat: Resolve relative links to absolute ones, link to generated Markdown files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.4.0\u0026new-version=0.5.0)](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/aws-powertools/powertools-lambda-typescript/pull/4789","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-typescript/issues/4789","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4789/packages"}},{"old_version":"0.4.0","new_version":"0.5.0","update_type":"minor","path":null,"pr_created_at":"2025-11-21T12:34:43.000Z","version_change":"0.4.0 → 0.5.0","issue":{"uuid":"3651515589","node_id":"PR_kwDOQNF0us600W3N","number":7,"state":"open","title":"⬆(deps): Bump the python-dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-21T12:34:43.000Z","updated_at":"2025-12-05T14:00:48.635Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆(deps): Bump","group_name":"python-dependencies","update_count":13,"packages":[{"name":"fastapi","old_version":"0.119.1","new_version":"0.121.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"rust-just","old_version":"1.43.0","new_version":"1.43.1","repository_url":"https://github.com/gnpaone/rust-just"},{"name":"pyrefly","old_version":"0.38.2","new_version":"0.42.2","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.14.1","new_version":"0.14.5","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.1a23","new_version":"0.0.1a27","repository_url":"https://github.com/astral-sh/ty"},{"name":"types-markdown","old_version":"3.9.0.20250906","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typos","old_version":"1.38.1","new_version":"1.39.2","repository_url":"https://github.com/crate-ci/typos"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"diff-cover","old_version":"9.7.1","new_version":"9.7.2","repository_url":"https://github.com/Bachmann1234/diff-cover"},{"name":"pytest-benchmark","old_version":"5.1.0","new_version":"5.2.3","repository_url":"https://github.com/ionelmc/pytest-benchmark"},{"name":"mkdocs-llmstxt","old_version":"0.4.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"},{"name":"mkdocstrings-python","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/mkdocstrings/python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.119.1` | `0.121.3` |\n| [rust-just](https://github.com/gnpaone/rust-just) | `1.43.0` | `1.43.1` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.38.2` | `0.42.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.1` | `0.14.5` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a23` | `0.0.1a27` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.9.0.20250906` | `3.10.0.20251106` |\n| [typos](https://github.com/crate-ci/typos) | `1.38.1` | `1.39.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.1` |\n| [diff-cover](https://github.com/Bachmann1234/diff-cover) | `9.7.1` | `9.7.2` |\n| [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) | `5.1.0` | `5.2.3` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.4.0` | `0.5.0` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `1.18.2` | `1.19.0` |\n\n\nUpdates `fastapi` from 0.119.1 to 0.121.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.121.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Make the result of \u003ccode\u003eDepends()\u003c/code\u003e and \u003ccode\u003eSecurity()\u003c/code\u003e hashable, as a workaround for other tools interacting with these internal parts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14372\"\u003e#14372\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Bump Starlette to \u0026lt;\u003ccode\u003e0.51.0\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14282\"\u003e#14282\u003c/a\u003e by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add missing hash part. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14369\"\u003e#14369\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix typos in code comments. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14364\"\u003e#14364\u003c/a\u003e by \u003ca href=\"https://github.com/Edge-Seven\"\u003e\u003ccode\u003e@​Edge-Seven\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add docs for using FastAPI Cloud. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14359\"\u003e#14359\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix handling of JSON Schema attributes named \u0026quot;$ref\u0026quot;. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14349\"\u003e#14349\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add EuroPython talk \u0026amp; podcast episode with Sebastián Ramírez. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14260\"\u003e#14260\u003c/a\u003e by \u003ca href=\"https://github.com/clytaemnestra\"\u003e\u003ccode\u003e@​clytaemnestra\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix links and add missing permalink in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14217\"\u003e#14217\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update Portuguese translations with LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14228\"\u003e#14228\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Add Portuguese translations LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14208\"\u003e#14208\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync Russian docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14331\"\u003e#14331\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync German docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14317\"\u003e#14317\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eDepends(func, scope='function')\u003c/code\u003e for top level (parameterless) dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14301\"\u003e#14301\u003c/a\u003e by \u003ca href=\"https://github.com/luzzodev\"\u003e\u003ccode\u003e@​luzzodev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Upate docs for advanced dependencies with \u003ccode\u003eyield\u003c/code\u003e, noting the changes in 0.121.0, adding \u003ccode\u003escope\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14287\"\u003e#14287\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.13.2 to 0.14.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14276\"\u003e#14276\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14289\"\u003e#14289\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\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/fastapi/fastapi/commit/325fd16d32fd815633d6caf3d0d75aa7f30c51c9\"\u003e\u003ccode\u003e325fd16\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.121.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7659b70da0aea0678a0842a5d7a8aaaef2527bab\"\u003e\u003ccode\u003e7659b70\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/85701631a0241c5f02b4940734a5428f66abe167\"\u003e\u003ccode\u003e8570163\u003c/code\u003e\u003c/a\u003e ♻️ Make the result of \u003ccode\u003eDepends()\u003c/code\u003e and \u003ccode\u003eSecurity()\u003c/code\u003e hashable, as a workaround ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/566e3157a5517784c741dbf36e39687af326fe90\"\u003e\u003ccode\u003e566e315\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/569226e753f601954a129331f61147f89abdb52a\"\u003e\u003ccode\u003e569226e\u003c/code\u003e\u003c/a\u003e ⬆️ Bump Starlette to \u0026lt;\u003ccode\u003e0.51.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14282\"\u003e#14282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/33a75f481738c3d20ebc9fb17773d2da08b0e869\"\u003e\u003ccode\u003e33a75f4\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/89baa704a9f88ab09b0b01cd2fa7dcf758d6d417\"\u003e\u003ccode\u003e89baa70\u003c/code\u003e\u003c/a\u003e 📝 Add missing hash part (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/827ed1e6a24300af9b46adb8a3d208b8685eef85\"\u003e\u003ccode\u003e827ed1e\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/df83eb7278edf036612dc1b4c33c02415123d6a7\"\u003e\u003ccode\u003edf83eb7\u003c/code\u003e\u003c/a\u003e 📝 Fix typos in code comments (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14364\"\u003e#14364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e84f3169436dfe06c963928a6af297d06cc560e\"\u003e\u003ccode\u003e4e84f31\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.119.1...0.121.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rust-just` from 1.43.0 to 1.43.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gnpaone/rust-just/releases\"\u003erust-just's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.43.1\u003c/h2\u003e\n\u003chr /\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.4.2 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2948\"\u003e#2948\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eenv()\u003c/code\u003e usage in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/laniakea64\"\u003elaniakea64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a case statement to install target dependencies (\u003ca href=\"https://redirect.github.com/casey/just/pull/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild loongarch64 release binaries (\u003ca href=\"https://redirect.github.com/casey/just/pull/2886\"\u003e#2886\u003c/a\u003e by \u003ca href=\"https://github.com/SkyBird233\"\u003eSkyBird233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release to 2.4.1 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2919\"\u003e#2919\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.3.4 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2910\"\u003e#2910\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\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/gnpaone/rust-just/blob/master/CHANGELOG.md\"\u003erust-just's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/casey/just/releases/tag/1.43.1\"\u003e1.43.1\u003c/a\u003e - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOnly initialize signal handler once (\u003ca href=\"https://redirect.github.com/casey/just/pull/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module docs when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve module groups when formatting (\u003ca href=\"https://redirect.github.com/casey/just/pull/2930\"\u003e#2930\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't suggest private recipes and aliases (\u003ca href=\"https://redirect.github.com/casey/just/pull/2916\"\u003e#2916\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.4.2 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2948\"\u003e#2948\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eenv()\u003c/code\u003e usage in readme (\u003ca href=\"https://redirect.github.com/casey/just/pull/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/laniakea64\"\u003elaniakea64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a case statement to install target dependencies (\u003ca href=\"https://redirect.github.com/casey/just/pull/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/casey\"\u003ecasey\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild loongarch64 release binaries (\u003ca href=\"https://redirect.github.com/casey/just/pull/2886\"\u003e#2886\u003c/a\u003e by \u003ca href=\"https://github.com/SkyBird233\"\u003eSkyBird233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release to 2.4.1 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2919\"\u003e#2919\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate softprops/action-gh-release to 2.3.4 (\u003ca href=\"https://redirect.github.com/casey/just/pull/2910\"\u003e#2910\u003c/a\u003e by \u003ca href=\"https://github.com/app/dependabot\"\u003eapp/dependabot\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/gnpaone/rust-just/commit/8894ee080b46f326c3d421c4f3199b2a9f4acfea\"\u003e\u003ccode\u003e8894ee0\u003c/code\u003e\u003c/a\u003e Update copy repo release from repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/a95760e00e863ebe0f143db44170a8adf0bda978\"\u003e\u003ccode\u003ea95760e\u003c/code\u003e\u003c/a\u003e Enhance release workflow with CHANGELOG verification\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/9bf3b6f9cdabd08b4fc8e7d694733f0dde67dbe3\"\u003e\u003ccode\u003e9bf3b6f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/304\"\u003e#304\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/1416571eed4aa35c73d1d07ac182d58e61c37674\"\u003e\u003ccode\u003e1416571\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/c65ea44a2698e864a050d460b930959507900604\"\u003e\u003ccode\u003ec65ea44\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/303\"\u003e#303\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/48998bf08324e44bd631c73ec9ebb6ebcb898e8a\"\u003e\u003ccode\u003e48998bf\u003c/code\u003e\u003c/a\u003e npm(deps-dev): bump \u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e in /npm/rust-just\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/f268b4ae8835704445a3fdcf974d9fc3ca6e7f40\"\u003e\u003ccode\u003ef268b4a\u003c/code\u003e\u003c/a\u003e Enhance release workflow with fallback and extraction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/a49b354c97ce35e2a987f7c7d6a3c75bc0f4397b\"\u003e\u003ccode\u003ea49b354\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/302\"\u003e#302\u003c/a\u003e from gnpaone/sync-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/74ae7d77ad771a2996a4d67458defc7c88bba020\"\u003e\u003ccode\u003e74ae7d7\u003c/code\u003e\u003c/a\u003e chore: sync files from source repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnpaone/rust-just/commit/a23c91692093249412c86b24a7bcbaf5f6a48b0f\"\u003e\u003ccode\u003ea23c916\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gnpaone/rust-just/issues/301\"\u003e#301\u003c/a\u003e from gnpaone/dependabot/npm_and_yarn/npm/rust-just/ts...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gnpaone/rust-just/compare/1.43.0...1.43.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyrefly` from 0.38.2 to 0.42.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/pyrefly/releases\"\u003epyrefly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyrefly v0.42.0 - BETA\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eStatus : BETA 🎉\u003c/strong\u003e\u003cbr /\u003e\n\u003cem\u003eRelease date: 17 Nov 2025\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003e\u003cstrong\u003e🚀Pyrefly is now in Beta!\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eWe’re thrilled to announce with this release that Pyrefly has transitioned from Alpha to Beta status! This marks a new chapter for the project, with increased stability, feature maturity, and readiness for broader adoption. When using a version of Pyrefly with Beta status you can feel confident that the IDE extension is ready for production use, while core type-checking features can be used, but be aware some edge cases are still being addressed as we make progress towards a later stable v1 release (\u003ca href=\"https://github.com/facebook/pyrefly/issues\"\u003ebug reports welcome\u003c/a\u003e!).\u003c/p\u003e\n\u003cp\u003eThese release notes will use a slightly different format than usual, covering the major highlights of the last 6 months that have contributed to this milestone.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch2\u003e\u003cstrong\u003e🏆 Major Highlights from Alpha Releases\u003c/strong\u003e\u003c/h2\u003e\n\u003ch3\u003e\u003cstrong\u003e1. IDE \u0026amp; Language Server Features\u003c/strong\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInstant IDE Startup: Major performance improvements for large environments.\u003c/li\u003e\n\u003cli\u003eSemantic Highlighting, Inlay Hints: Enhanced code readability and added highlighting for unreachable blocks and unused function parameters. Unnecessary/obvious inlay hints are no longer displayed.\u003c/li\u003e\n\u003cli\u003eHover Cards \u0026amp; Docstrings: Richer information in tooltips, including docstrings for built-in types and links to error documentation.\u003c/li\u003e\n\u003cli\u003eConfigurable LSP Features: Greater control over enabling/disabling IDE features like autocomplete, go-to-definition, and hover.\u003c/li\u003e\n\u003cli\u003eExtensions released for a range of popular IDEs, including \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=meta.pyrefly\"\u003eVSCode\u003c/a\u003e, \u003ca href=\"https://www.jetbrains.com/help/pycharm/2025.3/lsp-tools.html#pyrefly\"\u003ePyCharm\u003c/a\u003e and \u003ca href=\"https://pyrefly.org/en/docs/IDE/#other-editors\"\u003emore\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSome relevant issues: \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/853\"\u003e#853\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1403\"\u003e#1403\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1335\"\u003e#1335\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/873\"\u003e#873\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/802\"\u003e#802\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/716\"\u003e#716\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cstrong\u003e2. Type Checking Enhancements\u003c/strong\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved overload evaluation: Fully compliant with the Python typing spec\u003c/li\u003e\n\u003cli\u003eSmarter Type Narrowing: Improved handling of variable types in loops, control flow, and pattern matching. Added ability to understand patterns like `getattr()`, `hasattr()`, and `dict.get()`\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTypedDict\u003c/code\u003e \u0026amp; Protocol Improvements: More accurate type checking for structural types, including handling for union keys and improved inheritance checks.\u003c/li\u003e\n\u003cli\u003eAdditional Python typing features: \u003ccode\u003eLiteralString\u003c/code\u003e \u0026amp; \u003ccode\u003eTypeAliasType\u003c/code\u003e support, abstract class instantiation checks, unused awaitable checks, multiple inheritance consistency checks, and more!\u003c/li\u003e\n\u003cli\u003eConfigurable Type Inference: Advanced features like empty container inference and return type inference can be toggled via config.\u003c/li\u003e\n\u003cli\u003eSome relevant issues: \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/684\"\u003e#684\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/872\"\u003e#872\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1058\"\u003e#1058\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/940\"\u003e#940\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/815\"\u003e#815\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1461\"\u003e#1461\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/44\"\u003e#44\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cstrong\u003e3. Error Reporting \u0026amp; Suppression\u003c/strong\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGranular Error Filtering: Filter summarized errors by code, set error severity, and get clickable links to docs.\u003c/li\u003e\n\u003cli\u003eSuppression Workflow: Scripts and commands to silence new errors after upgrades, making large codebase migrations manageable.\u003c/li\u003e\n\u003cli\u003eImproved Error Messages: Clearer, more actionable diagnostics for overloads, missing imports, and more.\u003c/li\u003e\n\u003cli\u003eSome relevant issues: \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1276\"\u003e#1276\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1302\"\u003e#1302\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/890\"\u003e#890\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1401\"\u003e#1401\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cstrong\u003e4. Framework Integrations\u003c/strong\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDjango: Partial support, with ongoing improvements for model field inference, enum support, and lazy label handling.\u003c/li\u003e\n\u003cli\u003ePydantic: Experimental support, with growing documentation and bug fixes.\u003c/li\u003e\n\u003cli\u003eSome relevant issues: \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/316\"\u003e#316\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/334\"\u003e#334\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1276\"\u003e#1276\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/839\"\u003e#839\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cstrong\u003e5. Jupyter Notebook Support (Experimental)\u003c/strong\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFull Language Server Integration: Diagnostics, inlay hints, go-to-definition, hover, semantic tokens, signature help, and completions now work out-of-the-box for .ipynb files.\u003c/li\u003e\n\u003cli\u003eCLI Type Checking for Notebooks\u003c/li\u003e\n\u003cli\u003eJupyter Lab Integration\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/facebook/pyrefly/commit/6dce0e9b30115f126053bb5c5e3f97bf5c34e62b\"\u003e\u003ccode\u003e6dce0e9\u003c/code\u003e\u003c/a\u003e bump patch version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/4e8a50fdd7d73e8492bb1f8641dd35d7f37e953b\"\u003e\u003ccode\u003e4e8a50f\u003c/code\u003e\u003c/a\u003e exit even on errors in shutdown handshake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/bea3c6ef2423a60b651142efeeb0f1723d99ebb6\"\u003e\u003ccode\u003ebea3c6e\u003c/code\u003e\u003c/a\u003e Register artificial callees for decorators\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/117dfd492886258ccd6e15ecf09d4e5ffbe1e735\"\u003e\u003ccode\u003e117dfd4\u003c/code\u003e\u003c/a\u003e log error on shutdown (\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/92aace84d8621ef62c71ac0687b8b9a2591950e0\"\u003e\u003ccode\u003e92aace8\u003c/code\u003e\u003c/a\u003e allow instantiating \u003ccode\u003etype[P]\u003c/code\u003e when \u003ccode\u003eP\u003c/code\u003e is a protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/f0afe81b69effd8a9ea97ede98d09430ead41772\"\u003e\u003ccode\u003ef0afe81\u003c/code\u003e\u003c/a\u003e don't allow protocol class names to be assigned to type[P] if P is a protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/1c01a94125a3826ccf0c12d5accf7f99f5870dc2\"\u003e\u003ccode\u003e1c01a94\u003c/code\u003e\u003c/a\u003e add documentation for go-to declaration + go-to implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/78d90dbf9168b3161bb75a172e2e29f2e0e9b11f\"\u003e\u003ccode\u003e78d90db\u003c/code\u003e\u003c/a\u003e fix literal string protocol subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/8ff68b8372262c2551774aadbc4f3986e90bd8ad\"\u003e\u003ccode\u003e8ff68b8\u003c/code\u003e\u003c/a\u003e fix tuple[()] | tuple[int, *tuple[int, ...]] should be equivalent to tuple[in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/acf7330c75b9ec3d7bc51873340f3a9f514efcf8\"\u003e\u003ccode\u003eacf7330\u003c/code\u003e\u003c/a\u003e Fix blog preview image\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.38.2...0.42.2\"\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.1 to 0.14.5\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.5\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-13.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Apply \u003ccode\u003eSIM113\u003c/code\u003e when index variable is of type \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21395\"\u003e#21395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive when Sphinx directives follow a \u0026quot;Raises\u0026quot; section (\u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20535\"\u003e#20535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Support NumPy-style comma-separated parameters (\u003ccode\u003eDOC102\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20972\"\u003e#20972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Auto-fix annotated assignments (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21278\"\u003e#21278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Ignore \u003ccode\u003estr()\u003c/code\u003e when not used for simple conversion (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21330\"\u003e#21330\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 positive on alternative \u003ccode\u003ematch\u003c/code\u003e patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix false positive for iterable initializers with generator arguments (\u003ccode\u003eSIM222\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21187\"\u003e#21187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive on relative imports from local \u003ccode\u003e.builtins\u003c/code\u003e module (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21309\"\u003e#21309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Consistently set the deprecated tag (\u003ccode\u003eUP035\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Detect empty f-strings (\u003ccode\u003eFURB105\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21348\"\u003e#21348\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd option to provide a reason to \u003ccode\u003e--add-noqa\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21294\"\u003e#21294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd upstream linter URL to \u003ccode\u003eruff linter --output-format=json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21316\"\u003e#21316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd color to \u003ccode\u003e--help\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21337\"\u003e#21337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new \u0026quot;Opening a PR\u0026quot; section to the contribution guide (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21298\"\u003e#21298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the PyScripter IDE to the list of \u0026quot;Who is using Ruff?\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21402\"\u003e#21402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate PyCharm setup instructions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21409\"\u003e#21409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Add link to \u003ccode\u003eallow-star-arg-any\u003c/code\u003e option (\u003ccode\u003eANN401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21326\"\u003e#21326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003econfiguration\u003c/code\u003e] Improve error message when \u003ccode\u003eline-length\u003c/code\u003e exceeds \u003ccode\u003eu16::MAX\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21329\"\u003e#21329\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/njhearp\"\u003e\u003ccode\u003e@​njhearp\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/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gankra\"\u003e\u003ccode\u003e@​Gankra\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\u003cli\u003e\u003ca href=\"https://github.com/pyscripter\"\u003e\u003ccode\u003e@​pyscripter\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\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/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.5\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-13.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Apply \u003ccode\u003eSIM113\u003c/code\u003e when index variable is of type \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21395\"\u003e#21395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive when Sphinx directives follow a \u0026quot;Raises\u0026quot; section (\u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20535\"\u003e#20535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Support NumPy-style comma-separated parameters (\u003ccode\u003eDOC102\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20972\"\u003e#20972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Auto-fix annotated assignments (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21278\"\u003e#21278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Ignore \u003ccode\u003estr()\u003c/code\u003e when not used for simple conversion (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21330\"\u003e#21330\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 positive on alternative \u003ccode\u003ematch\u003c/code\u003e patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix false positive for iterable initializers with generator arguments (\u003ccode\u003eSIM222\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21187\"\u003e#21187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive on relative imports from local \u003ccode\u003e.builtins\u003c/code\u003e module (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21309\"\u003e#21309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Consistently set the deprecated tag (\u003ccode\u003eUP035\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Detect empty f-strings (\u003ccode\u003eFURB105\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21348\"\u003e#21348\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd option to provide a reason to \u003ccode\u003e--add-noqa\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21294\"\u003e#21294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd upstream linter URL to \u003ccode\u003eruff linter --output-format=json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21316\"\u003e#21316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd color to \u003ccode\u003e--help\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21337\"\u003e#21337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new \u0026quot;Opening a PR\u0026quot; section to the contribution guide (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21298\"\u003e#21298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the PyScripter IDE to the list of \u0026quot;Who is using Ruff?\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21402\"\u003e#21402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate PyCharm setup instructions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21409\"\u003e#21409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Add link to \u003ccode\u003eallow-star-arg-any\u003c/code\u003e option (\u003ccode\u003eANN401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21326\"\u003e#21326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003econfiguration\u003c/code\u003e] Improve error message when \u003ccode\u003eline-length\u003c/code\u003e exceeds \u003ccode\u003eu16::MAX\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21329\"\u003e#21329\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/njhearp\"\u003e\u003ccode\u003e@​njhearp\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/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gankra\"\u003e\u003ccode\u003e@​Gankra\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\u003cli\u003e\u003ca href=\"https://github.com/pyscripter\"\u003e\u003ccode\u003e@​pyscripter\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/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\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/87dafb8787278c04e0184c4f8fe1acaffa0f640f\"\u003e\u003ccode\u003e87dafb8\u003c/code\u003e\u003c/a\u003e Bump 0.14.5 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21435\"\u003e#21435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9e80e5a3a6b4980b792b2ac175a540e1f4d034f4\"\u003e\u003ccode\u003e9e80e5a\u003c/code\u003e\u003c/a\u003e [ty] Support \u003ccode\u003etype[…]\u003c/code\u003e and \u003ccode\u003eType[…]\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21421\"\u003e#21421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f9cc26aa12337d4c5a3e7f98475c611acb60ae5a\"\u003e\u003ccode\u003ef9cc26a\u003c/code\u003e\u003c/a\u003e [ty] Respect notebook cell boundaries when adding an auto import (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21322\"\u003e#21322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d49c32630928a63dfb5bdfcaf64ff370fcb8929e\"\u003e\u003ccode\u003ed49c326\u003c/code\u003e\u003c/a\u003e Update PyCharm setup instructions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21409\"\u003e#21409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e70fccbf251a99bbf1dfbd8fa170968ed8d7c8c6\"\u003e\u003ccode\u003ee70fccb\u003c/code\u003e\u003c/a\u003e [ty] Improve LSP test server logging (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21432\"\u003e#21432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/90b32f3b3b17a44e4cbe38dcc791ece4d6fe0e10\"\u003e\u003ccode\u003e90b32f3\u003c/code\u003e\u003c/a\u003e [ty] Ensure annotation/type expressions in stub files are always deferred (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/99694b6e4a149ebfc256314afc4fa922d42e7dc8\"\u003e\u003ccode\u003e99694b6\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eprofiling\u003c/code\u003e profile for \u003ccode\u003ecargo test(linux, release)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21429\"\u003e#21429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67e54fffe1ac858c157378afcd1f2999ed7ccf79\"\u003e\u003ccode\u003e67e54ff\u003c/code\u003e\u003c/a\u003e [ty] Fix panic for cyclic star imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21428\"\u003e#21428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a01b0d7780aeeb591c7d1b6a1f64217db4a64a87\"\u003e\u003ccode\u003ea01b0d7\u003c/code\u003e\u003c/a\u003e [ty] Press 'enter' to rerun all mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21427\"\u003e#21427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/04ab9170d6719ea8d4003f1c156177e589809f14\"\u003e\u003ccode\u003e04ab917\u003c/code\u003e\u003c/a\u003e [ty] Further improve subscript assignment diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21411\"\u003e#21411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.1...0.14.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.1a23 to 0.0.1a27\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.1-alpha.27\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-18.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic for cyclic star imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21428\"\u003e#21428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crashes when using a homebrew Python install (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21405\"\u003e#21405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect inference of \u003ccode\u003eenum.auto()\u003c/code\u003e for enums with non-\u003ccode\u003eint\u003c/code\u003e mixins, and imprecise inference of \u003ccode\u003eenum.auto()\u003c/code\u003e for single-member enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20541\"\u003e#20541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix global symbol lookup from eagerly executed scopes such as comprehensions and classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21317\"\u003e#21317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix false positive for instance attributes that are declared as \u003ccode\u003eFinal\u003c/code\u003e in the class body but have their value assigned in the class's \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21158\"\u003e#21158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the return type of \u003ccode\u003e__get__\u003c/code\u003e for descriptor lookups even when \u003ccode\u003e__get__\u003c/code\u003e is called with incorrect arguments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21424\"\u003e#21424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider parameters being declared \u003ccode\u003eglobal\u003c/code\u003e a syntax error (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21312\"\u003e#21312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType inference\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.NewType\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21157\"\u003e#21157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eCallable\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21496\"\u003e#21496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.Union\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21363\"\u003e#21363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrecise inference for generator expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21437\"\u003e#21437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport storing attributes in comprehension scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20856\"\u003e#20856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eisinstance()\u003c/code\u003e and \u003ccode\u003eissubclass()\u003c/code\u003e narrowing when the second argument is a \u003ccode\u003etyping.py\u003c/code\u003e stdlib alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21391\"\u003e#21391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etype[…]\u003c/code\u003e and \u003ccode\u003eType[…]\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21421\"\u003e#21421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport attribute-expression \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e conditionals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21449\"\u003e#21449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport class-arguments for dataclass transformers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21457\"\u003e#21457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport legacy \u003ccode\u003etyping\u003c/code\u003e special forms in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21433\"\u003e#21433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport stringified annotations in value-position \u003ccode\u003eAnnotated\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21447\"\u003e#21447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport all parameters of dataclass transforms (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21474\"\u003e#21474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__hash__\u003c/code\u003e semantics and \u003ccode\u003eunsafe_hash\u003c/code\u003e for dataclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21470\"\u003e#21470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove handling of version-specific features of dataclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21453\"\u003e#21453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrectly infer the specialization of a non-invariant PEP-695 generic class that has an annotated \u003ccode\u003eself\u003c/code\u003e parameter in its \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21325\"\u003e#21325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context when inferring the result of a generic constructor call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20933\"\u003e#20933\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21442\"\u003e#21442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context when inferring the result of a generic call expression (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21210\"\u003e#21210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove heuristics used to decide when it is appropriate to \u0026quot;promote\u0026quot; a \u003ccode\u003eLiteral\u003c/code\u003e type such as \u003ccode\u003eLiteral[42]\u003c/code\u003e to its instance supertype (in this case, \u003ccode\u003eint\u003c/code\u003e) when solving type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21439\"\u003e#21439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context to infer conditional expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21443\"\u003e#21443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e__getattr__\u003c/code\u003e available for \u003ccode\u003eModuleType\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21450\"\u003e#21450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroduce implicit local variables for \u003ccode\u003efrom\u003c/code\u003e imports of submodules in \u003ccode\u003e__init__.py(i)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21173\"\u003e#21173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake implicit submodule locals only occur in global scope of an \u003ccode\u003e__init__.py(i)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21370\"\u003e#21370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake implicit submodule locals also occur for absolute \u003ccode\u003efrom\u003c/code\u003e imports in \u003ccode\u003e__init__.py(i)\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21372\"\u003e#21372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider \u003ccode\u003efrom thispackage import y\u003c/code\u003e a re-export of \u003ccode\u003ey\u003c/code\u003e in \u003ccode\u003e__init__.pyi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21387\"\u003e#21387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow PEP-604 unions in stubs and \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks prior to 3.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21379\"\u003e#21379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure annotation/type expressions in stub files are always deferred (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21401\"\u003e#21401\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21456\"\u003e#21456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSilence false-positive diagnostics when using \u003ccode\u003etyping.Dict\u003c/code\u003e or \u003ccode\u003etyping.Callable\u003c/code\u003e as the second argument to \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21386\"\u003e#21386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21466\"\u003e#21466\u003c/a\u003e). \u003ca href=\"https://github.com/python/typeshed/compare/bf7214784877c52638844c065360d4814fae4c65...f8cdc0bd526301e873cd952eb0d457bdf2554e57\"\u003eTypeshed diff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for notebooks in VS Code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21175\"\u003e#21175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix goto-definition for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003ecomplex\u003c/code\u003e in type annotation positions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21388\"\u003e#21388\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/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.0.1-alpha.27\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-18.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic for cyclic star imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21428\"\u003e#21428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crashes when using a homebrew Python install (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21405\"\u003e#21405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect inference of \u003ccode\u003eenum.auto()\u003c/code\u003e for enums with non-\u003ccode\u003eint\u003c/code\u003e mixins, and imprecise inference of \u003ccode\u003eenum.auto()\u003c/code\u003e for single-member enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20541\"\u003e#20541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix global symbol lookup from eagerly executed scopes such as comprehensions and classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21317\"\u003e#21317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix false positive for instance attributes that are declared as \u003ccode\u003eFinal\u003c/code\u003e in the class body but have their value assigned in the class's \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21158\"\u003e#21158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the return type of \u003ccode\u003e__get__\u003c/code\u003e for descriptor lookups even when \u003ccode\u003e__get__\u003c/code\u003e is called with incorrect arguments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21424\"\u003e#21424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider parameters being declared \u003ccode\u003eglobal\u003c/code\u003e a syntax error (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21312\"\u003e#21312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType inference\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.NewType\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21157\"\u003e#21157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eCallable\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21496\"\u003e#21496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.Union\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21363\"\u003e#21363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrecise inference for generator expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21437\"\u003e#21437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport storing attributes in comprehension scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20856\"\u003e#20856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eisinstance()\u003c/code\u003e and \u003ccode\u003eissubclass()\u003c/code\u003e narrowing when the second argument is a \u003ccode\u003etyping.py\u003c/code\u003e stdlib alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21391\"\u003e#21391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etype[…]\u003c/code\u003e and \u003ccode\u003eType[…]\u003c/code\u003e in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21421\"\u003e#21421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport attribute-expression \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e conditionals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21449\"\u003e#21449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport class-arguments for dataclass transformers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21457\"\u003e#21457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport legacy \u003ccode\u003etyping\u003c/code\u003e special forms in implicit type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21433\"\u003e#21433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport stringified annotations in value-position \u003ccode\u003eAnnotated\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21447\"\u003e#21447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport all parameters of dataclass transforms (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21474\"\u003e#21474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__hash__\u003c/code\u003e semantics and \u003ccode\u003eunsafe_hash\u003c/code\u003e for dataclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21470\"\u003e#21470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove handling of version-specific features of dataclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21453\"\u003e#21453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrectly infer the specialization of a non-invariant PEP-695 generic class that has an annotated \u003ccode\u003eself\u003c/code\u003e parameter in its \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21325\"\u003e#21325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context when inferring the result of a generic constructor call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20933\"\u003e#20933\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21442\"\u003e#21442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context when inferring the result of a generic call expression (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21210\"\u003e#21210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove heuristics used to decide when it is appropriate to \u0026quot;promote\u0026quot; a \u003ccode\u003eLiteral\u003c/code\u003e type such as \u003ccode\u003eLiteral[42]\u003c/code\u003e to its instance supertype (in this case, \u003ccode\u003eint\u003c/code\u003e) when solving type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21439\"\u003e#21439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove use of type context to infer conditional expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21443\"\u003e#21443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e__getattr__\u003c/code\u003e available for \u003ccode\u003eModuleType\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21450\"\u003e#21450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroduce implicit local variables for \u003ccode\u003efrom\u003c/code\u003e imports of submodules in \u003ccode\u003e__init__.py(i)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21173\"\u003e#21173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake implicit submodule locals only occur in global scope of an \u003ccode\u003e__init__.py(i)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21370\"\u003e#21370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake implicit submodule locals also occur for absolute \u003ccode\u003efrom\u003c/code\u003e imports in \u003ccode\u003e__init__.py(i)\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21372\"\u003e#21372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider \u003ccode\u003efrom thispackage import y\u003c/code\u003e a re-export of \u003ccode\u003ey\u003c/code\u003e in \u003ccode\u003e__init__.pyi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21387\"\u003e#21387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow PEP-604 unions in stubs and \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks prior to 3.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21379\"\u003e#21379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure annotation/type expressions in stub files are always deferred (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21401\"\u003e#21401\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21456\"\u003e#21456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSilence false-positive diagnostics when using \u003ccode\u003etyping.Dict\u003c/code\u003e or \u003ccode\u003etyping.Callable\u003c/code\u003e as the second argument to \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21386\"\u003e#21386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21466\"\u003e#21466\u003c/a\u003e). \u003ca href=\"https://github.com/python/typeshed/compare/bf7214784877c52638844c065360d4814fae4c65...f8cdc0bd526301e873cd952eb0d457bdf2554e57\"\u003eTypeshed diff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for notebooks in VS Code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21175\"\u003e#21175\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/ty/commit/26d7b6864947e528acd1ced14133ac307d122c9f\"\u003e\u003ccode\u003e26d7b68\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1a27 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1586\"\u003e#1586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/18761f5ed59e33ff35c90cdc6442897576c80ef2\"\u003e\u003ccode\u003e18761f5\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1574\"\u003e#1574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c1ce1b49606a1026d3328abdd57192b2dad2c196\"\u003e\u003ccode\u003ec1ce1b4\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v7.1.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1573\"\u003e#1573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/cb76a5eac8dcc570da055ef617d8bb932dc58624\"\u003e\u003ccode\u003ecb76a5e\u003c/code\u003e\u003c/a\u003e Add PyCharm setup instructions to editors documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1533\"\u003e#1533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fdc05df642b26e3e8dbee310661872c044e0d54b\"\u003e\u003ccode\u003efdc05df\u003c/code\u003e\u003c/a\u003e Add documentation about Zed binary path (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1518\"\u003e#1518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b225fd8b4af6dfa0280bb5da979ce3658978d290\"\u003e\u003ccode\u003eb225fd8\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1a26 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1517\"\u003e#1517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/09c637de618e5926ef14ca1dd6925e175e78e275\"\u003e\u003ccode\u003e09c637d\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v5.9.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1509\"\u003e#1509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c14430ea4a350ff26b28c884406fc13c0c646d5\"\u003e\u003ccode\u003e5c14430\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/258cb201a7200114431c5390295106e1786bff84\"\u003e\u003ccode\u003e258cb20\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/3abd4c968fcec08f968767338d88cadb129eeb5c\"\u003e\u003ccode\u003e3abd4c9\u003c/code\u003e\u003c/a\u003e Release 0.0.1-alpha.25 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.1-alpha.23...0.0.1-alpha.27\"\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.9.0.20250906 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 `typos` from 1.38.1 to 1.39.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crate-ci/typos/releases\"\u003etypos's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.39.2\u003c/h2\u003e\n\u003ch2\u003e[1.39.2] - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't offer \u003ccode\u003eentry\u003c/code\u003e as a correction for \u003ccode\u003eentrys\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.39.1\u003c/h2\u003e\n\u003ch2\u003e[1.39.1] - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--help\u003c/code\u003e more vibrant\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.39.0\u003c/h2\u003e\n\u003ch2\u003e[1.39.0] - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1383\"\u003eOctober 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen a typo is pluralized, prefer pluralized corrections\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/crate-ci/typos/blob/master/CHANGELOG.md\"\u003etypos's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.39.2] - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't offer \u003ccode\u003eentry\u003c/code\u003e as a correction for \u003ccode\u003eentrys\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.39.1] - 2025-11-12\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--help\u003c/code\u003e more vibrant\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.39.0] - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the dictionary with the \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1383\"\u003eOctober 2025\u003c/a\u003e changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen a typo is pluralized, prefer pluralized corrections\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/crate-ci/typos/commit/626c4bedb751ce0b7f03262ca97ddda9a076ae1c\"\u003e\u003ccode\u003e626c4be\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/c6b458db05d00c3037bc9a1102b84febc9fff2f4\"\u003e\u003ccode\u003ec6b458d\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/eed04198a67af7f32b16141261aa8f911cba1f5f\"\u003e\u003ccode\u003eeed0419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1423\"\u003e#1423\u003c/a\u003e from epage/entrys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/40383f41a2f90743ef28b8c8b1c2d5a42b7651a0\"\u003e\u003ccode\u003e40383f4\u003c/code\u003e\u003c/a\u003e fix(dict): Don't offer 'entry' as a correction for 'entrys'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/1af53e3774f068183ffd0c7193eb061a2b65a531\"\u003e\u003ccode\u003e1af53e3\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/e5d291b81a9bd645c218da268c94df78b6e5e605\"\u003e\u003ccode\u003ee5d291b\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/55474f5ff9f9a923f4e1a218c9b39271517d847e\"\u003e\u003ccode\u003e55474f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1417\"\u003e#1417\u003c/a\u003e from starsep/colorful_help\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/78b93759507833a789853c44a1d9a767fcd15024\"\u003e\u003ccode\u003e78b9375\u003c/code\u003e\u003c/a\u003e feat: Enable colors for typos --help\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/308f8f5788c91e7d099279f046cdbc3662956dcd\"\u003e\u003ccode\u003e308f8f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1409\"\u003e#1409\u003c/a\u003e from crate-ci/renovate/actions-download-artifact-6.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-ci/typos/commit/cf03418f507191943e33099ce6ba74c4c79b0257\"\u003e\u003ccode\u003ecf03418\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-ci/typos/issues/1410\"\u003e#1410\u003c/a\u003e from crate-ci/renovate/actions-setup-python-6.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crate-ci/typos/compare/v1.38.1...v1.39.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.2 to 9.0.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/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003ch2\u003e9.0.0\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.0 (2025-11-05)\u003c/h1\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/1367\"\u003e#1367\u003c/a\u003e: \u003cstrong\u003eSupport for subtests\u003c/strong\u003e has been added.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003esubtests \u0026lt;subtests\u0026gt;\u003c/code\u003e are an alternative to parametrization, useful in situations where the parametrization values are not all known at collection time.\u003c/p\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003edef contains_docstring(p: Path) -\u0026gt; bool:\n    \u0026quot;\u0026quot;\u0026quot;Return True if the given Python file contains a top-level docstring.\u0026quot;\u0026quot;\u0026quot;\n    ...\n\u003cp\u003edef test_py_files_contain_docstring(subtests: pytest.Subtests) -\u0026gt; None:\u003cbr /\u003e\nfor path in Path.cwd().glob(\u0026quot;*.py\u0026quot;):\u003cbr /\u003e\nwith subtests.test(path=str(path)):\u003cbr /\u003e\nassert contains_docstring(path)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\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/commit/d1b64aa60b9e1a0fcfaf03af7ebeb185f1024a87\"\u003e\u003ccode\u003ed1b64aa\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/0a497c7b213ea950821319fd80dce219b0033f32\"\u003e\u003ccode\u003e0a497c7\u003c/code\u003e\u003c/a\u003e regendoc: remove CI environment variables (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13950\"\u003e#13950\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/a9f7e6ed579b8844e302067b7f05122b82993355\"\u003e\u003ccode\u003ea9f7e6e\u003c/code\u003e\u003c/a\u003e 🧪 Run \u003ccode\u003egh release\u003c/code\u003e w/o Git in CI/CD (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13942\"\u003e#13942\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13947\"\u003e#13947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2682a6607304f1f5bb5a2140340003cdf5121bc4\"\u003e\u003ccode\u003e2682a66\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13944\"\u003e#13944\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/bef7d34f1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/a999997e36c53d189ecded3369bf35bfe2be96ad\"\u003e\u003ccode\u003ea999997\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13941\"\u003e#13941\u003c/a\u003e from nicoddemus/min-pre-commit-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/4bd63a0ead81d740aa767a4384d3b0b4c18f2ef2\"\u003e\u003ccode\u003e4bd63a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13935\"\u003e#13935\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/ce8b8a7b4...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/15f93b332c1c3ec9c200c0ad3d55af5a2158e0db\"\u003e\u003ccode\u003e15f93b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e from webknjaz/maintenance/tox-pep517-env-setuptools...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/0fa11ae3f79d06dc9e2f1f7c81ade4a1126d9ef3\"\u003e\u003ccode\u003e0fa11ae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13927\"\u003e#13927\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/3d8075743...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/fa454700133c7b2cc960cba3b1cd09cc048c25a0\"\u003e\u003ccode\u003efa45470\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13926\"\u003e#13926\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/d587e0cf8...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b4e3973505a2b7a2caa17ccc392d91a6ad73e122\"\u003e\u003ccode\u003eb4e3973\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13922\"\u003e#13922\u003c/a\u003e from bluetech/fix-argparse-userwarning\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.1\"\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 `diff-cover` from 9.7.1 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/Bachmann1234/diff-cover/releases\"\u003ediff-cover's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix: Correct file name matching on Windows by \u003ca href=\"https://github.com/amos-chen\"\u003e\u003ccode\u003e@​amos-chen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Bachmann1234/diff_cover/pull/553\"\u003eBachmann1234/diff_cover#553\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/amos-chen\"\u003e\u003ccode\u003e@​amos-chen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Bachmann1234/diff_cover/pull/553\"\u003eBachmann1234/diff_cover#553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Bachmann1234/diff_cover/compare/v9.7.1...v9.7.2\"\u003ehttps://github.com/Bachmann1234/diff_cover/compare/v9.7.1...v9.7.2\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/Bachmann1234/diff_cover/blob/main/CHANGELOG\"\u003ediff-cover's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e11/10/2025 v9.7.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix file path issue on windows. Thanks \u003ca href=\"https://github.com/amos-chen\"\u003e\u003ccode\u003e@​amos-chen\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/Bachmann1234/diff_cover/pull/553/files\"\u003ePR 553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e09/25/2025 v9.7.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRevert the change to attempt to support ruff \u0026gt;=0.12.9 (\u003ca href=\"https://github.com/YeeaahMan\"\u003e\u003ccode\u003e@​YeeaahMan\u003c/code\u003e\u003c/a\u003e caught the error)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e09/23/2025 v9.7.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdds the work \u003ca href=\"https://github.com/kingbuzzman\"\u003e\u003ccode\u003e@​kingbuzzman\u003c/code\u003e\u003c/a\u003e did to support windows!\u003c/li\u003e\n\u003cli\u003eFixes a bug where deleted files were not benig handled properly (thanks \u003ca href=\"https://github.com/CliveCorbishleyTAL\"\u003e\u003ccode\u003e@​CliveCorbishleyTAL\u003c/code\u003e\u003c/a\u003e\n)\u003c/li\u003e\n\u003cli\u003eAdds a mypy driver for diff_quality (thanks \u003ca href=\"https://github.com/YeeaaahMan\"\u003e\u003ccode\u003e@​YeeaaahMan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixes ruff \u0026gt;=0.12.9 support (thanks again \u003ca href=\"https://github.com/YeeaaahMan\"\u003e\u003ccode\u003e@​YeeaaahMan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSome internal items\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixing various pilint errors in the codebase (thanks again \u003ca href=\"https://github.com/kingbuzzman\"\u003e\u003ccode\u003e@​kingbuzzman\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoves flake8 config into pyproject (Thanks \u003ca href=\"https://github.com/kingbuzzman\"\u003e\u003ccode\u003e@​kingbuzzman\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCI...\n\n_Description has been truncated_","html_url":"https://github.com/charles-alchemcy/air/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/charles-alchemcy%2Fair/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"0.4.0","new_version":"0.5.0","update_type":"minor","path":"/docs","pr_created_at":"2025-11-20T20:07:09.000Z","version_change":"0.4.0 → 0.5.0","issue":{"uuid":"3648880110","node_id":"PR_kwDODTo4k860rbaE","number":7720,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.4.0 to 0.5.0 in /docs","user":"dependabot[bot]","labels":["dependencies","internal","size/XS","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-20T20:07:09.000Z","updated_at":"2025-11-20T20:08:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.4.0","new_version":"0.5.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.4.0 to 0.5.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.5.0\"\u003e0.5.0\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\u003eCompare with 0.4.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve relative links to absolute ones, link to generated Markdown files (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e52e0318\u003c/a\u003e by 권세인). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/22\"\u003eIssue-22\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/26\"\u003ePR-26\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\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/pawamoy/mkdocs-llmstxt/commit/8968edfb0e66c56e60072f0da74d37c2dc78d8ef\"\u003e\u003ccode\u003e8968edf\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/cc414163f69857d9b01ff1c0cfcb2099c7fd754f\"\u003e\u003ccode\u003ecc41416\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/52e0318be1965494a8d3bdc854a25e02e6f71cb8\"\u003e\u003ccode\u003e52e0318\u003c/code\u003e\u003c/a\u003e feat: Resolve relative links to absolute ones, link to generated Markdown files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.4.0...0.5.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.4.0\u0026new-version=0.5.0)](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/aws-powertools/powertools-lambda-python/pull/7720","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7720","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7720/packages"}},{"old_version":"0.3.2","new_version":"0.4.0","update_type":"minor","path":"/docs","pr_created_at":"2025-10-06T13:30:08.000Z","version_change":"0.3.2 → 0.4.0","issue":{"uuid":"2890262614","node_id":"PR_kwDOEjWUk86sRehW","number":4615,"state":"open","title":"bump mkdocs-llmstxt from 0.3.2 to 0.4.0 in /docs","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-06T13:30:08.000Z","updated_at":"2025-10-06T13:30:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"bump","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.2","new_version":"0.4.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.2 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.2\u0026new-version=0.4.0)](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/aws-powertools/powertools-lambda-typescript/pull/4615","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-typescript/issues/4615","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4615/packages"}},{"old_version":"0.3.2","new_version":"0.4.0","update_type":"minor","path":"/docs","pr_created_at":"2025-10-06T04:44:59.000Z","version_change":"0.3.2 → 0.4.0","issue":{"uuid":"3485667489","node_id":"PR_kwDOO-2fds6sL5et","number":468,"state":"open","title":"Bump mkdocs-llmstxt from 0.3.2 to 0.4.0 in /docs","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-06T04:44:59.000Z","updated_at":"2025-10-06T04:45:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.2","new_version":"0.4.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.2 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\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=mkdocs-llmstxt\u0026package-manager=uv\u0026previous-version=0.3.2\u0026new-version=0.4.0)](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/exospherehost/exospherehost/pull/468","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/exospherehost%2Fexospherehost/issues/468","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/468/packages"}},{"old_version":"0.3.2","new_version":"0.4.0","update_type":"minor","path":null,"pr_created_at":"2025-10-03T20:24:24.000Z","version_change":"0.3.2 → 0.4.0","issue":{"uuid":"2886129737","node_id":"PR_kwDODTo4k86sBthJ","number":7475,"state":"closed","title":"chore(deps): bump mkdocs-llmstxt from 0.3.2 to 0.4.0","user":"dependabot[bot]","labels":["dependencies","internal","size/XS","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-10-06T08:21:28.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-03T20:24:24.000Z","updated_at":"2025-10-06T08:21:28.000Z","time_to_close":215824,"merged_at":"2025-10-06T08:21:28.000Z","merged_by":"leandrodamascena","closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.2","new_version":"0.4.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.2 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.2\u0026new-version=0.4.0)](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/aws-powertools/powertools-lambda-python/pull/7475","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7475","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7475/packages"}},{"old_version":"0.3.2","new_version":"0.4.0","update_type":"minor","path":"/docs","pr_created_at":"2025-10-03T20:06:37.000Z","version_change":"0.3.2 → 0.4.0","issue":{"uuid":"2886087156","node_id":"PR_kwDODTo4k86sBjH0","number":7473,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.3.2 to 0.4.0 in /docs","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-03T20:06:37.000Z","updated_at":"2025-10-03T20:18:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.2","new_version":"0.4.0","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.2 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.4.0\"\u003e0.4.0\u003c/a\u003e - 2025-10-03\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\u003eCompare with 0.3.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebase_url\u003c/code\u003e config option (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e718b0bc\u003c/a\u003e by Jo Stichbury). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/pull/25\"\u003ePR-25\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/pawamoy/mkdocs-llmstxt/commit/ad6dec63a1463b12ccd73efb8c9e0424f2ec84af\"\u003e\u003ccode\u003ead6dec6\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/2f1f768d351e510adf149eccbcaa10af2942be57\"\u003e\u003ccode\u003e2f1f768\u003c/code\u003e\u003c/a\u003e style: Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/718b0bcc0183d6c64a57dc2efee93552d170e9e3\"\u003e\u003ccode\u003e718b0bc\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ebase_url\u003c/code\u003e config option\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.2...0.4.0\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.2\u0026new-version=0.4.0)](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/aws-powertools/powertools-lambda-python/pull/7473","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7473","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7473/packages"}},{"old_version":"0.3.1","new_version":"0.3.2","update_type":"patch","path":null,"pr_created_at":"2025-09-26T20:12:01.000Z","version_change":"0.3.1 → 0.3.2","issue":{"uuid":"2865393948","node_id":"PR_kwDODTo4k86qynEc","number":7436,"state":"closed","title":"chore(deps): bump mkdocs-llmstxt from 0.3.1 to 0.3.2","user":"dependabot[bot]","labels":["dependencies","internal","size/XS","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-09-27T14:12:56.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-26T20:12:01.000Z","updated_at":"2025-09-27T14:12:56.000Z","time_to_close":64855,"merged_at":"2025-09-27T14:12:56.000Z","merged_by":"leandrodamascena","closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.1 to 0.3.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.1\u0026new-version=0.3.2)](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/aws-powertools/powertools-lambda-python/pull/7436","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7436","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7436/packages"}},{"old_version":"0.3.1","new_version":"0.3.2","update_type":"patch","path":null,"pr_created_at":"2025-09-22T21:27:41.000Z","version_change":"0.3.1 → 0.3.2","issue":{"uuid":"2851186454","node_id":"PR_kwDOOrAP4s6p8acW","number":94,"state":"closed","title":"chore(deps-dev): Bump mkdocs-llmstxt from 0.3.1 to 0.3.2","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-06T21:24:58.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-22T21:27:41.000Z","updated_at":"2025-10-06T21:24:58.000Z","time_to_close":1209437,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): Bump","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.1 to 0.3.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.1\u0026new-version=0.3.2)](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/alliander-opensource/transformer-thermal-model/pull/94","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alliander-opensource%2Ftransformer-thermal-model/issues/94","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/94/packages"}},{"old_version":"0.3.1","new_version":"0.3.2","update_type":"patch","path":"/docs","pr_created_at":"2025-09-22T04:32:22.000Z","version_change":"0.3.1 → 0.3.2","issue":{"uuid":"2847871606","node_id":"PR_kwDOO-2fds6pvxJ2","number":418,"state":"closed","title":"Bump mkdocs-llmstxt from 0.3.1 to 0.3.2 in /docs","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-22T05:14:13.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-22T04:32:22.000Z","updated_at":"2025-09-22T05:14:13.000Z","time_to_close":2511,"merged_at":"2025-09-22T05:14:13.000Z","merged_by":"NiveditJain","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.1 to 0.3.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\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=mkdocs-llmstxt\u0026package-manager=uv\u0026previous-version=0.3.1\u0026new-version=0.3.2)](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/exospherehost/exospherehost/pull/418","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/exospherehost%2Fexospherehost/issues/418","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/418/packages"}},{"old_version":"0.3.1","new_version":"0.3.2","update_type":"patch","path":"/docs","pr_created_at":"2025-09-19T20:06:51.000Z","version_change":"0.3.1 → 0.3.2","issue":{"uuid":"3435758395","node_id":"PR_kwDODTo4k86plC_d","number":7409,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.3.1 to 0.3.2 in /docs","user":"dependabot[bot]","labels":["dependencies","internal","size/XS","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-19T20:06:51.000Z","updated_at":"2025-09-19T20:07:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.1 to 0.3.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.1\u0026new-version=0.3.2)](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/aws-powertools/powertools-lambda-python/pull/7409","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-python/issues/7409","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7409/packages"}},{"old_version":"0.3.1","new_version":"0.3.2","update_type":"patch","path":null,"pr_created_at":"2025-09-19T14:42:24.000Z","version_change":"0.3.1 → 0.3.2","issue":{"uuid":"3434661690","node_id":"PR_kwDOAtl3uc6phaFj","number":468,"state":"closed","title":"⬆(deps): Bump the python-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["deps","uv","dependabot"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-09-20T00:34:40.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-19T14:42:24.000Z","updated_at":"2025-09-20T00:34:42.000Z","time_to_close":35536,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆(deps): Bump","group_name":"python-dependencies","update_count":5,"packages":[{"name":"rich","old_version":"12.6.0","new_version":"14.1.0","repository_url":"https://github.com/Textualize/rich"},{"name":"pyrefly","old_version":"0.33.0","new_version":"0.33.1","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.13.0","new_version":"0.13.1","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.1a20","new_version":"0.0.1a21","repository_url":"https://github.com/astral-sh/ty"},{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the python-dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich](https://github.com/Textualize/rich) | `12.6.0` | `14.1.0` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.33.0` | `0.33.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.0` | `0.13.1` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a20` | `0.0.1a21` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.3.1` | `0.3.2` |\n\n\nUpdates `rich` from 12.6.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe ENVy of all other releases\u003c/h2\u003e\n\u003cp\u003eMostly updates to Traceback rendering, to add support for features introduced in Python3.11\u003c/p\u003e\n\u003cp\u003eWe also have a new env var that I am proposing to become a standard. \u003ccode\u003eTTY_COMPATIBLE=1\u003c/code\u003e tells Rich to write ansi-escape sequences even if it detects it is not writing to a terminal. This is intended for use with GitHub Actions / CI, which can interpret escape sequences, but aren't a terminal.\u003c/p\u003e\n\u003cp\u003eThere is also a change to how NO_COLOR and FORCE_COLOR are interpreted, which is the reason for the major version bump.\u003c/p\u003e\n\u003ch2\u003e[14.0.0] - 2025-03-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded env var \u003ccode\u003eTTY_COMPATIBLE\u003c/code\u003e to override auto-detection of TTY support (See console.rst for details). \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAn empty \u003ccode\u003eNO_COLOR\u003c/code\u003e env var is now considered disabled. \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn empty \u003ccode\u003eFORCE_COLOR\u003c/code\u003e env var is now considered disabled. \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRich tracebacks will now render notes on Python 3.11 onwards (added with \u003ccode\u003eException.add_note\u003c/code\u003e) \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3676\"\u003eTextualize/rich#3676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIndentation in exceptions won't be underlined \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3678\"\u003eTextualize/rich#3678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRich tracebacks will now render Exception Groups \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3677\"\u003eTextualize/rich#3677\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Faster is Faster release\u003c/h2\u003e\n\u003ch2\u003e[13.9.4] - 2024-11-01\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimizations to cell_len which may speed up Rich / Textual output \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3546\"\u003eTextualize/rich#3546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe irregular expression release\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.0.0] - 2025-03-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded env var \u003ccode\u003eTTY_COMPATIBLE\u003c/code\u003e to override auto-detection of TTY support (See console.rst for details). \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAn empty \u003ccode\u003eNO_COLOR\u003c/code\u003e env var is now considered disabled. \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn empty \u003ccode\u003eFORCE_COLOR\u003c/code\u003e env var is now considered disabled. \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3675\"\u003eTextualize/rich#3675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRich tracebacks will now render notes on Python 3.11 onwards (added with \u003ccode\u003eException.add_note\u003c/code\u003e) \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3676\"\u003eTextualize/rich#3676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIndentation in exceptions won't be underlined \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3678\"\u003eTextualize/rich#3678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRich tracebacks will now render Exception Groups \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3677\"\u003eTextualize/rich#3677\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[13.9.4] - 2024-11-01\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimizations to cell_len which may speed up Rich / Textual output \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3546\"\u003eTextualize/rich#3546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[13.9.3] - 2024-10-22\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken regex that may have resulted in poor performance. \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3535\"\u003eTextualize/rich#3535\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[13.9.2] - 2024-10-04\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eTable\u003c/code\u003e columns not highlighting when added by \u003ccode\u003eadd_row\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3517\"\u003eTextualize/rich#3517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue with Segment.split_cells reported in Textual \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/5090\"\u003eTextualize/textual#5090\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v12.6.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyrefly` from 0.33.0 to 0.33.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/f1b3475981c10153934afe5b06170fa7c61336bf\"\u003e\u003ccode\u003ef1b3475\u003c/code\u003e\u003c/a\u003e Bump to 0.33.1 (\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1113\"\u003e#1113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/707ba2795fab32e3f04187ed46575c1ef4179055\"\u003e\u003ccode\u003e707ba27\u003c/code\u003e\u003c/a\u003e Add max files arg for dump config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/81133d9294f1e8c7b54cf33d439a7457fbcaa468\"\u003e\u003ccode\u003e81133d9\u003c/code\u003e\u003c/a\u003e Add nesting context to \u003ccode\u003eClass::has_qname()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/1f9ba6f8249aed59f8f7962228ffb64fd6fbf132\"\u003e\u003ccode\u003e1f9ba6f\u003c/code\u003e\u003c/a\u003e Use nesting context to print nested class names properly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/67fcf91b83aa97ce695e875b420005ff2ce53fa7\"\u003e\u003ccode\u003e67fcf91\u003c/code\u003e\u003c/a\u003e Pass around nesting context to answer solver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/d64458968f32e10a6c23fe6b6632fbfe7b4eb572\"\u003e\u003ccode\u003ed644589\u003c/code\u003e\u003c/a\u003e Pass around nesting context in binding builder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/4e3ba0b68c93a5de9f15a528bb48ccf8cb90fbfe\"\u003e\u003ccode\u003e4e3ba0b\u003c/code\u003e\u003c/a\u003e Introducing a \u003ccode\u003eNestingContext\u003c/code\u003e data structure to represent nestings properly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/41d50a3bbcec11d42a35649108927edd98529beb\"\u003e\u003ccode\u003e41d50a3\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003eQName\u003c/code\u003e from \u003ccode\u003epyrefly_types\u003c/code\u003e to \u003ccode\u003epyrefly_python\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/82e59ae98ffaa3f63bea260740d598c6ac4362aa\"\u003e\u003ccode\u003e82e59ae\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eloc\u003c/code\u003e to \u003ccode\u003erange\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/168859bb9c2a06a67bea760316b3f61ae1988edf\"\u003e\u003ccode\u003e168859b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003edel\u003c/code\u003e-defined names to \u003ccode\u003eDefinitions\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.33.0...0.33.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.0 to 0.13.1\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.13.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-18.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Detect unnecessary \u003ccode\u003eNone\u003c/code\u003e default for additional key expression types (\u003ccode\u003eSIM910\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20343\"\u003e#20343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fix for \u003ccode\u003ePTH123\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20169\"\u003e#20169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH111\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20215\"\u003e#20215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eE301\u003c/code\u003e to only trigger for functions immediately within a class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19768\"\u003e#19768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20279\"\u003e#20279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle t-strings for token-based rules and suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20357\"\u003e#20357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix truthiness: dict-only \u003ccode\u003e**\u003c/code\u003e displays not truthy for \u003ccode\u003eshell\u003c/code\u003e (\u003ccode\u003eS602\u003c/code\u003e, \u003ccode\u003eS604\u003c/code\u003e, \u003ccode\u003eS609\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20177\"\u003e#20177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix diagnostic to show correct method name for \u003ccode\u003estr.rsplit\u003c/code\u003e calls (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20459\"\u003e#20459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20197\"\u003e#20197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variable (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20427\"\u003e#20427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Prevent infinite loop with \u003ccode\u003eI002\u003c/code\u003e and \u003ccode\u003eUP026\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20327\"\u003e#20327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Recognize t-strings, generators, and lambdas in \u003ccode\u003einvalid-index-type\u003c/code\u003e (\u003ccode\u003eRUF016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20213\"\u003e#20213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eRUF102\u003c/code\u003e] Respect rule redirects in invalid rule code detection (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20245\"\u003e#20245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Mark the fix for \u003ccode\u003eunreliable-callable-check\u003c/code\u003e as always unsafe (\u003ccode\u003eB004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20318\"\u003e#20318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dataclass attribute value instantiation from nested frozen dataclass (\u003ccode\u003eRUF009\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20352\"\u003e#20352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fixes to \u003ccode\u003eoutput-format=sarif\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20300\"\u003e#20300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat panics as fatal diagnostics, sort panics last (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eanalyze.string-imports-min-dots\u003c/code\u003e to settings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20375\"\u003e#20375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README.md with Albumentations new repository URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20415\"\u003e#20415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable inline noqa for multiline strings in playground (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20442\"\u003e#20442\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/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\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/IDrokin117\"\u003e\u003ccode\u003e@​IDrokin117\u003c/code\u003e\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/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.13.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-18.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Detect unnecessary \u003ccode\u003eNone\u003c/code\u003e default for additional key expression types (\u003ccode\u003eSIM910\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20343\"\u003e#20343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fix for \u003ccode\u003ePTH123\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20169\"\u003e#20169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH111\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20215\"\u003e#20215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eE301\u003c/code\u003e to only trigger for functions immediately within a class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19768\"\u003e#19768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20279\"\u003e#20279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle t-strings for token-based rules and suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20357\"\u003e#20357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix truthiness: dict-only \u003ccode\u003e**\u003c/code\u003e displays not truthy for \u003ccode\u003eshell\u003c/code\u003e (\u003ccode\u003eS602\u003c/code\u003e, \u003ccode\u003eS604\u003c/code\u003e, \u003ccode\u003eS609\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20177\"\u003e#20177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix diagnostic to show correct method name for \u003ccode\u003estr.rsplit\u003c/code\u003e calls (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20459\"\u003e#20459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20197\"\u003e#20197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variable (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20427\"\u003e#20427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Prevent infinite loop with \u003ccode\u003eI002\u003c/code\u003e and \u003ccode\u003eUP026\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20327\"\u003e#20327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Recognize t-strings, generators, and lambdas in \u003ccode\u003einvalid-index-type\u003c/code\u003e (\u003ccode\u003eRUF016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20213\"\u003e#20213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eRUF102\u003c/code\u003e] Respect rule redirects in invalid rule code detection (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20245\"\u003e#20245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Mark the fix for \u003ccode\u003eunreliable-callable-check\u003c/code\u003e as always unsafe (\u003ccode\u003eB004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20318\"\u003e#20318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dataclass attribute value instantiation from nested frozen dataclass (\u003ccode\u003eRUF009\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20352\"\u003e#20352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fixes to \u003ccode\u003eoutput-format=sarif\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20300\"\u003e#20300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat panics as fatal diagnostics, sort panics last (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eanalyze.string-imports-min-dots\u003c/code\u003e to settings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20375\"\u003e#20375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README.md with Albumentations new repository URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20415\"\u003e#20415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable inline noqa for multiline strings in playground (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20442\"\u003e#20442\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/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\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/IDrokin117\"\u003e\u003ccode\u003e@​IDrokin117\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\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/706be0a6e7e09936511198f2ff8982915520d138\"\u003e\u003ccode\u003e706be0a\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epyproject.toml\u003c/code\u003e to rooster config \u003ccode\u003eversion_files\u003c/code\u003e and bump to 0.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7b40428b6a1aaad88abb05b2fa291f0ae895d379\"\u003e\u003ccode\u003e7b40428\u003c/code\u003e\u003c/a\u003e Bump 0.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20473\"\u003e#20473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9b57553681965e5cde1120f3f78ec50f8c7cd4a\"\u003e\u003ccode\u003eb9b5755\u003c/code\u003e\u003c/a\u003e Upgrade to the latest rooster version and include contributors in CHANGELOG (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b4b5d67a4a4cc7193b4867dcc748c8399571eaf8\"\u003e\u003ccode\u003eb4b5d67\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0b60584b7e561f7ff7120f3ff6ecb5394522d90f\"\u003e\u003ccode\u003e0b60584\u003c/code\u003e\u003c/a\u003e Bump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/821b2f8b2e033bfff407a908e11d71126b7bef45\"\u003e\u003ccode\u003e821b2f8\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1758f26d941afac9ed497c5ad34253f3c5446d07\"\u003e\u003ccode\u003e1758f26\u003c/code\u003e\u003c/a\u003e Update rust toolchain to 1.90 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20469\"\u003e#20469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2502ff7638da3d290eacd4fcef34809faaeddfd5\"\u003e\u003ccode\u003e2502ff7\u003c/code\u003e\u003c/a\u003e [ty] Make TypeIs invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/144373fb3c8690043eec30a12bd5d6c55e8e9ca6\"\u003e\u003ccode\u003e144373f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/91995aa5169175de55494bc3bb59781c7a3097fc\"\u003e\u003ccode\u003e91995aa\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variabl...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.0...0.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.1a20 to 0.0.1a21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.1-alpha.21\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix inference of constructor calls to generic classes that have explicitly annotated \u003ccode\u003eself\u003c/code\u003e parameters in their \u003ccode\u003e__init__\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a stack overflow when computing completions for recursive types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20354\"\u003e#20354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003eBoundMethodType::into_callable_type()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20369\"\u003e#20369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflows in binary comparison inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many \u0026quot;too many cycle iterations\u0026quot; panics concerning recursive type aliases and/or recursive generics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20359\"\u003e#20359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow involving subtype checks for recursive type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20259\"\u003e#20259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when inferring the type of an infinitely-nested-tuple implicit instance attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for unimported symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20207\"\u003e#20207\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20439\"\u003e#20439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude generated \u003ccode\u003eNamedTuple\u003c/code\u003e methods such as \u003ccode\u003e_make\u003c/code\u003e, \u003ccode\u003e_asdict\u003c/code\u003e and \u003ccode\u003e_replace\u003c/code\u003e in autocomplete suggestions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20356\"\u003e#20356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically add \u003ccode\u003epython/\u003c/code\u003e to \u003ccode\u003eenvironment.root\u003c/code\u003e if a \u003ccode\u003epython/\u003c/code\u003e folder exists in the root of a repository (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20358\"\u003e#20358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GitLab output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20155\"\u003e#20155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTyping semantics and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for generic \u003ca href=\"https://peps.python.org/pep-0695/#generic-type-alias\"\u003ePEP-695 type aliases\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20219\"\u003e#20219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow annotation expressions to be \u003ccode\u003east::Attribute\u003c/code\u003e nodes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20413\"\u003e#20413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow protocols to participate in nominal subtyping as well as structural subtyping (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20314\"\u003e#20314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAttribute access on top/bottom materializations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20221\"\u003e#20221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBind \u003ccode\u003eSelf\u003c/code\u003e type variables to the method, not the class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20366\"\u003e#20366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased bound methods are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20330\"\u003e#20330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased builtin functions are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20331\"\u003e#20331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFall back to \u003ccode\u003eobject\u003c/code\u003e for attribute access on synthesized protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20286\"\u003e#20286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix signature of \u003ccode\u003eNamedTupleLike._make\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix subtyping/assignability of function- and class-literal types to callback protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20363\"\u003e#20363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement the legacy PEP-484 convention for indicating positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20248\"\u003e#20248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer more precise types for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20360\"\u003e#20360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eTypeIs\u003c/code\u003e invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow specialized generics using \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20256\"\u003e#20256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProper assignability/subtyping checks for protocols with method members (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20165\"\u003e#20165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce false positives for \u003ccode\u003eParamSpec\u003c/code\u003es and \u003ccode\u003eTypeVarTuple\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20239\"\u003e#20239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOverload evaluation: retry parameter matching for argument type expansion (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20153\"\u003e#20153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u0026quot;legacy\u0026quot; \u003ccode\u003etyping.Self\u003c/code\u003e in combination with \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP-695\u003c/a\u003e generic contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eHashable\u003c/code\u003e, and similar protocols, equivalently to \u003ccode\u003eobject\u003c/code\u003e for subtyping/assignability (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20284\"\u003e#20284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003e__new__\u003c/code\u003e as a static method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20212\"\u003e#20212\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/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.0.1-alpha.21\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix inference of constructor calls to generic classes that have explicitly annotated \u003ccode\u003eself\u003c/code\u003e parameters in their \u003ccode\u003e__init__\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a stack overflow when computing completions for recursive types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20354\"\u003e#20354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003eBoundMethodType::into_callable_type()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20369\"\u003e#20369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflows in binary comparison inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many \u0026quot;too many cycle iterations\u0026quot; panics concerning recursive type aliases and/or recursive generics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20359\"\u003e#20359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow involving subtype checks for recursive type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20259\"\u003e#20259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when inferring the type of an infinitely-nested-tuple implicit instance attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for unimported symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20207\"\u003e#20207\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20439\"\u003e#20439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude generated \u003ccode\u003eNamedTuple\u003c/code\u003e methods such as \u003ccode\u003e_make\u003c/code\u003e, \u003ccode\u003e_asdict\u003c/code\u003e and \u003ccode\u003e_replace\u003c/code\u003e in autocomplete suggestions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20356\"\u003e#20356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically add \u003ccode\u003epython/\u003c/code\u003e to \u003ccode\u003eenvironment.root\u003c/code\u003e if a \u003ccode\u003epython/\u003c/code\u003e folder exists in the root of a repository (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20358\"\u003e#20358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GitLab output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20155\"\u003e#20155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTyping semantics and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for generic \u003ca href=\"https://peps.python.org/pep-0695/#generic-type-alias\"\u003ePEP-695 type aliases\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20219\"\u003e#20219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow annotation expressions to be \u003ccode\u003east::Attribute\u003c/code\u003e nodes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20413\"\u003e#20413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow protocols to participate in nominal subtyping as well as structural subtyping (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20314\"\u003e#20314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAttribute access on top/bottom materializations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20221\"\u003e#20221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBind \u003ccode\u003eSelf\u003c/code\u003e type variables to the method, not the class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20366\"\u003e#20366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased bound methods are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20330\"\u003e#20330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased builtin functions are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20331\"\u003e#20331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFall back to \u003ccode\u003eobject\u003c/code\u003e for attribute access on synthesized protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20286\"\u003e#20286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix signature of \u003ccode\u003eNamedTupleLike._make\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix subtyping/assignability of function- and class-literal types to callback protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20363\"\u003e#20363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement the legacy PEP-484 convention for indicating positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20248\"\u003e#20248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer more precise types for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20360\"\u003e#20360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eTypeIs\u003c/code\u003e invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow specialized generics using \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20256\"\u003e#20256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProper assignability/subtyping checks for protocols with method members (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20165\"\u003e#20165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce false positives for \u003ccode\u003eParamSpec\u003c/code\u003es and \u003ccode\u003eTypeVarTuple\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20239\"\u003e#20239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOverload evaluation: retry parameter matching for argument type expansion (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20153\"\u003e#20153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u0026quot;legacy\u0026quot; \u003ccode\u003etyping.Self\u003c/code\u003e in combination with \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP-695\u003c/a\u003e generic contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eHashable\u003c/code\u003e, and similar protocols, equivalently to \u003ccode\u003eobject\u003c/code\u003e for subtyping/assignability (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20284\"\u003e#20284\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/ty/commit/ef52a1940d79a886727d591e6273b63a5666ed59\"\u003e\u003ccode\u003eef52a19\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1-alpha.21 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1205\"\u003e#1205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fa31d374be4813b965ca221786ff0e85bc555a5c\"\u003e\u003ccode\u003efa31d37\u003c/code\u003e\u003c/a\u003e Upgrade to the latest rooster commit (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a6b0014373e383adcb0638c5478aad5c8ca32c72\"\u003e\u003ccode\u003ea6b0014\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2a91f544bce7c952e017bc4776f60d89d8ad1f23\"\u003e\u003ccode\u003e2a91f54\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v6.7.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1183\"\u003e#1183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fefab88458b5a3de40f5fa9ae001e5f54373cca6\"\u003e\u003ccode\u003efefab88\u003c/code\u003e\u003c/a\u003e Update actions/github-script action to v8 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1148\"\u003e#1148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fd5fcba05622c87d469040d2998d5779be45e3eb\"\u003e\u003ccode\u003efd5fcba\u003c/code\u003e\u003c/a\u003e Update actions/download-artifact digest to abefc31 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1144\"\u003e#1144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b346b48db2fc6ae01b3430697e5eb80ff1943a56\"\u003e\u003ccode\u003eb346b48\u003c/code\u003e\u003c/a\u003e Update rui314/setup-mold digest to 725a879 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1145\"\u003e#1145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2efaa6af05f79c1a31de8280c0040250e0ebd13b\"\u003e\u003ccode\u003e2efaa6a\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1147\"\u003e#1147\u003c/a\u003e)G\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/9eea4858850b5c74c2dc00144288df7df09742c5\"\u003e\u003ccode\u003e9eea485\u003c/code\u003e\u003c/a\u003e Update actions/setup-python action to v6 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1149\"\u003e#1149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b15649083b47d9f4c860084526143b7cd1396798\"\u003e\u003ccode\u003eb156490\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v6.6.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.1-alpha.20...0.0.1-alpha.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-llmstxt` from 0.3.1 to 0.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.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/feldroy/air/pull/468","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/feldroy%2Fair/issues/468","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/468/packages"}},{"old_version":"0.3.1","new_version":"0.3.2","update_type":"patch","path":"/docs","pr_created_at":"2025-09-19T13:11:18.000Z","version_change":"0.3.1 → 0.3.2","issue":{"uuid":"2843801324","node_id":"PR_kwDOEjWUk86pgPbs","number":4508,"state":"open","title":"chore(deps): bump mkdocs-llmstxt from 0.3.1 to 0.3.2 in /docs","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-19T13:11:18.000Z","updated_at":"2025-09-20T08:16:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) from 0.3.1 to 0.3.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\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=mkdocs-llmstxt\u0026package-manager=pip\u0026previous-version=0.3.1\u0026new-version=0.3.2)](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/aws-powertools/powertools-lambda-typescript/pull/4508","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-powertools%2Fpowertools-lambda-typescript/issues/4508","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4508/packages"}},{"old_version":"0.3.1","new_version":"0.3.2","update_type":"patch","path":null,"pr_created_at":"2025-09-19T12:28:49.000Z","version_change":"0.3.1 → 0.3.2","issue":{"uuid":"3434190602","node_id":"PR_kwDOAtl3uc6pfy72","number":464,"state":"closed","title":"⬆(deps): Bump the python-dependencies group with 4 updates","user":"dependabot[bot]","labels":["deps","uv","dependabot"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-09-19T14:42:04.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-19T12:28:49.000Z","updated_at":"2025-09-19T14:42:04.000Z","time_to_close":7995,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆(deps): Bump","group_name":"python-dependencies","update_count":4,"packages":[{"name":"pyrefly","old_version":"0.33.0","new_version":"0.33.1","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.13.0","new_version":"0.13.1","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.1a20","new_version":"0.0.1a21","repository_url":"https://github.com/astral-sh/ty"},{"name":"mkdocs-llmstxt","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 4 updates: [pyrefly](https://github.com/facebook/pyrefly), [ruff](https://github.com/astral-sh/ruff), [ty](https://github.com/astral-sh/ty) and [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt).\n\nUpdates `pyrefly` from 0.33.0 to 0.33.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/f1b3475981c10153934afe5b06170fa7c61336bf\"\u003e\u003ccode\u003ef1b3475\u003c/code\u003e\u003c/a\u003e Bump to 0.33.1 (\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1113\"\u003e#1113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/707ba2795fab32e3f04187ed46575c1ef4179055\"\u003e\u003ccode\u003e707ba27\u003c/code\u003e\u003c/a\u003e Add max files arg for dump config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/81133d9294f1e8c7b54cf33d439a7457fbcaa468\"\u003e\u003ccode\u003e81133d9\u003c/code\u003e\u003c/a\u003e Add nesting context to \u003ccode\u003eClass::has_qname()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/1f9ba6f8249aed59f8f7962228ffb64fd6fbf132\"\u003e\u003ccode\u003e1f9ba6f\u003c/code\u003e\u003c/a\u003e Use nesting context to print nested class names properly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/67fcf91b83aa97ce695e875b420005ff2ce53fa7\"\u003e\u003ccode\u003e67fcf91\u003c/code\u003e\u003c/a\u003e Pass around nesting context to answer solver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/d64458968f32e10a6c23fe6b6632fbfe7b4eb572\"\u003e\u003ccode\u003ed644589\u003c/code\u003e\u003c/a\u003e Pass around nesting context in binding builder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/4e3ba0b68c93a5de9f15a528bb48ccf8cb90fbfe\"\u003e\u003ccode\u003e4e3ba0b\u003c/code\u003e\u003c/a\u003e Introducing a \u003ccode\u003eNestingContext\u003c/code\u003e data structure to represent nestings properly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/41d50a3bbcec11d42a35649108927edd98529beb\"\u003e\u003ccode\u003e41d50a3\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003eQName\u003c/code\u003e from \u003ccode\u003epyrefly_types\u003c/code\u003e to \u003ccode\u003epyrefly_python\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/82e59ae98ffaa3f63bea260740d598c6ac4362aa\"\u003e\u003ccode\u003e82e59ae\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eloc\u003c/code\u003e to \u003ccode\u003erange\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/168859bb9c2a06a67bea760316b3f61ae1988edf\"\u003e\u003ccode\u003e168859b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003edel\u003c/code\u003e-defined names to \u003ccode\u003eDefinitions\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.33.0...0.33.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.0 to 0.13.1\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.13.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-18.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Detect unnecessary \u003ccode\u003eNone\u003c/code\u003e default for additional key expression types (\u003ccode\u003eSIM910\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20343\"\u003e#20343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fix for \u003ccode\u003ePTH123\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20169\"\u003e#20169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH111\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20215\"\u003e#20215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eE301\u003c/code\u003e to only trigger for functions immediately within a class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19768\"\u003e#19768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20279\"\u003e#20279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle t-strings for token-based rules and suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20357\"\u003e#20357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix truthiness: dict-only \u003ccode\u003e**\u003c/code\u003e displays not truthy for \u003ccode\u003eshell\u003c/code\u003e (\u003ccode\u003eS602\u003c/code\u003e, \u003ccode\u003eS604\u003c/code\u003e, \u003ccode\u003eS609\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20177\"\u003e#20177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix diagnostic to show correct method name for \u003ccode\u003estr.rsplit\u003c/code\u003e calls (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20459\"\u003e#20459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20197\"\u003e#20197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variable (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20427\"\u003e#20427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Prevent infinite loop with \u003ccode\u003eI002\u003c/code\u003e and \u003ccode\u003eUP026\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20327\"\u003e#20327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Recognize t-strings, generators, and lambdas in \u003ccode\u003einvalid-index-type\u003c/code\u003e (\u003ccode\u003eRUF016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20213\"\u003e#20213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eRUF102\u003c/code\u003e] Respect rule redirects in invalid rule code detection (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20245\"\u003e#20245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Mark the fix for \u003ccode\u003eunreliable-callable-check\u003c/code\u003e as always unsafe (\u003ccode\u003eB004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20318\"\u003e#20318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dataclass attribute value instantiation from nested frozen dataclass (\u003ccode\u003eRUF009\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20352\"\u003e#20352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fixes to \u003ccode\u003eoutput-format=sarif\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20300\"\u003e#20300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat panics as fatal diagnostics, sort panics last (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eanalyze.string-imports-min-dots\u003c/code\u003e to settings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20375\"\u003e#20375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README.md with Albumentations new repository URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20415\"\u003e#20415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable inline noqa for multiline strings in playground (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20442\"\u003e#20442\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/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\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/IDrokin117\"\u003e\u003ccode\u003e@​IDrokin117\u003c/code\u003e\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/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.13.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-18.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Detect unnecessary \u003ccode\u003eNone\u003c/code\u003e default for additional key expression types (\u003ccode\u003eSIM910\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20343\"\u003e#20343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fix for \u003ccode\u003ePTH123\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20169\"\u003e#20169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH111\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20215\"\u003e#20215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eE301\u003c/code\u003e to only trigger for functions immediately within a class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19768\"\u003e#19768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20279\"\u003e#20279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle t-strings for token-based rules and suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20357\"\u003e#20357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix truthiness: dict-only \u003ccode\u003e**\u003c/code\u003e displays not truthy for \u003ccode\u003eshell\u003c/code\u003e (\u003ccode\u003eS602\u003c/code\u003e, \u003ccode\u003eS604\u003c/code\u003e, \u003ccode\u003eS609\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20177\"\u003e#20177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix diagnostic to show correct method name for \u003ccode\u003estr.rsplit\u003c/code\u003e calls (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20459\"\u003e#20459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20197\"\u003e#20197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variable (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20427\"\u003e#20427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Prevent infinite loop with \u003ccode\u003eI002\u003c/code\u003e and \u003ccode\u003eUP026\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20327\"\u003e#20327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Recognize t-strings, generators, and lambdas in \u003ccode\u003einvalid-index-type\u003c/code\u003e (\u003ccode\u003eRUF016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20213\"\u003e#20213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eRUF102\u003c/code\u003e] Respect rule redirects in invalid rule code detection (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20245\"\u003e#20245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Mark the fix for \u003ccode\u003eunreliable-callable-check\u003c/code\u003e as always unsafe (\u003ccode\u003eB004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20318\"\u003e#20318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dataclass attribute value instantiation from nested frozen dataclass (\u003ccode\u003eRUF009\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20352\"\u003e#20352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fixes to \u003ccode\u003eoutput-format=sarif\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20300\"\u003e#20300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat panics as fatal diagnostics, sort panics last (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eanalyze.string-imports-min-dots\u003c/code\u003e to settings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20375\"\u003e#20375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README.md with Albumentations new repository URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20415\"\u003e#20415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable inline noqa for multiline strings in playground (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20442\"\u003e#20442\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/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\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/IDrokin117\"\u003e\u003ccode\u003e@​IDrokin117\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\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/706be0a6e7e09936511198f2ff8982915520d138\"\u003e\u003ccode\u003e706be0a\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epyproject.toml\u003c/code\u003e to rooster config \u003ccode\u003eversion_files\u003c/code\u003e and bump to 0.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7b40428b6a1aaad88abb05b2fa291f0ae895d379\"\u003e\u003ccode\u003e7b40428\u003c/code\u003e\u003c/a\u003e Bump 0.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20473\"\u003e#20473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9b57553681965e5cde1120f3f78ec50f8c7cd4a\"\u003e\u003ccode\u003eb9b5755\u003c/code\u003e\u003c/a\u003e Upgrade to the latest rooster version and include contributors in CHANGELOG (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b4b5d67a4a4cc7193b4867dcc748c8399571eaf8\"\u003e\u003ccode\u003eb4b5d67\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflynt\u003c/code\u003e] Use triple quotes for joined raw strings with newlines (\u003ccode\u003eFLY002\u003c/code\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0b60584b7e561f7ff7120f3ff6ecb5394522d90f\"\u003e\u003ccode\u003e0b60584\u003c/code\u003e\u003c/a\u003e Bump MSRV to Rust 1.88 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20470\"\u003e#20470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/821b2f8b2e033bfff407a908e11d71126b7bef45\"\u003e\u003ccode\u003e821b2f8\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003esingle-item-membership-test\u003c/code\u003e fix as always unsafe (\u003ccode\u003eFURB171\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1758f26d941afac9ed497c5ad34253f3c5446d07\"\u003e\u003ccode\u003e1758f26\u003c/code\u003e\u003c/a\u003e Update rust toolchain to 1.90 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20469\"\u003e#20469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2502ff7638da3d290eacd4fcef34809faaeddfd5\"\u003e\u003ccode\u003e2502ff7\u003c/code\u003e\u003c/a\u003e [ty] Make TypeIs invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/144373fb3c8690043eec30a12bd5d6c55e8e9ca6\"\u003e\u003ccode\u003e144373f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Fix \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20143\"\u003e#20143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/91995aa5169175de55494bc3bb59781c7a3097fc\"\u003e\u003ccode\u003e91995aa\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive when class name is shadowed by local variabl...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.0...0.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.1a20 to 0.0.1a21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.1-alpha.21\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix inference of constructor calls to generic classes that have explicitly annotated \u003ccode\u003eself\u003c/code\u003e parameters in their \u003ccode\u003e__init__\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a stack overflow when computing completions for recursive types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20354\"\u003e#20354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003eBoundMethodType::into_callable_type()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20369\"\u003e#20369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflows in binary comparison inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many \u0026quot;too many cycle iterations\u0026quot; panics concerning recursive type aliases and/or recursive generics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20359\"\u003e#20359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow involving subtype checks for recursive type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20259\"\u003e#20259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when inferring the type of an infinitely-nested-tuple implicit instance attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for unimported symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20207\"\u003e#20207\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20439\"\u003e#20439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude generated \u003ccode\u003eNamedTuple\u003c/code\u003e methods such as \u003ccode\u003e_make\u003c/code\u003e, \u003ccode\u003e_asdict\u003c/code\u003e and \u003ccode\u003e_replace\u003c/code\u003e in autocomplete suggestions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20356\"\u003e#20356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically add \u003ccode\u003epython/\u003c/code\u003e to \u003ccode\u003eenvironment.root\u003c/code\u003e if a \u003ccode\u003epython/\u003c/code\u003e folder exists in the root of a repository (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20358\"\u003e#20358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GitLab output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20155\"\u003e#20155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTyping semantics and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for generic \u003ca href=\"https://peps.python.org/pep-0695/#generic-type-alias\"\u003ePEP-695 type aliases\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20219\"\u003e#20219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow annotation expressions to be \u003ccode\u003east::Attribute\u003c/code\u003e nodes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20413\"\u003e#20413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow protocols to participate in nominal subtyping as well as structural subtyping (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20314\"\u003e#20314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAttribute access on top/bottom materializations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20221\"\u003e#20221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBind \u003ccode\u003eSelf\u003c/code\u003e type variables to the method, not the class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20366\"\u003e#20366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased bound methods are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20330\"\u003e#20330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased builtin functions are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20331\"\u003e#20331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFall back to \u003ccode\u003eobject\u003c/code\u003e for attribute access on synthesized protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20286\"\u003e#20286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix signature of \u003ccode\u003eNamedTupleLike._make\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix subtyping/assignability of function- and class-literal types to callback protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20363\"\u003e#20363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement the legacy PEP-484 convention for indicating positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20248\"\u003e#20248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer more precise types for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20360\"\u003e#20360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eTypeIs\u003c/code\u003e invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow specialized generics using \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20256\"\u003e#20256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProper assignability/subtyping checks for protocols with method members (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20165\"\u003e#20165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce false positives for \u003ccode\u003eParamSpec\u003c/code\u003es and \u003ccode\u003eTypeVarTuple\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20239\"\u003e#20239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOverload evaluation: retry parameter matching for argument type expansion (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20153\"\u003e#20153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u0026quot;legacy\u0026quot; \u003ccode\u003etyping.Self\u003c/code\u003e in combination with \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP-695\u003c/a\u003e generic contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eHashable\u003c/code\u003e, and similar protocols, equivalently to \u003ccode\u003eobject\u003c/code\u003e for subtyping/assignability (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20284\"\u003e#20284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003e__new__\u003c/code\u003e as a static method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20212\"\u003e#20212\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/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.0.1-alpha.21\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix inference of constructor calls to generic classes that have explicitly annotated \u003ccode\u003eself\u003c/code\u003e parameters in their \u003ccode\u003e__init__\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a stack overflow when computing completions for recursive types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20354\"\u003e#20354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003eBoundMethodType::into_callable_type()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20369\"\u003e#20369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflows in binary comparison inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many \u0026quot;too many cycle iterations\u0026quot; panics concerning recursive type aliases and/or recursive generics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20359\"\u003e#20359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow involving subtype checks for recursive type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20259\"\u003e#20259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when inferring the type of an infinitely-nested-tuple implicit instance attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd autocomplete suggestions for unimported symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20207\"\u003e#20207\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20439\"\u003e#20439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude generated \u003ccode\u003eNamedTuple\u003c/code\u003e methods such as \u003ccode\u003e_make\u003c/code\u003e, \u003ccode\u003e_asdict\u003c/code\u003e and \u003ccode\u003e_replace\u003c/code\u003e in autocomplete suggestions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20356\"\u003e#20356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically add \u003ccode\u003epython/\u003c/code\u003e to \u003ccode\u003eenvironment.root\u003c/code\u003e if a \u003ccode\u003epython/\u003c/code\u003e folder exists in the root of a repository (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20358\"\u003e#20358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GitLab output format (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20155\"\u003e#20155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTyping semantics and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for generic \u003ca href=\"https://peps.python.org/pep-0695/#generic-type-alias\"\u003ePEP-695 type aliases\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20219\"\u003e#20219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow annotation expressions to be \u003ccode\u003east::Attribute\u003c/code\u003e nodes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20413\"\u003e#20413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow protocols to participate in nominal subtyping as well as structural subtyping (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20314\"\u003e#20314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAttribute access on top/bottom materializations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20221\"\u003e#20221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBind \u003ccode\u003eSelf\u003c/code\u003e type variables to the method, not the class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20366\"\u003e#20366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased bound methods are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20330\"\u003e#20330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure various special-cased builtin functions are understood as assignable to \u003ccode\u003eCallable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20331\"\u003e#20331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFall back to \u003ccode\u003eobject\u003c/code\u003e for attribute access on synthesized protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20286\"\u003e#20286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix signature of \u003ccode\u003eNamedTupleLike._make\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix subtyping/assignability of function- and class-literal types to callback protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20363\"\u003e#20363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement the legacy PEP-484 convention for indicating positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20248\"\u003e#20248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer more precise types for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20360\"\u003e#20360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eTypeIs\u003c/code\u003e invariant in its type argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20428\"\u003e#20428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow specialized generics using \u003ccode\u003eisinstance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20256\"\u003e#20256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProper assignability/subtyping checks for protocols with method members (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20165\"\u003e#20165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce false positives for \u003ccode\u003eParamSpec\u003c/code\u003es and \u003ccode\u003eTypeVarTuple\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20239\"\u003e#20239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOverload evaluation: retry parameter matching for argument type expansion (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20153\"\u003e#20153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u0026quot;legacy\u0026quot; \u003ccode\u003etyping.Self\u003c/code\u003e in combination with \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP-695\u003c/a\u003e generic contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eHashable\u003c/code\u003e, and similar protocols, equivalently to \u003ccode\u003eobject\u003c/code\u003e for subtyping/assignability (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20284\"\u003e#20284\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/ty/commit/ef52a1940d79a886727d591e6273b63a5666ed59\"\u003e\u003ccode\u003eef52a19\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.1-alpha.21 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1205\"\u003e#1205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fa31d374be4813b965ca221786ff0e85bc555a5c\"\u003e\u003ccode\u003efa31d37\u003c/code\u003e\u003c/a\u003e Upgrade to the latest rooster commit (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a6b0014373e383adcb0638c5478aad5c8ca32c72\"\u003e\u003ccode\u003ea6b0014\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2a91f544bce7c952e017bc4776f60d89d8ad1f23\"\u003e\u003ccode\u003e2a91f54\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v6.7.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1183\"\u003e#1183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fefab88458b5a3de40f5fa9ae001e5f54373cca6\"\u003e\u003ccode\u003efefab88\u003c/code\u003e\u003c/a\u003e Update actions/github-script action to v8 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1148\"\u003e#1148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fd5fcba05622c87d469040d2998d5779be45e3eb\"\u003e\u003ccode\u003efd5fcba\u003c/code\u003e\u003c/a\u003e Update actions/download-artifact digest to abefc31 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1144\"\u003e#1144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b346b48db2fc6ae01b3430697e5eb80ff1943a56\"\u003e\u003ccode\u003eb346b48\u003c/code\u003e\u003c/a\u003e Update rui314/setup-mold digest to 725a879 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1145\"\u003e#1145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2efaa6af05f79c1a31de8280c0040250e0ebd13b\"\u003e\u003ccode\u003e2efaa6a\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1147\"\u003e#1147\u003c/a\u003e)G\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/9eea4858850b5c74c2dc00144288df7df09742c5\"\u003e\u003ccode\u003e9eea485\u003c/code\u003e\u003c/a\u003e Update actions/setup-python action to v6 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1149\"\u003e#1149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/b15649083b47d9f4c860084526143b7cd1396798\"\u003e\u003ccode\u003eb156490\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v6.6.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.1-alpha.20...0.0.1-alpha.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-llmstxt` from 0.3.1 to 0.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases\"\u003emkdocs-llmstxt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/blob/main/CHANGELOG.md\"\u003emkdocs-llmstxt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/releases/tag/0.3.2\"\u003e0.3.2\u003c/a\u003e - 2025-09-19\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.2\"\u003eCompare with 0.3.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip files not found, log warning (don't crash) (\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e8407d93\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/pawamoy/mkdocs-llmstxt/issues/23\"\u003eIssue-23\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/pawamoy/mkdocs-llmstxt/commit/ab8caff7d4937411e04334eae4ab27b332a63e2d\"\u003e\u003ccode\u003eab8caff\u003c/code\u003e\u003c/a\u003e chore: Prepare release 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/commit/8407d9316960d7f4713d7ab0d7c5aeb8d2ced7e8\"\u003e\u003ccode\u003e8407d93\u003c/code\u003e\u003c/a\u003e refactor: Skip files not found, log warning (don't crash)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pawamoy/mkdocs-llmstxt/compare/0.3.1...0.3.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/feldroy/air/pull/464","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/feldroy%2Fair/issues/464","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/464/packages"}},{"old_version":"0.2.0","new_version":"0.3.1","update_type":"minor","path":null,"pr_created_at":"2025-09-13T08:16:25.000Z","version_change":"0.2.0 → 0.3.1","issue":{"uuid":"2824856118","node_id":"PR_kwDOBYpCG86oX-I2","number":2694,"state":"open","title":"Bump the python-packages group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-13T08:16:25.000Z","updated_at":"2025-09-13T08:16:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":14,"packages":[{"name":"websockets","old_version":"13.1","new_version":"15.0.1","repository_url":"https://github.com/python-websockets/websockets"},{"name":"ruff","old_version":"0.11.9","new_version":"0.13.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.0","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.1","repository_url":"https://github.com/python/mypy"},{"name":"types-pyyaml","old_version":"6.0.12.20250402","new_version":"6.0.12.20250822","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"cryptography","old_version":"44.0.3","new_version":"45.0.7","repository_url":"https://github.com/pyca/cryptography"},{"name":"coverage","old_version":"7.8.0","new_version":"7.10.6","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"a2wsgi","old_version":"1.10.8","new_version":"1.10.10","repository_url":"https://github.com/abersheeran/a2wsgi"},{"name":"mkdocs-material","old_version":"9.6.13","new_version":"9.6.19","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"mkdocstrings-python","old_version":"1.16.12","new_version":"1.18.2","repository_url":"https://github.com/mkdocstrings/python"},{"name":"mkdocs-llmstxt","old_version":"0.2.0","new_version":"0.3.1","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [websockets](https://github.com/python-websockets/websockets) | `13.1` | `15.0.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.11.9` | `0.13.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.0` |\n| [pytest-xdist[psutil]](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.1` |\n| [types-pyyaml](https://github.com/typeshed-internal/stub_uploader) | `6.0.12.20250402` | `6.0.12.20250822` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.3` | `45.0.7` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.8.0` | `7.10.6` |\n| [twine](https://github.com/pypa/twine) | `6.1.0` | `6.2.0` |\n| [a2wsgi](https://github.com/abersheeran/a2wsgi) | `1.10.8` | `1.10.10` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.6.13` | `9.6.19` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `1.16.12` | `1.18.2` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.2.0` | `0.3.1` |\n\n\nUpdates `websockets` from 13.1 to 15.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-websockets/websockets/releases\"\u003ewebsockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.0.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e15.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\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/python-websockets/websockets/commit/37c9bc0781f0cc5af7c729947ef1833c1e12b70d\"\u003e\u003ccode\u003e37c9bc0\u003c/code\u003e\u003c/a\u003e Release version 15.0.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/fce02abb7843bbbad78a53ec0740620dc183ff45\"\u003e\u003ccode\u003efce02ab\u003c/code\u003e\u003c/a\u003e Docs. Correct Producer pattern example.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/5fa24bbb4aa5e0ee4dcc2cf1ce186f3ab68349a6\"\u003e\u003ccode\u003e5fa24bb\u003c/code\u003e\u003c/a\u003e Exit cleanly the interactive client on ^C.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/d0e60d319f95cfab19ac027410dbf07799c76c1d\"\u003e\u003ccode\u003ed0e60d3\u003c/code\u003e\u003c/a\u003e Remove spurious PYTHONPATH declarations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/d7dafcc95a7b0277cb06d67024fab024045e9de9\"\u003e\u003ccode\u003ed7dafcc\u003c/code\u003e\u003c/a\u003e Add test coverage for interactive client.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/3c62503261f899ebd6f0cdbb6222d8052f842ef2\"\u003e\u003ccode\u003e3c62503\u003c/code\u003e\u003c/a\u003e Use entrypoint instead of runpy in docs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/f4e4345b7a39a5275dbdf92d1ccc64383a19ca35\"\u003e\u003ccode\u003ef4e4345\u003c/code\u003e\u003c/a\u003e added entry point script for the cli client in the pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/6f89bacb0754d4f541d70d1444f7bd9eac69ba60\"\u003e\u003ccode\u003e6f89bac\u003c/code\u003e\u003c/a\u003e Start version 15.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/7ac73c645329055a3c352077b8055e6ed65fa46c\"\u003e\u003ccode\u003e7ac73c6\u003c/code\u003e\u003c/a\u003e Release version 15.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/a1ba01db142459db0ea6f7659b3a5f4962749fa6\"\u003e\u003ccode\u003ea1ba01d\u003c/code\u003e\u003c/a\u003e Rewrite interactive client (again) without threads.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-websockets/websockets/compare/13.1...15.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.11.9 to 0.13.0\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.13.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.13.0\"\u003eblog post\u003c/a\u003e for a migration guide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSeveral rules can now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e, \u003ccode\u003eRUF013\u003c/code\u003e, and \u003ccode\u003eUP037\u003c/code\u003e now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e as part of their fixes when the \u003ccode\u003elint.future-annotations\u003c/code\u003e setting is enabled. This allows the rules to move more imports into \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, and \u003ccode\u003eTC003\u003c/code\u003e), use PEP 604 union syntax on Python versions before 3.10 (\u003ccode\u003eRUF013\u003c/code\u003e), and unquote more annotations (\u003ccode\u003eUP037\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFull module paths are now used to verify first-party modules\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff now checks that the full path to a module exists on disk before categorizing it as a first-party import. This change makes first-party import detection more accurate, helping to avoid false positives on local directories with the same name as a third-party dependency, for example. See the \u003ca href=\"https://docs.astral.sh/ruff/faq/#how-does-ruff-determine-which-of-my-imports-are-first-party-third-party-etc\"\u003eFAQ section\u003c/a\u003e on import categorization for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecated rules must now be selected by exact rule code\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer activate deprecated rules selected by their group name or prefix. As noted below, the two remaining deprecated rules were also removed in this release, so this won't affect any current rules, but it will still affect any deprecations in the future.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe deprecated macOS configuration directory fallback has been removed\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer look for a user-level configuration file at \u003ccode\u003e~/Library/Application Support/ruff/ruff.toml\u003c/code\u003e on macOS. This feature was deprecated in v0.5 in favor of using the \u003ca href=\"https://specifications.freedesktop.org/basedir-spec/latest/\"\u003eXDG specification\u003c/a\u003e (usually resolving to \u003ccode\u003e~/.config/ruff/ruff.toml\u003c/code\u003e), like on Linux. The fallback and accompanying deprecation warning have now been removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved Rules\u003c/h3\u003e\n\u003cp\u003eThe following rules have been removed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pandas-df-variable-name\"\u003e\u003ccode\u003epandas-df-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePD901\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-pep604-isinstance\"\u003e\u003ccode\u003enon-pep604-isinstance\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP038\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow-dag-no-schedule-argument\"\u003e\u003ccode\u003eairflow-dag-no-schedule-argument\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR002\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-removal\"\u003e\u003ccode\u003eairflow3-removal\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR301\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-moved-to-provider\"\u003e\u003ccode\u003eairflow3-moved-to-provider\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR302\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-suggested-update\"\u003e\u003ccode\u003eairflow3-suggested-update\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR311\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-suggested-to-move-to-provider\"\u003e\u003ccode\u003eairflow3-suggested-to-move-to-provider\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR312\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/long-sleep-not-forever\"\u003e\u003ccode\u003elong-sleep-not-forever\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC116\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/f-string-number-format\"\u003e\u003ccode\u003ef-string-number-format\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB116\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/os-symlink\"\u003e\u003ccode\u003eos-symlink\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePTH211\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/generic-not-last-base-class\"\u003e\u003ccode\u003egeneric-not-last-base-class\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePYI059\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/redundant-none-literal\"\u003e\u003ccode\u003eredundant-none-literal\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePYI061\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pytest-raises-ambiguous-pattern\"\u003e\u003ccode\u003epytest-raises-ambiguous-pattern\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF043\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unused-unpacked-variable\"\u003e\u003ccode\u003eunused-unpacked-variable\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF059\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-class-metaclass-type\"\u003e\u003ccode\u003euseless-class-metaclass-type\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP050\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following behaviors have been stabilized:\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/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.13.0\u003c/h2\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.13.0\"\u003eblog post\u003c/a\u003e for a migration\nguide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSeveral rules can now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e, \u003ccode\u003eRUF013\u003c/code\u003e, and \u003ccode\u003eUP037\u003c/code\u003e now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e as part of their fixes when the\n\u003ccode\u003elint.future-annotations\u003c/code\u003e setting is enabled. This allows the rules to move\nmore imports into \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, and \u003ccode\u003eTC003\u003c/code\u003e),\nuse PEP 604 union syntax on Python versions before 3.10 (\u003ccode\u003eRUF013\u003c/code\u003e), and\nunquote more annotations (\u003ccode\u003eUP037\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFull module paths are now used to verify first-party modules\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff now checks that the full path to a module exists on disk before\ncategorizing it as a first-party import. This change makes first-party\nimport detection more accurate, helping to avoid false positives on local\ndirectories with the same name as a third-party dependency, for example. See\nthe \u003ca href=\"https://docs.astral.sh/ruff/faq/#how-does-ruff-determine-which-of-my-imports-are-first-party-third-party-etc\"\u003eFAQ\nsection\u003c/a\u003e on import categorization for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecated rules must now be selected by exact rule code\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer activate deprecated rules selected by their group name\nor prefix. As noted below, the two remaining deprecated rules were also\nremoved in this release, so this won't affect any current rules, but it will\nstill affect any deprecations in the future.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe deprecated macOS configuration directory fallback has been removed\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer look for a user-level configuration file at\n\u003ccode\u003e~/Library/Application Support/ruff/ruff.toml\u003c/code\u003e on macOS. This feature was\ndeprecated in v0.5 in favor of using the \u003ca href=\"https://specifications.freedesktop.org/basedir-spec/latest/\"\u003eXDG\nspecification\u003c/a\u003e\n(usually resolving to \u003ccode\u003e~/.config/ruff/ruff.toml\u003c/code\u003e), like on Linux. The\nfallback and accompanying deprecation warning have now been removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved Rules\u003c/h3\u003e\n\u003cp\u003eThe following rules have been removed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pandas-df-variable-name\"\u003e\u003ccode\u003epandas-df-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePD901\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-pep604-isinstance\"\u003e\u003ccode\u003enon-pep604-isinstance\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP038\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\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/astral-sh/ruff/commit/a1fdd66f10a045a574efb20e422868b21decda40\"\u003e\u003ccode\u003ea1fdd66\u003c/code\u003e\u003c/a\u003e Bump 0.13.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20336\"\u003e#20336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8770b95509b7a5a3b23061d739e6260303613f55\"\u003e\u003ccode\u003e8770b95\u003c/code\u003e\u003c/a\u003e [ty] introduce \u003ccode\u003eDivergentType\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20312\"\u003e#20312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/65982a1e14a15449ea0ed5cf66b7f9dea6d3e82c\"\u003e\u003ccode\u003e65982a1\u003c/code\u003e\u003c/a\u003e [ty] Use 'unknown' specialization for upper bound on Self (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/57d1f7132dbac82e07f22560dbedba7cff1dadc4\"\u003e\u003ccode\u003e57d1f71\u003c/code\u003e\u003c/a\u003e [ty] Simplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7a75702237e6f0bc605d3d8e9470c4ca9f37c69e\"\u003e\u003ccode\u003e7a75702\u003c/code\u003e\u003c/a\u003e Ignore deprecated rules unless selected by exact code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20167\"\u003e#20167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9ca632c84fef6ecb7fc810cacb0df801c7949c70\"\u003e\u003ccode\u003e9ca632c\u003c/code\u003e\u003c/a\u003e Stabilize adding future import via config option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20277\"\u003e#20277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/64fe7d30a3ac9444eab1ed397c451b6c6e80bc6f\"\u003e\u003ccode\u003e64fe7d3\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-errmsg\u003c/code\u003e] Stabilize extending \u003ccode\u003eraw-string-in-exception\u003c/code\u003e (\u003ccode\u003eEM101\u003c/code\u003e) to ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/beeeb8d5c5c8dabea2b11b0b8ed0f3c12dbf22c7\"\u003e\u003ccode\u003ebeeeb8d\u003c/code\u003e\u003c/a\u003e Stabilize the remaining Airflow rules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20250\"\u003e#20250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b6fca52855d01dd40904386f5b8a6d4a17caae11\"\u003e\u003ccode\u003eb6fca52\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Stabilize support for non-context-manager calls in `assert...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ac7f882c78db09700bf6bccefe0e9a27fb1696b9\"\u003e\u003ccode\u003eac7f882\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-commas\u003c/code\u003e] Stabilize support for trailing comma checks in type paramet...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.11.9...0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.3.5 to 8.4.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\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\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/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\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/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\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/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.4.1\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.1 (2025-06-17)\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/13461\"\u003e#13461\u003c/a\u003e: Corrected \u003ccode\u003e_pytest.terminal.TerminalReporter.isatty\u003c/code\u003e to support\nbeing called as a method. Before it was just a boolean which could\nbreak correct code when using \u003ccode\u003e-o log_cli=true\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13477\"\u003e#13477\u003c/a\u003e: Reintroduced \u003ccode\u003epytest.PytestReturnNotNoneWarning\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} which was removed by accident in pytest [8.4]{.title-ref}.\u003c/p\u003e\n\u003cp\u003eThis warning is raised when a test functions returns a value other than \u003ccode\u003eNone\u003c/code\u003e, which is often a mistake made by beginners.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003ereturn-not-none\u003c/code\u003e{.interpreted-text role=\u0026quot;ref\u0026quot;} for more information.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13497\"\u003e#13497\u003c/a\u003e: Fixed compatibility with \u003ccode\u003eTwisted 25+\u003c/code\u003e.\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/13492\"\u003e#13492\u003c/a\u003e: Fixed outdated warning about \u003ccode\u003efaulthandler\u003c/code\u003e not working on Windows.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.4.0\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.0 (2025-06-02)\u003c/h1\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/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.3.5...8.4.2\"\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.0 to 3.15.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-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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.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\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/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/53a6190b9c793f0b1801cd8b08afd58d3436bad6\"\u003e\u003ccode\u003e53a6190\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5aa9e9cd7e0d25403c8d9d478bc3480bb5ca2456\"\u003e\u003ccode\u003e5aa9e9c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003espy_return_iter\u003c/code\u003e attribute to \u003ccode\u003espy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/524\"\u003e#524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/dc6df75a91aad4980af1a711e42a2ade19960f36\"\u003e\u003ccode\u003edc6df75\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/526\"\u003e#526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/b977d83d051390c5efd91b02884236ea5eba8ae4\"\u003e\u003ccode\u003eb977d83\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/525\"\u003e#525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/bd66c9cb8b1ffc59b4d9e42a1b413bafa3a16eac\"\u003e\u003ccode\u003ebd66c9c\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f9e47b6e1685169972488391d8c2ba1d10e0901d\"\u003e\u003ccode\u003ef9e47b6\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/3aec7677f47f6c4b89dbdee9e4a32a8fe047943f\"\u003e\u003ccode\u003e3aec767\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e09e5be3fcaa54102006b7c01add91ac33ebf9ed\"\u003e\u003ccode\u003ee09e5be\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/ba83a70ff9c15c0b8534e7f1a7c6ba5321aea046\"\u003e\u003ccode\u003eba83a70\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.14.0...v3.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-xdist[psutil]` 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[psutil]'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 `mypy` from 1.15.0 to 1.18.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\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18 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\u003eMypy Performance Improvements\u003c/h3\u003e\n\u003cp\u003eMypy 1.18 includes numerous performance improvements, resulting in about 40% speedup\ncompared to 1.17 when type checking mypy itself. In extreme cases, the improvement\ncan be 10x or higher. The list below is an overview of the various mypy optimizations.\nMany mypyc improvements (discussed in a separate section below) also improve performance.\u003c/p\u003e\n\u003cp\u003eType caching optimizations have a small risk of causing regressions. When\nreporting issues with unexpected inferred types, please also check if\n\u003ccode\u003e--disable-expression-cache\u003c/code\u003e will work around the issue, as it turns off some of\nthese optimizations.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove self check performance by 1.8% (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19768\"\u003e19768\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python/mypy/pull/19769\"\u003e19769\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python/mypy/pull/19770\"\u003e19770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize fixed-format deserialization (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19765\"\u003e19765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse macros to optimize fixed-format deserialization (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19757\"\u003e19757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTwo additional micro‑optimizations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19627\"\u003e19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAnother set of micro‑optimizations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19633\"\u003e19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache common types (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19621\"\u003e19621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip more method bodies in third‑party libraries for speed (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19586\"\u003e19586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify the representation of callable types (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19580\"\u003e19580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd cache for types of some expressions (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19505\"\u003e19505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse cache for dictionary expressions (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19536\"\u003e19536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse cache for binary operations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19523\"\u003e19523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache types of type objects (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19514\"\u003e19514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid duplicate work when checking boolean operations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19515\"\u003e19515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize generic inference passes (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19501\"\u003e19501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up the default plugin (Jukka Lehtosalo, PRs \u003ca href=\"https://redirect.github.com/python/mypy/pull/19385\"\u003e19385\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/python/mypy/pull/19462\"\u003e19462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove nested imports from the default plugin (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19388\"\u003e19388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize type expansion (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19461\"\u003e19461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize type indirection (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19460\"\u003e19460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize the plugin framework (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19464\"\u003e19464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid temporary set creation in subtype checking (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19463\"\u003e19463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSubtype checking micro‑optimization (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19384\"\u003e19384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn early where possible in subtype check (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19400\"\u003e19400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeduplicate some types before joining (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19409\"\u003e19409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type checking by caching argument inference context (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19323\"\u003e19323\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/mypy/commit/03fbaa941bccc3a9f8aea796d586603b67119bf2\"\u003e\u003ccode\u003e03fbaa9\u003c/code\u003e\u003c/a\u003e bump version to 1.18.1 due to wheels failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b44a1fbf0cf9fd90fd29d6bcd9f64c55dd2fd4c8\"\u003e\u003ccode\u003eb44a1fb\u003c/code\u003e\u003c/a\u003e removed +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7197a99d1aebb1b7a584f82a53c44efb7dddf136\"\u003e\u003ccode\u003e7197a99\u003c/code\u003e\u003c/a\u003e Removed Unreleased in the Changelog for Release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ee61cec0d654463874ddee3a60914f0a6cd08222\"\u003e\u003ccode\u003eee61cec\u003c/code\u003e\u003c/a\u003e Updates to 1.18 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19826\"\u003e#19826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/24eed0bd0bb1107ede163ed314082a0f3e7dbbc4\"\u003e\u003ccode\u003e24eed0b\u003c/code\u003e\u003c/a\u003e Initial changelog for release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19818\"\u003e#19818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0ca1f2a7e50ed38eed95ecf8c1f2df1057da902d\"\u003e\u003ccode\u003e0ca1f2a\u003c/code\u003e\u003c/a\u003e Expose --fixed-format-cache if compiled (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19815\"\u003e#19815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2ce1bb225f3ced0ad4b2080af8a9a0eb39f8b38e\"\u003e\u003ccode\u003e2ce1bb2\u003c/code\u003e\u003c/a\u003e [mypyc] Fix subclass processing in detect_undefined_bitmap (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19787\"\u003e#19787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a6b55f061d6a352e7d272ec5bc890650b7187380\"\u003e\u003ccode\u003ea6b55f0\u003c/code\u003e\u003c/a\u003e feat: new mypyc primitives for weakref.proxy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19217\"\u003e#19217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/5a323dd2f8927eb958835e51916402c27ec2f31f\"\u003e\u003ccode\u003e5a323dd\u003c/code\u003e\u003c/a\u003e Make --allow-redefinition-new argument public (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19796\"\u003e#19796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8638eb40aa7b9d3088f17ab005c538c86c752edd\"\u003e\u003ccode\u003e8638eb4\u003c/code\u003e\u003c/a\u003e [stubtest] temporary \u003ccode\u003e--ignore-disjoint-bases\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19740\"\u003e#19740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.15.0...v1.18.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-pyyaml` from 6.0.12.20250402 to 6.0.12.20250822\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 `cryptography` from 44.0.3 to 45.0.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e45.0.7 - 2025-09-01\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Added a function to support an upcoming ``pyOpenSSL`` release.\n\u003cp\u003e.. _v45-0-6:\u003c/p\u003e\n\u003cp\u003e45.0.6 - 2025-08-05\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-5:\u003c/p\u003e\n\u003cp\u003e45.0.5 - 2025-07-02\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.1.\n\u003cp\u003e.. _v45-0-4:\u003c/p\u003e\n\u003cp\u003e45.0.4 - 2025-06-09\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed decrypting PKCS#8 files encrypted with SHA1-RC4. (This is not\nconsidered secure, and is supported only for backwards compatibility.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-3:\u003c/p\u003e\n\u003cp\u003e45.0.3 - 2025-05-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed decrypting PKCS#8 files encrypted with long salts (this impacts keys\n  encrypted by Bouncy Castle).\n* Fixed decrypting PKCS#8 files encrypted with DES-CBC-MD5. While wildly\n  insecure, this remains prevalent.\n\u003cp\u003e.. _v45-0-2:\u003c/p\u003e\n\u003cp\u003e45.0.2 - 2025-05-17\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed using \u003ccode\u003emypy\u003c/code\u003e with \u003ccode\u003ecryptography\u003c/code\u003e on older versions of Python.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-1:\u003c/p\u003e\n\u003cp\u003e45.0.1 - 2025-05-17\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.0.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/f52a3e14965fa16d03813d3ac78cd050d607794a\"\u003e\u003ccode\u003ef52a3e1\u003c/code\u003e\u003c/a\u003e prep for a 45.0.7 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13378\"\u003e#13378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/66198c23c97c9594d64540e5a866e4b4121aec2d\"\u003e\u003ccode\u003e66198c2\u003c/code\u003e\u003c/a\u003e Bump for release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13249\"\u003e#13249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/3e53a233b65123d2a836b58ccdc427ed5207f92b\"\u003e\u003ccode\u003e3e53a23\u003c/code\u003e\u003c/a\u003e Bump for 45.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13135\"\u003e#13135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/678c0c59f743e3b301fbd34f1d26112db0cc2216\"\u003e\u003ccode\u003e678c0c5\u003c/code\u003e\u003c/a\u003e prepare for 45.0.4 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13058\"\u003e#13058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/50384959872c84933b6059c3b697139c8fcdcdea\"\u003e\u003ccode\u003e5038495\u003c/code\u003e\u003c/a\u003e backports for 45.0.3 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12979\"\u003e#12979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/f81c07535ddf2d26cb1a27e70a9967ab708b8056\"\u003e\u003ccode\u003ef81c075\u003c/code\u003e\u003c/a\u003e Backport mypy fixes for release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/8ea28e0bc724e57433f4f062795d91c0a367e9ad\"\u003e\u003ccode\u003e8ea28e0\u003c/code\u003e\u003c/a\u003e bump for 45.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12922\"\u003e#12922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/67840977c95a23d0dcfba154e303014026df0d3e\"\u003e\u003ccode\u003e6784097\u003c/code\u003e\u003c/a\u003e bump for 45 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12886\"\u003e#12886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2d9c1c9cbe650f2888c14476a4b30ef85d3fd2bc\"\u003e\u003ccode\u003e2d9c1c9\u003c/code\u003e\u003c/a\u003e bump MSRV to 1.74 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/6c18874cc2e76f173b77c67609cfb4d3495964c3\"\u003e\u003ccode\u003e6c18874\u003c/code\u003e\u003c/a\u003e Bump BoringSSL, OpenSSL, AWS-LC in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12918\"\u003e#12918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.3...45.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.8.0 to 7.10.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.6 — 2025-08-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003esource\u003c/code\u003e directories were not properly communicated to subprocesses\nthat ran in different directories, as reported in \u003ccode\u003eissue 1499\u003c/code\u003e_.  This is now\nfixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: \u003ccode\u003eAlex Gaynor continues fine-tuning \u0026lt;pull 2038_\u0026gt;\u003c/code\u003e_ the speed of\ncombination, especially with many contexts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1499: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003enedbat/coveragepy#1499\u003c/a\u003e\n.. _pull 2038: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2038\"\u003enedbat/coveragepy#2038\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-5:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.5 — 2025-08-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBig speed improvements for \u003ccode\u003ecoverage combine\u003c/code\u003e: it's now about twice as\nfast! Huge thanks to Alex Gaynor for pull requests \u003ccode\u003e2032 \u0026lt;pull 2032_\u0026gt;\u003c/code\u003e\u003cem\u003e,\n\u003ccode\u003e2033 \u0026lt;pull 2033_\u0026gt;\u003c/code\u003e\u003c/em\u003e, and \u003ccode\u003e2034 \u0026lt;pull 2034_\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2032: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2032\"\u003enedbat/coveragepy#2032\u003c/a\u003e\n.. _pull 2033: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2033\"\u003enedbat/coveragepy#2033\u003c/a\u003e\n.. _pull 2034: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2034\"\u003enedbat/coveragepy#2034\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-4:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.4 — 2025-08-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003epatch = fork\u003c/code\u003e for times when the built-in forking support is\ninsufficient.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003epatch = execv\u003c/code\u003e also inherits the entire coverage configuration now.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _changes_7-10-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.3 — 2025-08-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixes for \u003ccode\u003epatch = subprocess\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIf subprocesses spawned yet more subprocesses simultaneously, some coverage\ncould be missed.  This is now fixed, closing \u003ccode\u003eissue 2024\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIf subprocesses were created in other directories, their data files were\u003c/p\u003e\n\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/nedbat/coveragepy/commit/88c55ff87437f7e59b42d131d0e2b6ce413546bf\"\u003e\u003ccode\u003e88c55ff\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/01d89959bfa825f661121e0f8d173f3ae1ecedac\"\u003e\u003ccode\u003e01d8995\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/9b0c24ffc17840464c2343b702a6ee44e10fcadf\"\u003e\u003ccode\u003e9b0c24f\u003c/code\u003e\u003c/a\u003e docs: thanks Alex \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2038\"\u003e#2038\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/66d69108654f6fc1de916a37fc06ac898091aa2d\"\u003e\u003ccode\u003e66d6910\u003c/code\u003e\u003c/a\u003e fix: make \u003ccode\u003esource\u003c/code\u003e paths absolute where they exist. \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003e#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/bb3382f50f2b91aebb046d665334a5d361e5ddc5\"\u003e\u003ccode\u003ebb3382f\u003c/code\u003e\u003c/a\u003e build: no need for the combine/html times now\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/9ea349a164527832a49faa3eeec628d59ef75c7c\"\u003e\u003ccode\u003e9ea349a\u003c/code\u003e\u003c/a\u003e lab: warn_executed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/808c9b48af3ad7b567182d383eb31451615664e0\"\u003e\u003ccode\u003e808c9b4\u003c/code\u003e\u003c/a\u003e build: changing metacov.ini should trigger metacov\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/384f5f22bd1ef52000d80922de03922a58ff936c\"\u003e\u003ccode\u003e384f5f2\u003c/code\u003e\u003c/a\u003e build: oops, some 'if's are really line pragmas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a7224af73365ba2d217f0e0966c7873c5bac3a67\"\u003e\u003ccode\u003ea7224af\u003c/code\u003e\u003c/a\u003e perf: pre-compute the mapping between other_db.context and main.context (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2038\"\u003e#2038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5c00c5ba4bcd4f7da6a9f0ccd0797e0944415e8a\"\u003e\u003ccode\u003e5c00c5b\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2039\"\u003e#2039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.8.0...7.10.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `twine` from 6.1.0 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `a2wsgi` from 1.10.8 to 1.10.10\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/b8564f7e3da36bae6070a079c696c0789cce164d\"\u003e\u003ccode\u003eb8564f7\u003c/code\u003e\u003c/a\u003e v1.10.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/eb2a70cc18207414af76936920ac0a4d5c96a26f\"\u003e\u003ccode\u003eeb2a70c\u003c/code\u003e\u003c/a\u003e if no more data, set receive_eof  to True (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/12fcd61075bb19ae7646b8f628f97b219a27f42c\"\u003e\u003ccode\u003e12fcd61\u003c/code\u003e\u003c/a\u003e v1.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/da30546094648962d5a6d7793cd536fd47a16312\"\u003e\u003ccode\u003eda30546\u003c/code\u003e\u003c/a\u003e Set HTTP ASGI version correctly and add Falcon links (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/80\"\u003e#80\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/23264028ce3498334983019c5d181ad0b6ff7e0c\"\u003e\u003ccode\u003e2326402\u003c/code\u003e\u003c/a\u003e Avoid depending on details of httpx's JSON encoder (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/abersheeran/a2wsgi/compare/v1.10.8...v1.10.10\"\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.13 to 9.6.19\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.6.19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14\u003c/li\u003e\n\u003cli\u003eUpdated Bahasa Malaysia translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Azerbaijani translations\u003c/li\u003e\n\u003cli\u003eFixed last compat issues with \u003ca href=\"https://github.com/mitsuhiko/minijinja\"\u003eminijinja\u003c/a\u003e, now 100% compatible\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8396\"\u003e#8396\u003c/a\u003e: Videos do not autoplay when inside a content tab\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8394\"\u003e#8394\u003c/a\u003e: Stroke width not effective in Mermaid.js diagrams\u003c/li\u003e\n\u003cli\u003eFixed disappearing version selector when hiding page title\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8349\"\u003e#8349\u003c/a\u003e: Info plugin doesn't correctly detect virtualenv in some cases\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8334\"\u003e#8334\u003c/a\u003e: Find-in-page detects matches in hidden search result list\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Mongolian translations\u003c/li\u003e\n\u003cli\u003eImproved semantic markup of \u0026quot;edit this page\u0026quot; button\u003c/li\u003e\n\u003cli\u003eImproved info plugin virtual environment resolution\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8291\"\u003e#8291\u003c/a\u003e: Large font size setting throws of breakpoints in JavaScript\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8215\"\u003e#8215\u003c/a\u003e: Social plugin crashes when CairoSVG is updated to 2.8\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.6.19 (2025-09-07)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14\u003c/li\u003e\n\u003cli\u003eUpdated Bahasa Malaysia translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.18 (2025-08-22)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Azerbaijani translations\u003c/li\u003e\n\u003cli\u003eFixed last compat issues with [minijinja], now 100% compatible\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.17 (2025-08-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8396\"\u003e#8396\u003c/a\u003e: Videos do not autoplay when inside a content tab\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8394\"\u003e#8394\u003c/a\u003e: Stroke width not effective in Mermaid.js diagrams\u003c/li\u003e\n\u003cli\u003eFixed disappearing version selector when hiding page title\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.16 (2025-07-26)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8349\"\u003e#8349\u003c/a\u003e: Info plugin doesn't correctly detect virtualenv in some cases\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8334\"\u003e#8334\u003c/a\u003e: Find-in-page detects matches in hidden search result list\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.15 (2025-07-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Mongolian translations\u003c/li\u003e\n\u003cli\u003eImproved semantic markup of \u0026quot;edit this page\u0026quot; button\u003c/li\u003e\n\u003cli\u003eImproved info plugin virtual environment resolution\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8291\"\u003e#8291\u003c/a\u003e: Large font size setting throws of breakpoints in JavaScript\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.14 (2025-05-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8215\"\u003e#8215\u003c/a\u003e: Social plugin crashes when CairoSVG is updated to 2.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.13 (2025-05-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8204\"\u003e#8204\u003c/a\u003e: Annotations showing list markers in print view\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8153\"\u003e#8153\u003c/a\u003e: Improve style of cardinality symbols in Mermaid.js ER diagrams\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.12 (2025-04-17)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8158\"\u003e#8158\u003c/a\u003e: Flip footnote back reference icon for right-to-left languages\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.11 (2025-04-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Docker image to latest Alpine Linux\u003c/li\u003e\n\u003cli\u003eBump required Jinja version to 3.1\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8133\"\u003e#8133\u003c/a\u003e: Jinja filter \u003ccode\u003eitems\u003c/code\u003e not available (9.6.10 regression)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8128\"\u003e#8128\u003c/a\u003e: Search plugin not entirely disabled via enabled setting\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.10 (2025-03-30)\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/squidfunk/mkdocs-material/commit/2fe55eecfa0abe6004ea0adb8b5fbc527d788d5f\"\u003e\u003ccode\u003e2fe55ee\u003c/code\u003e\u003c/a\u003e Prepare 9.6.19 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/c9d5303c0d9f52da7f20278d569169fc4a4be4de\"\u003e\u003ccode\u003ec9d5303\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3a0cea1bb947797bfbb1bbd394236357e197f5cd\"\u003e\u003ccode\u003e3a0cea1\u003c/code\u003e\u003c/a\u003e Bump actions/upload-pages-artifact from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3026a57e0ff6293475733fa225538cd466cbd460\"\u003e\u003ccode\u003e3026a57\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/cb1fc6f829651b96f8d21692ee59eaf4081140af\"\u003e\u003ccode\u003ecb1fc6f\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/1f3c48e5c31757d22f8991866dce5739c4b54757\"\u003e\u003ccode\u003e1f3c48e\u003c/code\u003e\u003c/a\u003e Fixed pillow version range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/13c9c77af6f72d5a1f32d2eb32b6cf2791de5b32\"\u003e\u003ccode\u003e13c9c77\u003c/code\u003e\u003c/a\u003e Added pillow 11 to supported version range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/0d262ec188802ba2ac175db98059ac4603f02232\"\u003e\u003ccode\u003e0d262ec\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/97ae22fc73663df404bb5bbc9500a28682b0e18c\"\u003e\u003ccode\u003e97ae22f\u003c/code\u003e\u003c/a\u003e Updated Premium sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/ee6484e12967b89847a7a646709d9f92d11e3724\"\u003e\u003ccode\u003eee6484e\u003c/code\u003e\u003c/a\u003e Updated Premium sponsors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.6.13...9.6.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocstrings-python` from 1.16.12 to 1.18.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mkdocstrings/python/releases\"\u003emkdocstrings-python's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/1.18.2\"\u003e1.18.2\u003c/a\u003e - 2025-08-28\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/1.18.1...1.18.2\"\u003eCompare with 1.18.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNormalize spaces to underscores when passing object to rendering context using its kind as key (\u003ca href=\"https://github.com/mkdocstrings/python/commit/6f79be0ea83522021e16e5d401209e58576ef93a\"\u003e6f79be0\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/mkdocstrings/issues/791\"\u003eIssue-mkdocstrings-791\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.18.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/1.18.1\"\u003e1.18.1\u003c/a\u003e - 2025-08-28\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/1.18.0...1.18.1\"\u003eCompare with 1.18.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't show implementation signature of \u003ccode\u003e__init__\u003c/code\u003e method when \u003ccode\u003eoverloads_only\u003c/code\u003e is true and it is merged into the class (\u003ca href=\"https://github.com/mkdocstrings/python/commit/9ef620f2b1ae80b3711a2e84ab12d7d2c4a2dbdd\"\u003e9ef620f\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/python/issues/308\"\u003eIssue-308\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.18.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/1.18.0\"\u003e1.18.0\u003c/a\u003e - 2025-08-26\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/1.17.0...1.18.0\"\u003eCompare with 1.17.0\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport PEP 695 generics (\u003ca href=\"https://github.com/mkdocstrings/python/commit/dc8c3adb23b37add6601de9e74085f76e5fc9ee5\"\u003edc8c3ad\u003c/a\u003e by Victor Westerhuis). \u003ca href=\"https://redirect.github.com/mkdocstrings/python/pull/221\"\u003ePR-221\u003c/a\u003e, Co-authored-by: Timothée Mazzucotelli \u003ca href=\"mailto:dev@pawamoy.fr\"\u003edev@pawamoy.fr\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease maximum recursion limit in case of deeply nested ASTs (rare occurrence) (\u003ca href=\"https://github.com/mkdocstrings/python/commit/6004ccf3576c7a20e21c880bb2235b7b426ba382\"\u003e6004ccf\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/griffe/issues/402\"\u003eIssue-griffe-402\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/1.17.0\"\u003e1.17.0\u003c/a\u003e - 2025-08-14\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/1.16.12...1.17.0\"\u003eCompare with 1.16.12\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport new Griffe parsing options \u003ccode\u003ewarn_missing_types\u003c/code\u003e and \u003ccode\u003ewarnings\u003c/code\u003e (\u003ca href=\"https://github.com/mkdocstrings/python/commit/0e3bdb857b5ede3e15aa7a9b8b87b33f68889c9e\"\u003e0e3bdb8\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/mkdocstrings/issues/437\"\u003eIssue-mkdocstrings-437\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/Kludex/uvicorn/pull/2694","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kludex%2Fuvicorn/issues/2694","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2694/packages"}},{"old_version":"0.2.0","new_version":"0.3.1","update_type":"minor","path":null,"pr_created_at":"2025-09-10T19:51:53.000Z","version_change":"0.2.0 → 0.3.1","issue":{"uuid":"2816676460","node_id":"PR_kwDOBYpCG86n4xJs","number":2686,"state":"closed","title":"Bump the python-packages group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-09-13T08:15:40.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-10T19:51:53.000Z","updated_at":"2025-09-13T08:15:40.000Z","time_to_close":217427,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":15,"packages":[{"name":"websockets","old_version":"13.1","new_version":"15.0.1","repository_url":"https://github.com/python-websockets/websockets"},{"name":"a2wsgi","old_version":"1.10.8","new_version":"1.10.10","repository_url":"https://github.com/abersheeran/a2wsgi"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"ruff","old_version":"0.11.9","new_version":"0.13.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.0","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0"},{"name":"mypy","old_version":"1.15.0","new_version":"1.17.1","repository_url":"https://github.com/python/mypy"},{"name":"types-pyyaml","old_version":"6.0.12.20250402","new_version":"6.0.12.20250822","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"cryptography","old_version":"44.0.3","new_version":"45.0.7","repository_url":"https://github.com/pyca/cryptography"},{"name":"coverage","old_version":"7.8.0","new_version":"7.10.6","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"mkdocs-material","old_version":"9.6.13","new_version":"9.6.19","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"mkdocstrings-python","old_version":"1.16.12","new_version":"1.18.2","repository_url":"https://github.com/mkdocstrings/python"},{"name":"mkdocs-llmstxt","old_version":"0.2.0","new_version":"0.3.1","repository_url":"https://github.com/pawamoy/mkdocs-llmstxt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [websockets](https://github.com/python-websockets/websockets) | `13.1` | `15.0.1` |\n| [a2wsgi](https://github.com/abersheeran/a2wsgi) | `1.10.8` | `1.10.10` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [twine](https://github.com/pypa/twine) | `6.1.0` | `6.2.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.11.9` | `0.13.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.0` |\n| [pytest-xdist[psutil]](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.17.1` |\n| [types-pyyaml](https://github.com/typeshed-internal/stub_uploader) | `6.0.12.20250402` | `6.0.12.20250822` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.3` | `45.0.7` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.8.0` | `7.10.6` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.6.13` | `9.6.19` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `1.16.12` | `1.18.2` |\n| [mkdocs-llmstxt](https://github.com/pawamoy/mkdocs-llmstxt) | `0.2.0` | `0.3.1` |\n\n\nUpdates `websockets` from 13.1 to 15.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-websockets/websockets/releases\"\u003ewebsockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.0.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e15.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e14.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\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/python-websockets/websockets/commit/37c9bc0781f0cc5af7c729947ef1833c1e12b70d\"\u003e\u003ccode\u003e37c9bc0\u003c/code\u003e\u003c/a\u003e Release version 15.0.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/fce02abb7843bbbad78a53ec0740620dc183ff45\"\u003e\u003ccode\u003efce02ab\u003c/code\u003e\u003c/a\u003e Docs. Correct Producer pattern example.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/5fa24bbb4aa5e0ee4dcc2cf1ce186f3ab68349a6\"\u003e\u003ccode\u003e5fa24bb\u003c/code\u003e\u003c/a\u003e Exit cleanly the interactive client on ^C.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/d0e60d319f95cfab19ac027410dbf07799c76c1d\"\u003e\u003ccode\u003ed0e60d3\u003c/code\u003e\u003c/a\u003e Remove spurious PYTHONPATH declarations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/d7dafcc95a7b0277cb06d67024fab024045e9de9\"\u003e\u003ccode\u003ed7dafcc\u003c/code\u003e\u003c/a\u003e Add test coverage for interactive client.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/3c62503261f899ebd6f0cdbb6222d8052f842ef2\"\u003e\u003ccode\u003e3c62503\u003c/code\u003e\u003c/a\u003e Use entrypoint instead of runpy in docs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/f4e4345b7a39a5275dbdf92d1ccc64383a19ca35\"\u003e\u003ccode\u003ef4e4345\u003c/code\u003e\u003c/a\u003e added entry point script for the cli client in the pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/6f89bacb0754d4f541d70d1444f7bd9eac69ba60\"\u003e\u003ccode\u003e6f89bac\u003c/code\u003e\u003c/a\u003e Start version 15.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/7ac73c645329055a3c352077b8055e6ed65fa46c\"\u003e\u003ccode\u003e7ac73c6\u003c/code\u003e\u003c/a\u003e Release version 15.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/a1ba01db142459db0ea6f7659b3a5f4962749fa6\"\u003e\u003ccode\u003ea1ba01d\u003c/code\u003e\u003c/a\u003e Rewrite interactive client (again) without threads.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-websockets/websockets/compare/13.1...15.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `a2wsgi` from 1.10.8 to 1.10.10\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/b8564f7e3da36bae6070a079c696c0789cce164d\"\u003e\u003ccode\u003eb8564f7\u003c/code\u003e\u003c/a\u003e v1.10.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/eb2a70cc18207414af76936920ac0a4d5c96a26f\"\u003e\u003ccode\u003eeb2a70c\u003c/code\u003e\u003c/a\u003e if no more data, set receive_eof  to True (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/12fcd61075bb19ae7646b8f628f97b219a27f42c\"\u003e\u003ccode\u003e12fcd61\u003c/code\u003e\u003c/a\u003e v1.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/da30546094648962d5a6d7793cd536fd47a16312\"\u003e\u003ccode\u003eda30546\u003c/code\u003e\u003c/a\u003e Set HTTP ASGI version correctly and add Falcon links (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/80\"\u003e#80\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abersheeran/a2wsgi/commit/23264028ce3498334983019c5d181ad0b6ff7e0c\"\u003e\u003ccode\u003e2326402\u003c/code\u003e\u003c/a\u003e Avoid depending on details of httpx's JSON encoder (\u003ca href=\"https://redirect.github.com/abersheeran/a2wsgi/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/abersheeran/a2wsgi/compare/v1.10.8...v1.10.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.2.2.post1 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/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--config-json\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/916\"\u003e#916\u003c/a\u003e, fixes issue \u003ca href=\"https://redirect.github.com/pypa/build/issues/900\"\u003e#900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/891\"\u003e#891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest on Python 3.14, colorful help on 3.14+ (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/895\"\u003e#895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eModuleNotFoundError\u003c/code\u003e when \u003ccode\u003epip\u003c/code\u003e is not installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/898\"\u003e#898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable use of \u003ccode\u003epip install --python\u003c/code\u003e for debundled pip (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/861\"\u003e#861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't pass no-wheel to virtualenv if it would warn (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/892\"\u003e#892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize our tests to run faster (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/871\"\u003e#871\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/872\"\u003e#872\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow running our tests without virtualenv (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issues in our tests (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/824\"\u003e#824\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/918\"\u003e#918\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/870\"\u003e#870\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/915\"\u003e#915\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/862\"\u003e#862\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/863\"\u003e#863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/899\"\u003e#899\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/896\"\u003e#896\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/854\"\u003e#854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SPDX identifiers for our license metadata (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/914\"\u003e#914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse dependency-groups for our development (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention conda and update uv mention in README/docs (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/842\"\u003e#842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/816\"\u003e#816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/917\"\u003e#917\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/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.0 (2025-08-01)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--config-json\u003c/code\u003e\n(PR :pr:\u003ccode\u003e916\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8\n(PR :pr:\u003ccode\u003e891\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eTest on Python 3.14, colorful help on 3.14+\n(PR :pr:\u003ccode\u003e895\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eModuleNotFoundError\u003c/code\u003e when \u003ccode\u003epip\u003c/code\u003e is not installed\n(PR :pr:\u003ccode\u003e898\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDisable use of \u003ccode\u003epip install --python\u003c/code\u003e for debundled pip\n(PR :pr:\u003ccode\u003e861\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't pass no-wheel to virtualenv if it would warn\n(PR :pr:\u003ccode\u003e892\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize our tests to run faster\n(PR :pr:\u003ccode\u003e871\u003c/code\u003e, :pr:\u003ccode\u003e872\u003c/code\u003e, :pr:\u003ccode\u003e738\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAllow running our tests without virtualenv\n(PR :pr:\u003ccode\u003e911\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix issues in our tests\n(PR :pr:\u003ccode\u003e824\u003c/code\u003e, :pr:\u003ccode\u003e918\u003c/code\u003e, :pr:\u003ccode\u003e870\u003c/code\u003e, :pr:\u003ccode\u003e915\u003c/code\u003e, :pr:\u003ccode\u003e862\u003c/code\u003e, :pr:\u003ccode\u003e863\u003c/code\u003e, :pr:\u003ccode\u003e899\u003c/code\u003e, :pr:\u003ccode\u003e896\u003c/code\u003e, :pr:\u003ccode\u003e854\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse SPDX identifiers for our license metadata\n(PR :pr:\u003ccode\u003e914\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse dependency-groups for our development\n(PR :pr:\u003ccode\u003e880\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMention conda and update uv mention in README/docs\n(PR :pr:\u003ccode\u003e842\u003c/code\u003e, :pr:\u003ccode\u003e816\u003c/code\u003e, :pr:\u003ccode\u003e917\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.2.2 (2024-09-06)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd editable to \u003ccode\u003ebuilder.get_requries_for_build\u003c/code\u003e's static types\n(PR :pr:\u003ccode\u003e764\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e763\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eInclude artifact attestations in our release\n(PR :pr:\u003ccode\u003e782\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix typing compatibility with typed \u003ccode\u003epyproject-hooks\u003c/code\u003e\n(PR :pr:\u003ccode\u003e788\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMark more tests with \u003ccode\u003enetwork\u003c/code\u003e\n(PR :pr:\u003ccode\u003e808\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd more intersphinx links to docs\n(PR :pr:\u003ccode\u003e804\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003euv\u003c/code\u003e optional for tests\n(PR :pr:\u003ccode\u003e807\u003c/code\u003e and :pr:\u003ccode\u003e813\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.2.1 (2024-03-28)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid error when terminal width is undetectable on Python \u0026lt; 3.11\n(PR :pr:\u003ccode\u003e761\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/pypa/build/commit/60e8752f69178d2b2c3563e9c8fa17aa6e11b12c\"\u003e\u003ccode\u003e60e8752\u003c/code\u003e\u003c/a\u003e chore: bump to 1.3.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/919\"\u003e#919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/807cfba618bc4f7b13e938ffa395fffd82494383\"\u003e\u003ccode\u003e807cfba\u003c/code\u003e\u003c/a\u003e feat: add --config-json (\u003ca href=\"https://redirect.github.com/pypa/build/issues/916\"\u003e#916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bf54ad04ffe30e7f7847ea0bcbc081b550830950\"\u003e\u003ccode\u003ebf54ad0\u003c/code\u003e\u003c/a\u003e tests: fix issues with ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/53852df8d84d1d17afaa851d4e1cc3754676bb29\"\u003e\u003ccode\u003e53852df\u003c/code\u003e\u003c/a\u003e docs: uv example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/b983371befe0547b312aba36083b859d923d9bfc\"\u003e\u003ccode\u003eb983371\u003c/code\u003e\u003c/a\u003e tests: optional virtualenv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/6cd157ad0b614a76a13374032a4f56b65048c0be\"\u003e\u003ccode\u003e6cd157a\u003c/code\u003e\u003c/a\u003e Adopt PEP 639 \u0026quot;license\u0026quot; field (\u003ca href=\"https://redirect.github.com/pypa/build/issues/914\"\u003e#914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bdaea367438b8e5ed3c26a7497eafc007084fbec\"\u003e\u003ccode\u003ebdaea36\u003c/code\u003e\u003c/a\u003e tests: fixes for errors in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/14d6508679e2ddb4a511b4b41e972cb374e9dadb\"\u003e\u003ccode\u003e14d6508\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/59ac60e78e0dc5164355bd29eb99fb1cb2d7a59c\"\u003e\u003ccode\u003e59ac60e\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/48ebd63cd7049dff737093c462970262ae1ceed0\"\u003e\u003ccode\u003e48ebd63\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.2.2.post1...1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `twine` from 6.1.0 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.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.11.9 to 0.13.0\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.13.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.13.0\"\u003eblog post\u003c/a\u003e for a migration guide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSeveral rules can now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e, \u003ccode\u003eRUF013\u003c/code\u003e, and \u003ccode\u003eUP037\u003c/code\u003e now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e as part of their fixes when the \u003ccode\u003elint.future-annotations\u003c/code\u003e setting is enabled. This allows the rules to move more imports into \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, and \u003ccode\u003eTC003\u003c/code\u003e), use PEP 604 union syntax on Python versions before 3.10 (\u003ccode\u003eRUF013\u003c/code\u003e), and unquote more annotations (\u003ccode\u003eUP037\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFull module paths are now used to verify first-party modules\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff now checks that the full path to a module exists on disk before categorizing it as a first-party import. This change makes first-party import detection more accurate, helping to avoid false positives on local directories with the same name as a third-party dependency, for example. See the \u003ca href=\"https://docs.astral.sh/ruff/faq/#how-does-ruff-determine-which-of-my-imports-are-first-party-third-party-etc\"\u003eFAQ section\u003c/a\u003e on import categorization for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecated rules must now be selected by exact rule code\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer activate deprecated rules selected by their group name or prefix. As noted below, the two remaining deprecated rules were also removed in this release, so this won't affect any current rules, but it will still affect any deprecations in the future.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe deprecated macOS configuration directory fallback has been removed\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer look for a user-level configuration file at \u003ccode\u003e~/Library/Application Support/ruff/ruff.toml\u003c/code\u003e on macOS. This feature was deprecated in v0.5 in favor of using the \u003ca href=\"https://specifications.freedesktop.org/basedir-spec/latest/\"\u003eXDG specification\u003c/a\u003e (usually resolving to \u003ccode\u003e~/.config/ruff/ruff.toml\u003c/code\u003e), like on Linux. The fallback and accompanying deprecation warning have now been removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved Rules\u003c/h3\u003e\n\u003cp\u003eThe following rules have been removed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pandas-df-variable-name\"\u003e\u003ccode\u003epandas-df-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePD901\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-pep604-isinstance\"\u003e\u003ccode\u003enon-pep604-isinstance\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP038\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow-dag-no-schedule-argument\"\u003e\u003ccode\u003eairflow-dag-no-schedule-argument\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR002\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-removal\"\u003e\u003ccode\u003eairflow3-removal\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR301\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-moved-to-provider\"\u003e\u003ccode\u003eairflow3-moved-to-provider\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR302\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-suggested-update\"\u003e\u003ccode\u003eairflow3-suggested-update\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR311\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/airflow3-suggested-to-move-to-provider\"\u003e\u003ccode\u003eairflow3-suggested-to-move-to-provider\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eAIR312\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/long-sleep-not-forever\"\u003e\u003ccode\u003elong-sleep-not-forever\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC116\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/f-string-number-format\"\u003e\u003ccode\u003ef-string-number-format\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB116\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/os-symlink\"\u003e\u003ccode\u003eos-symlink\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePTH211\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/generic-not-last-base-class\"\u003e\u003ccode\u003egeneric-not-last-base-class\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePYI059\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/redundant-none-literal\"\u003e\u003ccode\u003eredundant-none-literal\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePYI061\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pytest-raises-ambiguous-pattern\"\u003e\u003ccode\u003epytest-raises-ambiguous-pattern\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF043\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unused-unpacked-variable\"\u003e\u003ccode\u003eunused-unpacked-variable\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF059\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-class-metaclass-type\"\u003e\u003ccode\u003euseless-class-metaclass-type\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP050\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following behaviors have been stabilized:\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/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.13.0\u003c/h2\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.13.0\"\u003eblog post\u003c/a\u003e for a migration\nguide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSeveral rules can now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e, \u003ccode\u003eRUF013\u003c/code\u003e, and \u003ccode\u003eUP037\u003c/code\u003e now add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e as part of their fixes when the\n\u003ccode\u003elint.future-annotations\u003c/code\u003e setting is enabled. This allows the rules to move\nmore imports into \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, and \u003ccode\u003eTC003\u003c/code\u003e),\nuse PEP 604 union syntax on Python versions before 3.10 (\u003ccode\u003eRUF013\u003c/code\u003e), and\nunquote more annotations (\u003ccode\u003eUP037\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFull module paths are now used to verify first-party modules\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff now checks that the full path to a module exists on disk before\ncategorizing it as a first-party import. This change makes first-party\nimport detection more accurate, helping to avoid false positives on local\ndirectories with the same name as a third-party dependency, for example. See\nthe \u003ca href=\"https://docs.astral.sh/ruff/faq/#how-does-ruff-determine-which-of-my-imports-are-first-party-third-party-etc\"\u003eFAQ\nsection\u003c/a\u003e on import categorization for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecated rules must now be selected by exact rule code\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer activate deprecated rules selected by their group name\nor prefix. As noted below, the two remaining deprecated rules were also\nremoved in this release, so this won't affect any current rules, but it will\nstill affect any deprecations in the future.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe deprecated macOS configuration directory fallback has been removed\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eRuff will no longer look for a user-level configuration file at\n\u003ccode\u003e~/Library/Application Support/ruff/ruff.toml\u003c/code\u003e on macOS. This feature was\ndeprecated in v0.5 in favor of using the \u003ca href=\"https://specifications.freedesktop.org/basedir-spec/latest/\"\u003eXDG\nspecification\u003c/a\u003e\n(usually resolving to \u003ccode\u003e~/.config/ruff/ruff.toml\u003c/code\u003e), like on Linux. The\nfallback and accompanying deprecation warning have now been removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved Rules\u003c/h3\u003e\n\u003cp\u003eThe following rules have been removed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/pandas-df-variable-name\"\u003e\u003ccode\u003epandas-df-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePD901\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-pep604-isinstance\"\u003e\u003ccode\u003enon-pep604-isinstance\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eUP038\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\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/astral-sh/ruff/commit/a1fdd66f10a045a574efb20e422868b21decda40\"\u003e\u003ccode\u003ea1fdd66\u003c/code\u003e\u003c/a\u003e Bump 0.13.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20336\"\u003e#20336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8770b95509b7a5a3b23061d739e6260303613f55\"\u003e\u003ccode\u003e8770b95\u003c/code\u003e\u003c/a\u003e [ty] introduce \u003ccode\u003eDivergentType\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20312\"\u003e#20312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/65982a1e14a15449ea0ed5cf66b7f9dea6d3e82c\"\u003e\u003ccode\u003e65982a1\u003c/code\u003e\u003c/a\u003e [ty] Use 'unknown' specialization for upper bound on Self (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20325\"\u003e#20325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/57d1f7132dbac82e07f22560dbedba7cff1dadc4\"\u003e\u003ccode\u003e57d1f71\u003c/code\u003e\u003c/a\u003e [ty] Simplify unions of enum literals and subtypes thereof (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20324\"\u003e#20324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7a75702237e6f0bc605d3d8e9470c4ca9f37c69e\"\u003e\u003ccode\u003e7a75702\u003c/code\u003e\u003c/a\u003e Ignore deprecated rules unless selected by exact code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20167\"\u003e#20167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9ca632c84fef6ecb7fc810cacb0df801c7949c70\"\u003e\u003ccode\u003e9ca632c\u003c/code\u003e\u003c/a\u003e Stabilize adding future import via config option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20277\"\u003e#20277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/64fe7d30a3ac9444eab1ed397c451b6c6e80bc6f\"\u003e\u003ccode\u003e64fe7d3\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-errmsg\u003c/code\u003e] Stabilize extending \u003ccode\u003eraw-string-in-exception\u003c/code\u003e (\u003ccode\u003eEM101\u003c/code\u003e) to ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/beeeb8d5c5c8dabea2b11b0b8ed0f3c12dbf22c7\"\u003e\u003ccode\u003ebeeeb8d\u003c/code\u003e\u003c/a\u003e Stabilize the remaining Airflow rules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20250\"\u003e#20250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b6fca52855d01dd40904386f5b8a6d4a17caae11\"\u003e\u003ccode\u003eb6fca52\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Stabilize support for non-context-manager calls in `assert...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ac7f882c78db09700bf6bccefe0e9a27fb1696b9\"\u003e\u003ccode\u003eac7f882\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-commas\u003c/code\u003e] Stabilize support for trailing comma checks in type paramet...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.11.9...0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.3.5 to 8.4.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\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\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/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\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/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\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/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.4.1\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.1 (2025-06-17)\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/13461\"\u003e#13461\u003c/a\u003e: Corrected \u003ccode\u003e_pytest.terminal.TerminalReporter.isatty\u003c/code\u003e to support\nbeing called as a method. Before it was just a boolean which could\nbreak correct code when using \u003ccode\u003e-o log_cli=true\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13477\"\u003e#13477\u003c/a\u003e: Reintroduced \u003ccode\u003epytest.PytestReturnNotNoneWarning\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} which was removed by accident in pytest [8.4]{.title-ref}.\u003c/p\u003e\n\u003cp\u003eThis warning is raised when a test functions returns a value other than \u003ccode\u003eNone\u003c/code\u003e, which is often a mistake made by beginners.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003ereturn-not-none\u003c/code\u003e{.interpreted-text role=\u0026quot;ref\u0026quot;} for more information.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13497\"\u003e#13497\u003c/a\u003e: Fixed compatibility with \u003ccode\u003eTwisted 25+\u003c/code\u003e.\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/13492\"\u003e#13492\u003c/a\u003e: Fixed outdated warning about \u003ccode\u003efaulthandler\u003c/code\u003e not working on Windows.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.4.0\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.0 (2025-06-02)\u003c/h1\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/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.3.5...8.4.2\"\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.0 to 3.15.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-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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.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\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/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/53a6190b9c793f0b1801cd8b08afd58d3436bad6\"\u003e\u003ccode\u003e53a6190\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5aa9e9cd7e0d25403c8d9d478bc3480bb5ca2456\"\u003e\u003ccode\u003e5aa9e9c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003espy_return_iter\u003c/code\u003e attribute to \u003ccode\u003espy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/524\"\u003e#524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/dc6df75a91aad4980af1a711e42a2ade19960f36\"\u003e\u003ccode\u003edc6df75\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/526\"\u003e#526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/b977d83d051390c5efd91b02884236ea5eba8ae4\"\u003e\u003ccode\u003eb977d83\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/525\"\u003e#525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/bd66c9cb8b1ffc59b4d9e42a1b413bafa3a16eac\"\u003e\u003ccode\u003ebd66c9c\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f9e47b6e1685169972488391d8c2ba1d10e0901d\"\u003e\u003ccode\u003ef9e47b6\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/3aec7677f47f6c4b89dbdee9e4a32a8fe047943f\"\u003e\u003ccode\u003e3aec767\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e09e5be3fcaa54102006b7c01add91ac33ebf9ed\"\u003e\u003ccode\u003ee09e5be\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/ba83a70ff9c15c0b8534e7f1a7c6ba5321aea046\"\u003e\u003ccode\u003eba83a70\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.14.0...v3.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-xdist[psutil]` 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[psutil]'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 `mypy` from 1.15.0 to 1.17.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.17.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRetain \u003ccode\u003eNone\u003c/code\u003e as constraints bottom if no bottoms were provided (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19485\"\u003e19485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u0026quot;ignored exception in \u003ccode\u003ehasattr\u003c/code\u003e\u0026quot; in dmypy (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19428\"\u003e19428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent a crash when InitVar is redefined with a method in a subclass (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19453\"\u003e19453\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\u003eAlexey Makridenko\u003c/li\u003e\n\u003cli\u003eBrian Schubert\u003c/li\u003e\n\u003cli\u003eChad Dombrova\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eCharlie Denton\u003c/li\u003e\n\u003cli\u003eCharulata\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eCoolCat467\u003c/li\u003e\n\u003cli\u003eDonal Burns\u003c/li\u003e\n\u003cli\u003eGuy Wilson\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003ejohnthagen\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eŁukasz Kwieciński\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003eMikhail Golubev\u003c/li\u003e\n\u003cli\u003eSebastian Rittau\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\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.16\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.16 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 and bug fixes.\nYou 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\u003eDifferent Property Getter and Setter Types\u003c/h3\u003e\n\u003cp\u003eMypy now supports using different types for a property getter and setter:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eclass A:\n    _value: int\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/acb29831e286bbccde37c03bc75381f40a5fdc9e\"\u003e\u003ccode\u003eacb2983\u003c/code\u003e\u003c/a\u003e Bump version to 1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/933c913fbe6d2fbf277ff8d6b2f2298f0f84be64\"\u003e\u003ccode\u003e933c913\u003c/code\u003e\u003c/a\u003e Retain \u003ccode\u003eNone\u003c/code\u003e as constraints bottom if no bottoms were provided (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19485\"\u003e#19485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/5f4428f0286df58169d2f34f4f86561ad617538b\"\u003e\u003ccode\u003e5f4428f\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;ignored exception in \u003ccode\u003ehasattr\u003c/code\u003e\u0026quot; in dmypy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19428\"\u003e#19428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/88fdeaae0abc92d605fc475fd153b4ad5b239310\"\u003e\u003ccode\u003e88fdeaa\u003c/code\u003e\u003c/a\u003e Prevent a crash when InitVar is redefined with a method in a subclass (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19453\"\u003e#19453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/e44d14f8e52a8890d08726ee753c8754edefd649\"\u003e\u003ccode\u003ee44d14f\u003c/code\u003e\u003c/a\u003e Bump version to 1.17.1+dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0260991f6b055110c3df36bd5539d4f4489bf153\"\u003e\u003ccode\u003e0260991\u003c/code\u003e\u003c/a\u003e Update version string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3901aa2f9523ce55e08d94c1716028d840398753\"\u003e\u003ccode\u003e3901aa2\u003c/code\u003e\u003c/a\u003e Updates to 1.17 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19436\"\u003e#19436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7d133961a7e759aab84223bf8038b9489daaa93c\"\u003e\u003ccode\u003e7d13396\u003c/code\u003e\u003c/a\u003e Initial changelog for 1.17 release (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19427\"\u003e#19427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a182dec997b418b925fe0c28575c50debba0bb3a\"\u003e\u003ccode\u003ea182dec\u003c/code\u003e\u003c/a\u003e Combine the revealed types of multiple iteration steps in a more robust manne...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ab4fd57d45b7f81cf281b17b7d3697ac9f79bc15\"\u003e\u003ccode\u003eab4fd57\u003c/code\u003e\u003c/a\u003e Improve the handling of \u0026quot;iteration dependent\u0026quot; errors and notes in finally cla...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.15.0...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-pyyaml` from 6.0.12.20250402 to 6.0.12.20250822\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 `cryptography` from 44.0.3 to 45.0.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e45.0.7 - 2025-09-01\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Added a function to support an upcoming ``pyOpenSSL`` release.\n\u003cp\u003e.. _v45-0-6:\u003c/p\u003e\n\u003cp\u003e45.0.6 - 2025-08-05\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-5:\u003c/p\u003e\n\u003cp\u003e45.0.5 - 2025-07-02\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.1.\n\u003cp\u003e.. _v45-0-4:\u003c/p\u003e\n\u003cp\u003e45.0.4 - 2025-06-09\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed decrypting PKCS#8 files encrypted with SHA1-RC4. (This is not\nconsidered secure, and is supported only for backwards compatibility.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-3:\u003c/p\u003e\n\u003cp\u003e45.0.3 - 2025-05-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed decrypting PKCS#8 files encrypted with long salts (this impacts keys\n  encrypted by Bouncy Castle).\n* Fixed decrypting PKCS#8 files encrypted with DES-CBC-MD5. While wildly\n  insecure, this remains prevalent.\n\u003cp\u003e.. _v45-0-2:\u003c/p\u003e\n\u003cp\u003e45.0.2 - 2025-05-17\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed using \u003ccode\u003emypy\u003c/code\u003e with \u003ccode\u003ecryptography\u003c/code\u003e on older versions of Python.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-1:\u003c/p\u003e\n\u003cp\u003e45.0.1 - 2025-05-17\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.0.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/f52a3e14965fa16d03813d3ac78cd050d607794a\"\u003e\u003ccode\u003ef52a3e1\u003c/code\u003e\u003c/a\u003e prep for a 45.0.7 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13378\"\u003e#13378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/66198c23c97c9594d64540e5a866e4b4121aec2d\"\u003e\u003ccode\u003e66198c2\u003c/code\u003e\u003c/a\u003e Bump for release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13249\"\u003e#13249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/3e53a233b65123d2a836b58ccdc427ed5207f92b\"\u003e\u003ccode\u003e3e53a23\u003c/code\u003e\u003c/a\u003e Bump for 45.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13135\"\u003e#13135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/678c0c59f743e3b301fbd34f1d26112db0cc2216\"\u003e\u003ccode\u003e678c0c5\u003c/code\u003e\u003c/a\u003e prepare for 45.0.4 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13058\"\u003e#13058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/50384959872c84933b6059c3b697139c8fcdcdea\"\u003e\u003ccode\u003e5038495\u003c/code\u003e\u003c/a\u003e backports for 45.0.3 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12979\"\u003e#12979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/f81c07535ddf2d26cb1a27e70a9967ab708b8056\"\u003e\u003ccode\u003ef81c075\u003c/code\u003e\u003c/a\u003e Backport mypy fixes for release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/8ea28e0bc724e57433f4f062795d91c0a367e9ad\"\u003e\u003ccode\u003e8ea28e0\u003c/code\u003e\u003c/a\u003e bump for 45.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12922\"\u003e#12922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/67840977c95a23d0dcfba154e303014026df0d3e\"\u003e\u003ccode\u003e6784097\u003c/code\u003e\u003c/a\u003e bump for 45 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12886\"\u003e#12886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2d9c1c9cbe650f2888c14476a4b30ef85d3fd2bc\"\u003e\u003ccode\u003e2d9c1c9\u003c/code\u003e\u003c/a\u003e bump MSRV to 1.74 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/6c18874cc2e76f173b77c67609cfb4d3495964c3\"\u003e\u003ccode\u003e6c18874\u003c/code\u003e\u003c/a\u003e Bump BoringSSL, OpenSSL, AWS-LC in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12918\"\u003e#12918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.3...45.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.8.0 to 7.10.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.6 — 2025-08-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003esource\u003c/code\u003e directories were not properly communicated to subprocesses\nthat ran in different directories, as reported in \u003ccode\u003eissue 1499\u003c/code\u003e_.  This is now\nfixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: \u003ccode\u003eAlex Gaynor continues fine-tuning \u0026lt;pull 2038_\u0026gt;\u003c/code\u003e_ the speed of\ncombination, especially with many contexts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1499: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003enedbat/coveragepy#1499\u003c/a\u003e\n.. _pull 2038: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2038\"\u003enedbat/coveragepy#2038\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-5:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.5 — 2025-08-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBig speed improvements for \u003ccode\u003ecoverage combine\u003c/code\u003e: it's now about twice as\nfast! Huge thanks to Alex Gaynor for pull requests \u003ccode\u003e2032 \u0026lt;pull 2032_\u0026gt;\u003c/code\u003e\u003cem\u003e,\n\u003ccode\u003e2033 \u0026lt;pull 2033_\u0026gt;\u003c/code\u003e\u003c/em\u003e, and \u003ccode\u003e2034 \u0026lt;pull 2034_\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2032: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2032\"\u003enedbat/coveragepy#2032\u003c/a\u003e\n.. _pull 2033: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2033\"\u003enedbat/coveragepy#2033\u003c/a\u003e\n.. _pull 2034: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2034\"\u003enedbat/coveragepy#2034\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-4:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.4 — 2025-08-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003epatch = fork\u003c/code\u003e for times when the built-in forking support is\ninsufficient.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003epatch = execv\u003c/code\u003e also inherits the entire coverage configuration now.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _changes_7-10-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.3 — 2025-08-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixes for \u003ccode\u003epatch = subprocess\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIf subprocesses spawned yet more subprocesses simultaneously, some coverage\ncould be missed.  This is now fixed, closing \u003ccode\u003eissue 2024\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIf subprocesses were created in other directories, their data files were\u003c/p\u003e\n\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/nedbat/coveragepy/commit/88c55ff87437f7e59b42d131d0e2b6ce413546bf\"\u003e\u003ccode\u003e88c55ff\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/01d89959bfa825f661121e0f8d173f3ae1ecedac\"\u003e\u003ccode\u003e01d8995\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/9b0c24ffc17840464c2343b702a6ee44e10fcadf\"\u003e\u003ccode\u003e9b0c24f\u003c/code\u003e\u003c/a\u003e docs: thanks Alex \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2038\"\u003e#2038\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/66d69108654f6fc1de916a37fc06ac898091aa2d\"\u003e\u003ccode\u003e66d6910\u003c/code\u003e\u003c/a\u003e fix: make \u003ccode\u003esource\u003c/code\u003e paths absolute where they exist. \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003e#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/bb3382f50f2b91aebb046d665334a5d361e5ddc5\"\u003e\u003ccode\u003ebb3382f\u003c/code\u003e\u003c/a\u003e build: no need for the combine/html times now\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/9ea349a164527832a49faa3eeec628d59ef75c7c\"\u003e\u003ccode\u003e9ea349a\u003c/code\u003e\u003c/a\u003e lab: warn_executed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/808c9b48af3ad7b567182d383eb31451615664e0\"\u003e\u003ccode\u003e808c9b4\u003c/code\u003e\u003c/a\u003e build: changing metacov.ini should trigger metacov\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/384f5f22bd1ef52000d80922de03922a58ff936c\"\u003e\u003ccode\u003e384f5f2\u003c/code\u003e\u003c/a\u003e build: oops, some 'if's are really line pragmas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a7224af73365ba2d217f0e0966c7873c5bac3a67\"\u003e\u003ccode\u003ea7224af\u003c/code\u003e\u003c/a\u003e perf: pre-compute the mapping between other_db.context and main.context (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2038\"\u003e#2038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5c00c5ba4bcd4f7da6a9f0ccd0797e0944415e8a\"\u003e\u003ccode\u003e5c00c5b\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2039\"\u003e#2039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.8.0...7.10.6\"\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.13 to 9.6.19\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.6.19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14\u003c/li\u003e\n\u003cli\u003eUpdated Bahasa Malaysia translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Azerbaijani translations\u003c/li\u003e\n\u003cli\u003eFixed last compat issues with \u003ca href=\"https://github.com/mitsuhiko/minijinja\"\u003eminijinja\u003c/a\u003e, now 100% compatible\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8396\"\u003e#8396\u003c/a\u003e: Videos do not autoplay when inside a content tab\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8394\"\u003e#8394\u003c/a\u003e: Stroke width not effective in Mermaid.js diagrams\u003c/li\u003e\n\u003cli\u003eFixed disappearing version selector when hiding page title\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8349\"\u003e#8349\u003c/a\u003e: Info plugin doesn't correctly detect virtualenv in some cases\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8334\"\u003e#8334\u003c/a\u003e: Find-in-page detects matches in hidden search result list\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Mongolian translations\u003c/li\u003e\n\u003cli\u003eImproved semantic markup of \u0026quot;edit this page\u0026quot; button\u003c/li\u003e\n\u003cli\u003eImproved info plugin virtual environment resolution\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8291\"\u003e#8291\u003c/a\u003e: Large font size setting throws of breakpoints in JavaScript\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8215\"\u003e#8215\u003c/a\u003e: Social plugin crashes when CairoSVG is updated to 2.8\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.6.19 (2025-09-07)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14\u003c/li\u003e\n\u003cli\u003eUpdated Bahasa Malaysia translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.18 (2025-08-22)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Azerbaijani translations\u003c/li\u003e\n\u003cli\u003eFixed last compat issues with [minijinja], now 100% compatible\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.17 (2025-08-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8396\"\u003e#8396\u003c/a\u003e: Videos do not autoplay when inside a content tab\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8394\"\u003e#8394\u003c/a\u003e: Stroke width not effective in Mermaid.js diagrams\u003c/li\u003e\n\u003cli\u003eFixed disappearing version selector when hiding page title\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.16 (2025-07-26)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8349\"\u003e#8349\u003c/a\u003e: Info plugin doesn't correctly detect virtualenv in some cases\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8334\"\u003e#8334\u003c/a\u003e: Find-in-page detects matches in hidden search result list\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.15 (2025-07-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Mongolian translations\u003c/li\u003e\n\u003cli\u003eImproved semantic markup of \u0026quot;edit this page\u0026quot; button\u003c/li\u003e\n\u003cli\u003eImproved info plugin virtual environment resolution\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8291\"\u003e#8291\u003c/a\u003e: Large font size setting throws of breakpoints in JavaScript\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.14 (2025-05-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8215\"\u003e#8215\u003c/a\u003e: Social plugin crashes when CairoSVG is updated to 2.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.13 (2025-05-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8204\"\u003e#8204\u003c/a\u003e: Annotations showing list markers in print view\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8153\"\u003e#8153\u003c/a\u003e: Improve style of cardinality symbols in Mermaid.js ER diagrams\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.12 (2025-04-17)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8158\"\u003e#8158\u003c/a\u003e: Flip footnote back reference icon for right-to-left languages\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.11 (2025-04-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Docker image to latest Alpine Linux\u003c/li\u003e\n\u003cli\u003eBump required Jinja version to 3.1\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8133\"\u003e#8133\u003c/a\u003e: Jinja filter \u003ccode\u003eitems\u003c/code\u003e not available (9.6.10 regression)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8128\"\u003e#8128\u003c/a\u003e: Search plugin not entirely disabled via enabled setting\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.10 (2025-03-30)\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/squidfunk/mkdocs-material/commit/2fe55eecfa0abe6004ea0adb8b5fbc527d788d5f\"\u003e\u003ccode\u003e2fe55ee\u003c/code\u003e\u003c/a\u003e Prepare 9.6.19 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/c9d5303c0d9f52da7f20278d569169fc4a4be4de\"\u003e\u003ccode\u003ec9d5303\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3a0cea1bb947797bfbb1bbd394236357e197f5cd\"\u003e\u003ccode\u003e3a0cea1\u003c/code\u003e\u003c/a\u003e Bump actions/upload-pages-artifact from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3026a57e0ff6293475733fa225538cd466cbd460\"\u003e\u003ccode\u003e3026a57\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/cb1fc6f829651b96f8d21692ee59eaf4081140af\"\u003e\u003ccode\u003ecb1fc6f\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/1f3c48e5c31757d22f8991866dce5739c4b54757\"\u003e\u003ccode\u003e1f3c48e\u003c/code\u003e\u003c/a\u003e Fixed pillow version range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/13c9c77af6f72d5a1f32d2eb32b6cf2791d...\n\n_Description has been truncated_","html_url":"https://github.com/Kludex/uvicorn/pull/2686","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kludex%2Fuvicorn/issues/2686","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2686/packages"}}]}