{"id":58225,"name":"ruff","ecosystem":"conda","repository_url":"https://github.com/astral-sh/ruff","issues_count":13,"created_at":"2025-08-05T07:49:37.382Z","updated_at":"2025-08-05T07:49:37.382Z","purl":"pkg:conda/ruff","metadata":{"id":9741769,"name":"ruff","ecosystem":"conda","description":"An extremely fast Python linter, written in Rust. Ruff can be used to replace Flake8 (plus a variety of plugins), isort, pydocstyle, yesqa, and even a subset of pyupgrade and autoflake all while executing tens or hundreds of times faster than any individual tool.","homepage":"https://github.com/astral-sh/ruff","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/astral-sh/ruff","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2024-04-17T16:27:39.000Z","latest_release_published_at":"2025-06-24T14:50:09.000Z","latest_release_number":"0.12.0","last_synced_at":"2025-08-04T09:27:11.523Z","created_at":"2024-04-17T19:04:13.837Z","updated_at":"2025-08-04T19:59:39.389Z","registry_url":"https://anaconda.org/anaconda/ruff","install_command":"conda install -c anaconda ruff","documentation_url":null,"metadata":{},"repo_metadata":{"id":58181104,"uuid":"523043277","full_name":"astral-sh/ruff","owner":"astral-sh","description":"An extremely fast Python linter and code formatter, written in Rust.","archived":false,"fork":false,"pushed_at":"2025-08-04T18:09:27.000Z","size":88250,"stargazers_count":41320,"open_issues_count":1637,"forks_count":1470,"subscribers_count":89,"default_branch":"main","last_synced_at":"2025-08-04T18:11:21.395Z","etag":null,"topics":["linter","pep8","python","python3","ruff","rust","rustpython","static-analysis","static-code-analysis","style-guide","styleguide"],"latest_commit_sha":null,"homepage":"https://docs.astral.sh/ruff","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astral-sh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-09T17:17:44.000Z","updated_at":"2025-08-04T15:19:13.000Z","dependencies_parsed_at":"2022-09-01T04:31:44.063Z","dependency_job_id":"9cfc39fa-6296-4921-b42f-fd7d97d9ab03","html_url":"https://github.com/astral-sh/ruff","commit_stats":{"total_commits":8993,"total_committers":566,"mean_commits":15.8886925795053,"dds":0.6122539753141332,"last_synced_commit":"d45c1ee44f53d9c606085e79da1830b558fc001f"},"previous_names":["astral-sh/ruff","charliermarsh/ruff"],"tags_count":374,"template":false,"template_full_name":null,"purl":"pkg:github/astral-sh/ruff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astral-sh","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268764138,"owners_count":24303897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"astral-sh","name":"Astral","uuid":"115962839","kind":"organization","description":"High-performance developer tools for the Python ecosystem.","email":"hey@astral.sh","website":"https://astral.sh","location":"United States of America","twitter":"astral_sh","company":null,"icon_url":"https://avatars.githubusercontent.com/u/115962839?v=4","repositories_count":50,"last_synced_at":"2025-08-02T08:26:29.104Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/astral-sh","funding_links":[],"total_stars":139334,"followers":6392,"following":0,"created_at":"2023-04-25T14:44:49.526Z","updated_at":"2025-08-02T08:26:29.104Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astral-sh","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astral-sh/repositories"},"tags":[{"name":"0.12.7","sha":"c5ac998892a339be0304c7f9e69a5318b371deb8","kind":"commit","published_at":"2025-07-29T22:18:42.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.12.7","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.12.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.12.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.7/manifests"},{"name":"0.12.5","sha":"d13228ab856f8cce47b3031cb2b4f2a35401e7eb","kind":"commit","published_at":"2025-07-24T13:12:50.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.12.5","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.12.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.12.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.5/manifests"},{"name":"0.12.4","sha":"ee2759b365448e58503b63636c1cedaa65360bd1","kind":"commit","published_at":"2025-07-17T17:14:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.12.4","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.12.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.12.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.4/manifests"},{"name":"0.12.3","sha":"5bc81f26c8a820835067280153a279658477ccf2","kind":"commit","published_at":"2025-07-11T13:07:50.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.12.3","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.12.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.12.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.3/manifests"},{"name":"0.12.2","sha":"9bee8376a17401f9736b45fdefffb62edc2f1668","kind":"commit","published_at":"2025-07-03T16:27:24.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.12.2","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.12.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.2/manifests"},{"name":"0.12.1","sha":"32c54189cb45a9d0409a1140265ce6d5fcec214d","kind":"commit","published_at":"2025-06-26T20:20:31.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.12.1","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.12.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.1/manifests"},{"name":"0.12.0","sha":"87f0feb21a1af67195bebf94d811770393f9f447","kind":"commit","published_at":"2025-06-17T15:05:59.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.12.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.12.0/manifests"},{"name":"0.11.13","sha":"5faf72a4d9b50c6e330165685e57fae14ca68b73","kind":"commit","published_at":"2025-06-05T20:18:38.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.13","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.13/manifests"},{"name":"0.11.12","sha":"aee3af0f7a018e9fcf921b746ad8ef76d3b84b83","kind":"commit","published_at":"2025-05-29T13:17:12.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.12","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.12/manifests"},{"name":"0.11.11","sha":"0397682f1f50c9c1cc29293ac870f7720b0eda33","kind":"commit","published_at":"2025-05-22T18:09:44.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.11","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.11/manifests"},{"name":"0.11.10","sha":"b35bf8ae073a47e12a98eea3eb4818d3695ff302","kind":"commit","published_at":"2025-05-15T13:54:08.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.10","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.10/manifests"},{"name":"0.11.9","sha":"2370297cde2fa7de4fe98c174e27d7938e92bbdd","kind":"commit","published_at":"2025-05-09T15:43:27.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.9","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.9/manifests"},{"name":"0.11.8","sha":"75effb8ed7430288648eb616b1499939700edff6","kind":"commit","published_at":"2025-05-01T14:19:58.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.8","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.8/manifests"},{"name":"0.11.7","sha":"f7b48510b58026f73c153ecb57720754365ba92e","kind":"commit","published_at":"2025-04-24T18:06:38.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.7","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.7/manifests"},{"name":"0.11.6","sha":"fcd50a0496d725f773c6da149035f98bd90b6a30","kind":"commit","published_at":"2025-04-17T13:20:29.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.6","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.6/manifests"},{"name":"0.11.5","sha":"7186d5e9add868037df5bb9a42c43d5340c7ea44","kind":"commit","published_at":"2025-04-10T16:57:44.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.5","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.5/manifests"},{"name":"0.11.4","sha":"95d6ed40cc096f09f62b5f01d392f83646ad84c3","kind":"commit","published_at":"2025-04-04T18:09:10.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.4","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.4/manifests"},{"name":"0.11.3","sha":"755ece0c36ea0f1064b496f2daf4c5fd97565667","kind":"commit","published_at":"2025-04-03T13:05:40.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.3","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.3/manifests"},{"name":"0.11.2","sha":"4773878ee70ea9b700d3d57c3ca4a917c7d8ea38","kind":"commit","published_at":"2025-03-21T13:17:07.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.2","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.2/manifests"},{"name":"0.11.1","sha":"c1971fdde24b37e64baa70386d933715aeec13c6","kind":"commit","published_at":"2025-03-20T14:50:46.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.1","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.1/manifests"},{"name":"0.11.0","sha":"2cd25ef6410fb5fca96af1578728a3d828d2d53a","kind":"commit","published_at":"2025-03-14T12:57:56.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.11.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.11.0/manifests"},{"name":"0.10.0","sha":"27e9d1fe3e60a0b6731ba3be103a48a33b8e3a7c","kind":"commit","published_at":"2025-03-13T17:53:11.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.10.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.10.0/manifests"},{"name":"0.9.10","sha":"0dfa810e9aad9a465596768b0211c31dd41d3e73","kind":"commit","published_at":"2025-03-07T15:00:08.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.9.10","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.9.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.9.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.10/manifests"},{"name":"0.9.9","sha":"091d0af2ab026a08b82d4aa7d3ab6b1ca4db778c","kind":"commit","published_at":"2025-02-28T09:17:38.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.9.9","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.9.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.9.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.9/manifests"},{"name":"0.9.8","sha":"568cf88c6c5b5551a675ae2b13deedec0fe226cb","kind":"commit","published_at":"2025-02-27T13:56:11.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.9.8","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.9.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.9.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.8/manifests"},{"name":"0.9.7","sha":"54fccb3ee23a2b20b287e631f32f18ee5b64b62b","kind":"commit","published_at":"2025-02-20T13:12:11.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.9.7","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.9.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.9.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.7/manifests"},{"name":"0.9.6","sha":"524cf6e5155066132da772b9f84e2e6695f241b8","kind":"commit","published_at":"2025-02-10T12:44:04.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.9.6","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.9.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.6/manifests"},{"name":"0.9.5","sha":"10d3e64ccdf69d90c3252a15b3408a4238427792","kind":"commit","published_at":"2025-02-06T19:24:45.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.9.5","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.9.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.5/manifests"},{"name":"0.9.4","sha":"854ab030782d205445365c52815a11f5c7c07454","kind":"commit","published_at":"2025-01-30T17:29:22.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.9.4","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.9.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.4/manifests"},{"name":"0.9.3","sha":"90589372daf58ec4d314cbd15db8d2ef572c33cc","kind":"commit","published_at":"2025-01-23T19:14:58.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.9.3","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.9.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.3/manifests"},{"name":"0.9.2","sha":"0a393483811e0999578b5655d82e2c03238296f3","kind":"commit","published_at":"2025-01-16T15:30:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.9.2","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.2/manifests"},{"name":"0.9.1","sha":"12f86f39a4691e44b62c11dd4bc376a16e358f43","kind":"commit","published_at":"2025-01-10T18:45:06.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.9.1","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.1/manifests"},{"name":"0.9.0","sha":"d0b2bbd55ee6435bc3dad8db2898aec216d85121","kind":"commit","published_at":"2025-01-09T13:53:08.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.9.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.9.0/manifests"},{"name":"0.8.6","sha":"6b907c1305702158a6b8b27a29a4d5adde7a478c","kind":"commit","published_at":"2025-01-04T12:09:26.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.8.6","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.8.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.8.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.6/manifests"},{"name":"0.8.5","sha":"11e873eb45628c35b6d1c4bdaa1e515701ba601a","kind":"commit","published_at":"2025-01-02T11:51:21.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.8.5","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.8.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.8.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.5/manifests"},{"name":"0.8.4","sha":"3bb0dac23569fb607e781ca8e401c6eba71b14dd","kind":"commit","published_at":"2024-12-19T13:15:42.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.8.4","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.8.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.4/manifests"},{"name":"0.8.3","sha":"53f2d72e022ad5ae7cfcf511318788fed959fe0b","kind":"commit","published_at":"2024-12-12T14:59:48.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.8.3","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.8.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.3/manifests"},{"name":"0.8.2","sha":"b0e26e6fc8ad60e368b8b03b367b6ac408acf9f7","kind":"commit","published_at":"2024-12-05T12:36:35.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.8.2","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.2/manifests"},{"name":"0.8.1","sha":"b3b2c982cdfb487bec7c38ca4e04cebbe0f1964e","kind":"commit","published_at":"2024-11-29T03:15:36.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.8.1","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.1/manifests"},{"name":"0.8.0","sha":"a90e404c3f010446ab8c18b4793c78834eeb65b7","kind":"commit","published_at":"2024-11-22T07:47:14.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.8.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.8.0/manifests"},{"name":"0.7.4","sha":"ed7b98cf9b5ec915bc196a2cab84d4f735d77693","kind":"commit","published_at":"2024-11-15T11:17:32.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.7.4","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.7.4/manifests"},{"name":"0.7.3","sha":"fbf140a665629ce31191e56918bec6a724a24617","kind":"commit","published_at":"2024-11-08T11:09:37.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.7.3","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.7.3/manifests"},{"name":"0.7.2","sha":"11c3b52fd5e8a2f39d3e21faebd76fdbaf3d748b","kind":"commit","published_at":"2024-11-01T15:55:19.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.7.2","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.7.2/manifests"},{"name":"0.7.1","sha":"337af836d3b2d88413c1391495a94755af46f574","kind":"commit","published_at":"2024-10-24T15:27:07.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.7.1","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.7.1/manifests"},{"name":"0.7.0","sha":"5e6de4e0c69660e8ca8608d1ac965216197756ce","kind":"commit","published_at":"2024-10-17T16:14:21.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.7.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.7.0/manifests"},{"name":"0.6.9","sha":"975be9c1c6cc8f8f4e52bdad8123d151192c7123","kind":"commit","published_at":"2024-10-04T13:21:13.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.6.9","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.6.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.6.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.9/manifests"},{"name":"0.6.8","sha":"ae39ce56c0cc1f8ac15f980c0b457b16b67c1f2a","kind":"commit","published_at":"2024-09-26T12:09:03.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.6.8","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.6.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.6.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.8/manifests"},{"name":"0.6.7","sha":"17c4690b5ead2872ed8035d9a03a2af0cb0a1fa1","kind":"commit","published_at":"2024-09-21T17:16:36.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.6.7","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.6.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.7/manifests"},{"name":"0.6.6","sha":"d01cbf7f8f57cec8b790cdbb98f75172b64f2bc4","kind":"commit","published_at":"2024-09-20T03:09:57.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.6.6","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.6.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.6/manifests"},{"name":"0.6.5","sha":"8558126df1f2b49b4d6fb7b8f535b4dda51d5f50","kind":"commit","published_at":"2024-09-13T14:42:26.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.6.5","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.6.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.5/manifests"},{"name":"0.6.4","sha":"65cc6ec41db50879f7e9711e2b8c74b895ba68e8","kind":"commit","published_at":"2024-09-05T15:35:15.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.6.4","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.4/manifests"},{"name":"0.6.3","sha":"ee258caed72f729a6587bbf73aa25b1f6e9bcb7a","kind":"commit","published_at":"2024-08-29T14:59:33.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.6.3","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.3/manifests"},{"name":"0.6.2","sha":"02c4373a4927657a8825d18ae8f0877806cd1f15","kind":"commit","published_at":"2024-08-22T13:29:27.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.6.2","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"499c0bd875c3f53c65f542a217b4d9a0962191c3","kind":"commit","published_at":"2024-08-16T16:48:06.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.6.1","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"b9da31610a514ffa2100226a0515189a127e8cc2","kind":"commit","published_at":"2024-08-15T12:17:22.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.6.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.6.0/manifests"},{"name":"0.5.7","sha":"221ea662e0e19384f774c99e93a9fd08b6f14029","kind":"commit","published_at":"2024-08-08T15:26:15.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.5.7","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.5.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.7/manifests"},{"name":"0.5.6","sha":"da824ba316bd11de349479aaab06b6ab06560d38","kind":"commit","published_at":"2024-08-02T15:35:14.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.5.6","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.5.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.6/manifests"},{"name":"0.5.5","sha":"fc16d8d04d86aa94a8aac14bbb87089b64d443a1","kind":"commit","published_at":"2024-07-25T14:47:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.5.5","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.5.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.5/manifests"},{"name":"0.5.4","sha":"53b84ab05460d006b10e035fd6a4ffb62d9b608a","kind":"commit","published_at":"2024-07-20T17:46:15.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.5.4","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.5.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.4/manifests"},{"name":"0.5.3","sha":"f0d589d7a3fe34fa25ea066967851f5e71da690e","kind":"commit","published_at":"2024-07-18T16:49:38.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.5.3","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"dc8db1afb08704ad6a788c497068b01edf8b460d","kind":"commit","published_at":"2024-07-14T14:47:51.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.5.2","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"3a72400202642f0bb340fb2b1d1c31da2b6524dd","kind":"commit","published_at":"2024-07-05T13:12:49.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.5.1","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"244b923f615c2c162278fc0e06051853614760f3","kind":"commit","published_at":"2024-06-27T15:16:05.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/0.5.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/0.5.0/manifests"},{"name":"v0.4.10","sha":"b54922fd7394c36cdc390fd21aaee99206ebc361","kind":"tag","published_at":"2024-06-20T17:43:13.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.4.10","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.4.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.4.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.10/manifests"},{"name":"v0.4.9","sha":"4f49e918a9154de16145d77217a4af2b8ce38297","kind":"tag","published_at":"2024-06-14T15:19:47.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.4.9","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.4.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.9/manifests"},{"name":"v0.4.8","sha":"a8cf7096ff1acbccf3af3aa37cd6e2170f1b1bc5","kind":"tag","published_at":"2024-06-05T15:34:08.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.4.8","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.8/manifests"},{"name":"v0.4.7","sha":"1ad5f9c0382f5fa8ed4f38c972a3799be89a7172","kind":"tag","published_at":"2024-05-31T20:44:31.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.4.7","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.7/manifests"},{"name":"v0.4.6","sha":"49a5a9ccc2b6b8f69bb64f87d3a915aff47eb02a","kind":"tag","published_at":"2024-05-28T19:22:32.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.4.6","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.6/manifests"},{"name":"v0.4.5","sha":"550aa871d32b53a2f042fb0e7fea1080eadfa11d","kind":"tag","published_at":"2024-05-23T01:30:45.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.4.5","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.5/manifests"},{"name":"v0.4.4","sha":"3e8878a1c852399dffedb0236097afcfb4780b81","kind":"tag","published_at":"2024-05-09T17:13:37.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.4.4","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.4/manifests"},{"name":"v0.4.3","sha":"1e91a0991828382f24e9306894ca23a186ed9635","kind":"tag","published_at":"2024-05-03T23:03:24.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.4.3","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.3/manifests"},{"name":"v0.4.2","sha":"77c93fd63c1c072501d297082aa59c741b2d5466","kind":"tag","published_at":"2024-04-25T17:52:35.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.4.2","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"0ff25a540c550d8d2f562844354f84eb292b9c4b","kind":"tag","published_at":"2024-04-19T12:28:12.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.4.1","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"e751b4ea8260ff83723345d1c7d39d5c776cc8ff","kind":"tag","published_at":"2024-04-18T19:51:35.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.4.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.4.0/manifests"},{"name":"v0.3.7","sha":"2e37cf6b3b4b873ad9ffe9728bccdf134862b768","kind":"tag","published_at":"2024-04-12T03:54:56.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.3.7","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"4e8a84617c4f78b3ed86c3a09da4523ce44469d7","kind":"tag","published_at":"2024-04-11T16:24:59.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.3.6","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"200ebeebdc8ab8ee14f56922e21b218f41a5a7e4","kind":"tag","published_at":"2024-04-01T17:36:53.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.3.5","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5062572aca9413670aafd018cb65037bcb4d6acb","kind":"tag","published_at":"2024-03-21T19:21:39.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.3.4","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"608df9a1bc0e6025049add877d1d833f1739e966","kind":"tag","published_at":"2024-03-15T18:06:34.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.3.3","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"a892fc755d6d4342c2f5a768aa50a401d704ae2c","kind":"tag","published_at":"2024-03-09T00:51:15.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.3.2","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"b9264a5a11508642954dab6d4f2672b4acbbeaa4","kind":"tag","published_at":"2024-03-06T22:43:46.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.3.1","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"b53118ed0016ac37233d3dadbcea9ed3ac1f538e","kind":"tag","published_at":"2024-02-29T15:20:51.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.3.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.3.0/manifests"},{"name":"v0.2.2","sha":"235cfb79769da2c435b9c88d8bae4a79f1234857","kind":"tag","published_at":"2024-02-17T22:36:50.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.2.2","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"0ccca4083a533d28cb9f181974d787db22a8d315","kind":"tag","published_at":"2024-02-05T22:29:31.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.2.1","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"1fadefa67b26508cc59cf38e6130bde2243c929d","kind":"tag","published_at":"2024-02-01T23:22:30.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.2.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.2.0/manifests"},{"name":"v0.1.15","sha":"a7755d7a8df9a4fdcf3ef1a819be374ecb2fd384","kind":"tag","published_at":"2024-01-29T23:06:20.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.15","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.15/manifests"},{"name":"v0.1.14","sha":"866bea60a5de3c59d2537b0f3a634ae0ac9afd94","kind":"tag","published_at":"2024-01-19T20:19:50.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.14","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.14/manifests"},{"name":"v0.1.13","sha":"d16c4a2d25a27dad1ef26c0e496471139adb4522","kind":"tag","published_at":"2024-01-12T15:04:21.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.13","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.13/manifests"},{"name":"v0.1.12","sha":"55f8f3b2cc64188393e978af8e80a7309714eda4","kind":"tag","published_at":"2024-01-11T22:48:02.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.12","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.12/manifests"},{"name":"v0.1.11","sha":"fefc7e81999fb504f4024f9f108c8c9e02e743b7","kind":"tag","published_at":"2024-01-02T22:59:24.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.11","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.11/manifests"},{"name":"v0.1.10","sha":"2743387910d40bc107f2042527143a82d3b592a5","kind":"tag","published_at":"2024-01-02T18:23:00.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.10","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.10/manifests"},{"name":"v0.1.9","sha":"0263f2715eba81aee471e3dd5a50ea5f9426cbb1","kind":"tag","published_at":"2023-12-21T18:42:56.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.9","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.9/manifests"},{"name":"v0.1.8","sha":"c014622003e9b348310d7b7be862f6ccffae7137","kind":"tag","published_at":"2023-12-13T18:43:48.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.8","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.8/manifests"},{"name":"v0.1.7","sha":"8d9912a83a4eb41d38b2d75d05b06ca6093a7f2d","kind":"tag","published_at":"2023-12-04T21:55:03.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.7","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.7/manifests"},{"name":"v0.1.6","sha":"f460f9c5c0126f59b6a9641221ef0bdfa8afa74a","kind":"tag","published_at":"2023-11-17T18:46:30.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.6","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.6/manifests"},{"name":"v0.1.5","sha":"3956f38999ff7c036e9d1ac9410b3eff834cb158","kind":"tag","published_at":"2023-11-08T23:11:34.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.5","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.5/manifests"},{"name":"v0.1.4","sha":"c4889196e7e4d36517f29592e90e40ca991bc98d","kind":"tag","published_at":"2023-11-03T21:30:36.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.4","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.4/manifests"},{"name":"v0.1.3","sha":"3e7b92991b996871cdbd674782732fcfc214a5e2","kind":"tag","published_at":"2023-10-26T19:26:34.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.3","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"3127c79b29d72f5b38d8a6bc81e069e14085ce11","kind":"tag","published_at":"2023-10-24T15:52:15.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.2","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"22cf451d517739da7dac9b50bd2cfffaa3a09697","kind":"tag","published_at":"2023-10-19T21:21:17.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.1","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"172ac2c9a27040e4a60726f82cabed6166af094a","kind":"tag","published_at":"2023-10-16T19:41:04.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.1.0","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.1.0/manifests"},{"name":"v0.0.292","sha":"c6d0bdd5723e4c15b2b425e84fdb1b4ca5379700","kind":"tag","published_at":"2023-10-02T16:45:27.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.292","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.292","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.292","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.292","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.292/manifests"},{"name":"v0.0.291","sha":"8bfe9bda41538e47fb9c46f190bc148b1db68515","kind":"tag","published_at":"2023-09-22T17:57:28.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.291","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.291","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.291","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.291","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.291/manifests"},{"name":"v0.0.290","sha":"0c030b5bf31e425cb6070db7386243eca6dbd8f1","kind":"tag","published_at":"2023-09-15T21:19:54.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.290","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.290","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.290","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.290","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.290/manifests"},{"name":"v0.0.289","sha":"e7a27794022e18b05136ce8e4fc121f14713ed02","kind":"tag","published_at":"2023-09-12T16:42:34.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.289","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.289","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.289","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.289","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.289/manifests"},{"name":"v0.0.288","sha":"7c9bbcf4e2d173bde625aed26a0056d354f54545","kind":"tag","published_at":"2023-09-11T16:56:53.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.288","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.288","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.288","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.288","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.288/manifests"},{"name":"v0.0.287","sha":"2f3a950f6f2e2060b6c083b08ad9adacfae87185","kind":"tag","published_at":"2023-09-01T17:05:35.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.287","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.287","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.287","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.287","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.287/manifests"},{"name":"v0.0.286","sha":"91880b82738acb42d155369b44c20e70a5f5fd8c","kind":"tag","published_at":"2023-08-25T19:34:29.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.286","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.286","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.286","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.286","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.286/manifests"},{"name":"v0.0.285","sha":"5892c691ea6389dcf53b2212bae7a3acd61ca15f","kind":"tag","published_at":"2023-08-17T21:17:27.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.285","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.285","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.285","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.285","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.285/manifests"},{"name":"v0.0.284","sha":"3ecd263b4d1af3935b0f58e8a1dd4f4d2d8007ff","kind":"tag","published_at":"2023-08-09T19:03:59.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.284","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.284","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.284","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.284","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.284/manifests"},{"name":"v0.0.283","sha":"fe9590f39f4d41deb1d4ed7c655cff0bcb02bdc4","kind":"tag","published_at":"2023-08-08T19:00:05.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.283","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.283","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.283","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.283","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.283/manifests"},{"name":"v0.0.282","sha":"743118ae9ac9c56b7b276dce87291d8200286e43","kind":"tag","published_at":"2023-08-01T13:56:18.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.282","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.282","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.282","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.282","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.282/manifests"},{"name":"v0.0.281","sha":"dbd60b2cf51282fbc3b0f866e566fda7b38514ef","kind":"tag","published_at":"2023-07-31T18:20:21.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.281","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.281","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.281","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.281","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.281/manifests"},{"name":"v0.0.280","sha":"86b6a3e1ad1b6af1381bb6e7fb1521cd5dd9c1be","kind":"tag","published_at":"2023-07-22T03:50:39.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.280","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.280","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.280","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.280","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.280/manifests"},{"name":"v0.0.279","sha":"f1f89f2a7e8eeb16334d8f0a30dfb9ae45425bee","kind":"tag","published_at":"2023-07-21T20:45:29.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.279","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.279","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.279","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.279","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.279/manifests"},{"name":"v0.0.278","sha":"0ead9a16ac306bd17ab5951c0e4240c1ed71a208","kind":"tag","published_at":"2023-07-12T17:05:28.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.278","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.278","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.278","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.278","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.278/manifests"},{"name":"v0.0.277","sha":"324455f580813a7c7721dc1d7ef1ee7721ae3e76","kind":"tag","published_at":"2023-07-04T21:54:43.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.277","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.277","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.277","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.277","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.277/manifests"},{"name":"v0.0.276","sha":"3992c47c008df8f706e03a6ba0d7aa7f068ef0a9","kind":"tag","published_at":"2023-07-03T18:34:07.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.276","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.276","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.276","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.276","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.276/manifests"},{"name":"v0.0.275","sha":"5dd00b19e6cbce8dc0b117a4cf41432ec61b9e46","kind":"tag","published_at":"2023-06-22T17:22:02.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.275","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.275","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.275","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.275","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.275/manifests"},{"name":"v0.0.274","sha":"a332f078db63c9e56e3e4d33526c376a5b619a8f","kind":"commit","published_at":"2023-06-21T03:16:35.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.274","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.274","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.274","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.274","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.274/manifests"},{"name":"v0.0.273","sha":"fde5dbc9aa967b086347f87fc61511c8dfe7ad0e","kind":"commit","published_at":"2023-06-20T18:37:28.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.273","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.273","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.273","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.273","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.273/manifests"},{"name":"v0.0.272","sha":"4b78141f6b7b00f11738691399041b995f732b1e","kind":"commit","published_at":"2023-06-08T02:22:35.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.272","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.272","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.272","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.272","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.272/manifests"},{"name":"v0.0.271","sha":"7cc205b5d6cce437caa460c78e295cd8b612ec45","kind":"commit","published_at":"2023-06-06T21:06:46.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.271","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.271","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.271","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.271","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.271/manifests"},{"name":"v0.0.270","sha":"09c50c311c727c6f6e7b19d982f838ef83d581b1","kind":"commit","published_at":"2023-05-24T17:14:58.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.270","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.270","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.270","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.270","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.270/manifests"},{"name":"v0.0.269","sha":"d4c0a41b00b0093dac3bcf79ee329e351a5583b4","kind":"commit","published_at":"2023-05-18T19:45:20.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.269","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.269","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.269","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.269","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.269/manifests"},{"name":"v0.0.268","sha":"a3aa841fc94cdc1973a97446108ae7468e2e9f71","kind":"commit","published_at":"2023-05-18T17:02:22.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.268","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.268","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.268","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.268","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.268/manifests"},{"name":"v0.0.267","sha":"7617519b4f6c7f726a2758a601206ca49308db2a","kind":"commit","published_at":"2023-05-12T19:46:42.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.267","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.267","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.267","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.267","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.267/manifests"},{"name":"v0.0.266","sha":"67076b2dcb8e4402da6f65fae570790fbae833b1","kind":"commit","published_at":"2023-05-12T17:11:03.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.266","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.266","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.266","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.266","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.266/manifests"},{"name":"v0.0.265","sha":"11e1380df412cd18eb8f6001e6164195bf90436b","kind":"commit","published_at":"2023-05-05T17:16:05.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.265","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.265","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.265","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.265","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.265/manifests"},{"name":"v0.0.264","sha":"8cb76f85eba1c970a8c800348fd1e0c874621a57","kind":"commit","published_at":"2023-05-02T06:33:38.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.264","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.264","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.264","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.264","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.264/manifests"},{"name":"v0.0.263","sha":"fd7ccb4c9e6d04770c9ac4e80bc279bd34e790de","kind":"commit","published_at":"2023-04-25T05:32:29.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.263","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.263","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.263","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.263","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.263/manifests"},{"name":"v0.0.262","sha":"eed6866b7ed7b458660a6b56810ef752085f86f6","kind":"commit","published_at":"2023-04-19T20:04:22.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.262","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.262","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.262","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.262","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.262/manifests"},{"name":"v0.0.261","sha":"255b094b33188e67e9bb9f10f702aa8ecda10132","kind":"commit","published_at":"2023-04-05T02:31:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.261","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.261","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.261","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.261","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.261/manifests"},{"name":"v0.0.260","sha":"cb588d1d6da9c5409c91ce0ae2aa41eafdd566f6","kind":"commit","published_at":"2023-03-29T19:13:12.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.260","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.260","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.260","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.260","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.260/manifests"},{"name":"v0.0.259","sha":"f58345dee32177d17ca323a2d60a020a3c7943a4","kind":"commit","published_at":"2023-03-23T18:52:42.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.259","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.259","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.259","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.259","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.259/manifests"},{"name":"v0.0.258","sha":"615887a7fe476d2fa6ed3a5462467466a3f608b8","kind":"commit","published_at":"2023-03-22T19:02:57.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.258","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.258","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.258","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.258","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.258/manifests"},{"name":"v0.0.257","sha":"0c4926ff7be0f251402edacb7a873ec104117ea0","kind":"commit","published_at":"2023-03-18T02:34:10.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.257","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.257","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.257","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.257","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.257/manifests"},{"name":"v0.0.256","sha":"e636c5fcf07313ad83c1c75d5b1459b4999efd20","kind":"commit","published_at":"2023-03-15T03:17:19.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.256","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.256","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.256","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.256","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.256/manifests"},{"name":"v0.0.255","sha":"aa97a092bdbabcfa24381313b76a2c52a80cd9f0","kind":"commit","published_at":"2023-03-13T18:06:51.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.255","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.255","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.255","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.255","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.255/manifests"},{"name":"v0.0.254","sha":"889c05c87ed02e36567af164b85bd027ff720df4","kind":"commit","published_at":"2023-03-04T04:33:12.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.254","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.254","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.254","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.254","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.254/manifests"},{"name":"v0.0.253","sha":"386ca7c9a1bb7ebeb1457b605695c6a09e67092b","kind":"commit","published_at":"2023-02-27T04:10:04.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.253","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.253","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.253","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.253","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.253/manifests"},{"name":"v0.0.252","sha":"1c41789c2ae9dcdccf8510f23a62b011455987bd","kind":"commit","published_at":"2023-02-22T19:50:14.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.252","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.252","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.252","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.252","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.252/manifests"},{"name":"v0.0.251","sha":"fd638a2e5418d253470ee95212a1197402d9fd2c","kind":"commit","published_at":"2023-02-21T23:13:59.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.251","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.251","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.251","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.251","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.251/manifests"},{"name":"v0.0.250","sha":"06e426f509b6d718d77895dc7bdeaa4df5efae6e","kind":"commit","published_at":"2023-02-21T20:20:46.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.250","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.250","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.250","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.250","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.250/manifests"},{"name":"v0.0.249","sha":"4cfa350112a82fb631909fc555588f3da8ba5750","kind":"commit","published_at":"2023-02-20T18:11:29.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.249","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.249","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.249","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.249","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.249/manifests"},{"name":"v0.0.248","sha":"41e77bb01d7625071aab35f84d26c237f42b4068","kind":"commit","published_at":"2023-02-19T16:30:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.248","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.248","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.248","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.248","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.248/manifests"},{"name":"v0.0.247","sha":"f8d46d09ef5fab7d1bdb7b09d6e75b1ba3295bbc","kind":"commit","published_at":"2023-02-15T20:19:03.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.247","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.247","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.247","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.247","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.247/manifests"},{"name":"v0.0.246","sha":"c21a5912b91f1c11085a1b89066ef409c2e833bb","kind":"commit","published_at":"2023-02-13T03:33:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.246","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.246","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.246","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.246","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.246/manifests"},{"name":"v0.0.245","sha":"24faabf1f4e30712f245ee96201437ace35c6ce1","kind":"commit","published_at":"2023-02-11T03:15:27.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.245","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.245","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.245","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.245","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.245/manifests"},{"name":"v0.0.244","sha":"125615af1209de6c3be226b10b8f55a5eccd5aea","kind":"commit","published_at":"2023-02-08T22:28:59.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.244","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.244","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.244","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.244","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.244/manifests"},{"name":"v0.0.243","sha":"bf718fdf26631cc30bca7d8661aa405ee2714d31","kind":"commit","published_at":"2023-02-07T02:22:54.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.243","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.243","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.243","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.243","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.243/manifests"},{"name":"v0.0.242","sha":"2dd04dd6a31135e1a7f19e6ef3ec188a3164e921","kind":"commit","published_at":"2023-02-06T21:34:47.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.242","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.242","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.242","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.242","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.242/manifests"},{"name":"v0.0.241","sha":"7d4f0a8320d48f315674ec52d30e2883f68d20b3","kind":"commit","published_at":"2023-02-04T00:25:12.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.241","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.241","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.241","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.241","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.241/manifests"},{"name":"v0.0.240","sha":"651f6b6bceae09f310ba143aac30ca3330da2411","kind":"commit","published_at":"2023-02-02T17:45:23.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.240","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.240","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.240","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.240","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.240/manifests"},{"name":"v0.0.239","sha":"c15595325c7f3401c91314e74ed3bee7bf3eb3b2","kind":"commit","published_at":"2023-02-01T00:06:22.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.239","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.239","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.239","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.239","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.239/manifests"},{"name":"v0.0.238","sha":"e8810eae649a43394695d1f8e733b6f6f7a272c5","kind":"commit","published_at":"2023-01-30T23:49:11.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.238","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.238","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.238","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.238","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.238/manifests"},{"name":"v0.0.237","sha":"add7fefeb5f9d6d56980d8d6f52cb0e67658e827","kind":"commit","published_at":"2023-01-28T15:52:14.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.237","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.237","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.237","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.237","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.237/manifests"},{"name":"v0.0.236","sha":"685d9ab84870ffaa4f1c62306f4666b83668e5f6","kind":"commit","published_at":"2023-01-26T23:47:00.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.236","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.236","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.236","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.236","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.236/manifests"},{"name":"v0.0.235","sha":"edd0e16a029a1a0f925a24c6ccec53efc8c576a9","kind":"commit","published_at":"2023-01-25T23:28:27.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.235","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.235","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.235","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.235","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.235/manifests"},{"name":"v0.0.234","sha":"9b07d0bd9288e9678078fbd8e6d52923daf1b0af","kind":"commit","published_at":"2023-01-25T21:55:57.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.234","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.234","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.234","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.234","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.234/manifests"},{"name":"v0.0.233","sha":"605416922d193d2261bc8b5ed0de8741691a018d","kind":"commit","published_at":"2023-01-24T15:46:49.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.233","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.233","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.233","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.233","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.233/manifests"},{"name":"v0.0.232","sha":"d645a19e0a1375613744246e7395b8cd2e960ddc","kind":"commit","published_at":"2023-01-24T14:49:07.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.232","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.232","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.232","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.232","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.232/manifests"},{"name":"v0.0.231","sha":"1c3265ef98bd76ade661c14344f9667854e0997f","kind":"commit","published_at":"2023-01-23T17:51:09.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.231","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.231","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.231","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.231","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.231/manifests"},{"name":"v0.0.230","sha":"23b622943e9ef8b926124c4bff2ad90d654a3fa9","kind":"commit","published_at":"2023-01-22T18:58:41.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.230","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.230","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.230","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.230","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.230/manifests"},{"name":"v0.0.229","sha":"84300e00ff8bd7c71f6619d699e31df597b3b581","kind":"commit","published_at":"2023-01-21T18:18:06.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.229","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.229","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.229","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.229","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.229/manifests"},{"name":"v0.0.228","sha":"9e704a7c639f8ad5f7751fb062c46144caec5bb7","kind":"commit","published_at":"2023-01-20T18:17:19.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.228","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.228","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.228","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.228","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.228/manifests"},{"name":"v0.0.227","sha":"cf56955ba6c8214a53aa39a93c718eb7d72e4878","kind":"commit","published_at":"2023-01-20T04:24:52.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.227","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.227","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.227","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.227","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.227/manifests"},{"name":"v0.0.226","sha":"d8645acd1f8507d9b16a2dba7434790c745beec8","kind":"commit","published_at":"2023-01-19T01:54:38.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.226","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.226","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.226","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.226","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.226/manifests"},{"name":"v0.0.225","sha":"cdb470081308117b67022c5fa4cd4a1b333e2e78","kind":"commit","published_at":"2023-01-18T05:22:48.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.225","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.225","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.225","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.225","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.225/manifests"},{"name":"v0.0.224","sha":"74a8a218f37b7331ff9d2e36f8d04585ff22cc89","kind":"commit","published_at":"2023-01-17T04:43:14.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.224","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.224","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.224","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.224","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.224/manifests"},{"name":"v0.0.223","sha":"3a3a5fcd818998b94bddf59a5a815ee638772f3b","kind":"commit","published_at":"2023-01-16T03:45:14.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.223","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.223","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.223","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.223","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.223/manifests"},{"name":"v0.0.222","sha":"e3cc918b933175b9431905e10a0f50e28e7f0527","kind":"commit","published_at":"2023-01-15T04:34:53.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.222","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.222","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.222","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.222","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.222/manifests"},{"name":"v0.0.221","sha":"931d41bff1745a166e9a905af9c0aa62046b6b45","kind":"commit","published_at":"2023-01-14T04:56:29.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.221","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.221","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.221","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.221","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.221/manifests"},{"name":"v0.0.220","sha":"9aeb5df5febeceb6d3931d403a490e1de9913bef","kind":"commit","published_at":"2023-01-12T22:57:04.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.220","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.220","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.220","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.220","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.220/manifests"},{"name":"v0.0.219","sha":"d8162ce79dec75f1a111d538347b0ce9f88b6bce","kind":"commit","published_at":"2023-01-12T04:46:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.219","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.219","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.219","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.219","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.219/manifests"},{"name":"v0.0.218","sha":"cfbd068dd5f8abc2e5e592179bfd988fc29c6518","kind":"commit","published_at":"2023-01-11T02:28:23.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.218","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.218","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.218","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.218","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.218/manifests"},{"name":"v0.0.217","sha":"edab268d50bd106726b4bfcd73aa6fa592613ee6","kind":"commit","published_at":"2023-01-10T04:26:22.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.217","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.217","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.217","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.217","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.217/manifests"},{"name":"v0.0.216","sha":"8a26c8b4e08a8a2002f17c979d60ec69f7fdeaa5","kind":"commit","published_at":"2023-01-09T17:58:07.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.216","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.216","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.216","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.216","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.216/manifests"},{"name":"v0.0.215","sha":"0152814a00586d32fb0eba3a667935ee3cba720a","kind":"commit","published_at":"2023-01-08T03:17:29.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.215","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.215","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.215","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.215","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.215/manifests"},{"name":"v0.0.214","sha":"98856e05d6d3783e4e51a50d12e58b95b97a9cac","kind":"commit","published_at":"2023-01-07T20:49:59.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.214","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.214","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.214","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.214","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.214/manifests"},{"name":"v0.0.213","sha":"f1c3ebfe0f241d79ae4675f0b1b113199dbe0414","kind":"commit","published_at":"2023-01-07T05:30:56.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.213","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.213","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.213","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.213","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.213/manifests"},{"name":"v0.0.212","sha":"ee4cae97d5593168383a049c7f49134a6d93cda3","kind":"commit","published_at":"2023-01-06T02:25:42.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.212","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.212","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.212","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.212","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.212/manifests"},{"name":"v0.0.211","sha":"7b59cd2d32cc033c0f0f52e21854771cd2a5fa1d","kind":"commit","published_at":"2023-01-05T04:13:04.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.211","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.211","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.211","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.211","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.211/manifests"},{"name":"v0.0.210","sha":"0a0e1926f238322f98df3b2516c3795f4bd1ae0b","kind":"commit","published_at":"2023-01-04T12:05:13.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.210","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.210","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.210","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.210","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.210/manifests"},{"name":"v0.0.209","sha":"e9a236f740d99e271218c477278f1292f986b3af","kind":"commit","published_at":"2023-01-03T13:27:28.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.209","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.209","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.209","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.209","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.209/manifests"},{"name":"v0.0.208","sha":"8b277138de351801560d903658958b7967f80dde","kind":"commit","published_at":"2023-01-03T04:19:03.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.208","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.208","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.208","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.208","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.208/manifests"},{"name":"v0.0.207","sha":"f74050e5b17f1373962f6faa61f784db1fc1bdcb","kind":"commit","published_at":"2023-01-02T19:39:32.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.207","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.207","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.207","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.207","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.207/manifests"},{"name":"v0.0.206","sha":"2315db7d133ca57964a0c8fd7fda161ef435629a","kind":"commit","published_at":"2023-01-01T21:39:29.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.206","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.206","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.206","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.206","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.206/manifests"},{"name":"v0.0.205","sha":"0e8c2371679ffd623646ac13fb2e5f0c9acf8d86","kind":"commit","published_at":"2022-12-31T18:44:39.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.205","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.205","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.205","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.205","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.205/manifests"},{"name":"v0.0.204","sha":"0c215365aee6f736b6dd7040cb778564e346af76","kind":"commit","published_at":"2022-12-31T13:20:09.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.204","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.204","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.204","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.204","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.204/manifests"},{"name":"v0.0.203","sha":"74903f23d69172474116ec3e05d182cdf9179415","kind":"commit","published_at":"2022-12-30T20:33:30.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.203","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.203","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.203","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.203","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.203/manifests"},{"name":"v0.0.202","sha":"818582fe8afb5ca4be8d71bd53e088e374de34d6","kind":"commit","published_at":"2022-12-30T13:16:32.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.202","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.202","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.202","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.202","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.202/manifests"},{"name":"v0.0.201","sha":"16b10c42f0b26ee45354302050e2a47503c09b81","kind":"commit","published_at":"2022-12-30T04:12:28.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.201","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.201","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.201","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.201","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.201/manifests"},{"name":"v0.0.200","sha":"118a93260a8b2ebf4cf43f834a4502368ee19ab3","kind":"commit","published_at":"2022-12-29T18:31:23.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.200","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.200","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.200","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.200","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.200/manifests"},{"name":"v0.0.199","sha":"057414ddd4ea2970cb711165c58a50d244616e7c","kind":"commit","published_at":"2022-12-29T01:58:43.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.199","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.199","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.199","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.199","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.199/manifests"},{"name":"v0.0.198","sha":"1822b57ed587bab9c6e594065c964a79450f4556","kind":"commit","published_at":"2022-12-28T02:57:32.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.198","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.198","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.198","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.198","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.198/manifests"},{"name":"v0.0.196","sha":"0a60eb0aca03ad8dceea25fca8df03f8cff9660e","kind":"commit","published_at":"2022-12-27T17:12:28.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.196","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.196","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.196","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.196","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.196/manifests"},{"name":"v0.0.195","sha":"1e4b1533ad33dc671c8ab74aa54ed63e20683b1f","kind":"commit","published_at":"2022-12-27T01:41:39.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.195","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.195","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.195","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.195","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.195/manifests"},{"name":"v0.0.194","sha":"28c45eb2a3364110bcf73ff9d793c1f4b24dee94","kind":"commit","published_at":"2022-12-26T01:21:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.194","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.194","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.194","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.194","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.194/manifests"},{"name":"v0.0.193","sha":"cc2110449cba6174cdb8db4def2b94276e464641","kind":"commit","published_at":"2022-12-24T20:06:12.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.193","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.193","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.193","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.193","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.193/manifests"},{"name":"v0.0.192","sha":"51bda28a7d1047367610c69dd5c6d9810a964c10","kind":"commit","published_at":"2022-12-22T22:31:31.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.192","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.192","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.192","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.192","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.192/manifests"},{"name":"v0.0.191","sha":"48e3c046b0423dff78dc18c181010d313f5c0f3f","kind":"commit","published_at":"2022-12-22T02:25:37.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.191","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.191","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.191","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.191","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.191/manifests"},{"name":"v0.0.190","sha":"20234c615676ae37ce9ad167d34a16382c357169","kind":"commit","published_at":"2022-12-21T21:01:48.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.190","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.190","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.190","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.190","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.190/manifests"},{"name":"v0.0.189","sha":"ef8fe31c0c24cd84198b0b5997f4ab6bf25d10a0","kind":"commit","published_at":"2022-12-20T18:26:17.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.189","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.189","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.189","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.189","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.189/manifests"},{"name":"v0.0.188","sha":"4107bc828d8fa11227c273a11815a2f0c7e30073","kind":"commit","published_at":"2022-12-19T17:18:06.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.188","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.188","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.188","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.188","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.188/manifests"},{"name":"v0.0.187","sha":"b5ab492a70daf003d92a573a15932fb30f24c3a6","kind":"commit","published_at":"2022-12-19T01:09:02.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.187","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.187","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.187","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.187","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.187/manifests"},{"name":"v0.0.186","sha":"1028ed3565140ad76d11bc99a76be1dc61471e4d","kind":"commit","published_at":"2022-12-18T19:30:30.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.186","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.186","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.186","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.186","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.186/manifests"},{"name":"v0.0.185","sha":"a2806eb8ef8f8e37aecb4090e48dfa54430c1006","kind":"commit","published_at":"2022-12-17T04:47:56.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.185","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.185","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.185","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.185","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.185/manifests"},{"name":"v0.0.184","sha":"1e19142d0e882e0f0ffa00004f95f77748bb849a","kind":"commit","published_at":"2022-12-16T19:36:25.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.184","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.184","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.184","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.184","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.184/manifests"},{"name":"v0.0.183","sha":"a9f56ee76efb46858c61e9b45420378ac2030ec6","kind":"commit","published_at":"2022-12-16T04:15:12.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.183","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.183","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.183","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.183","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.183/manifests"},{"name":"v0.0.182","sha":"1ea2e93f8e0f303f69b91f77caef85e20f9488f5","kind":"commit","published_at":"2022-12-15T03:57:22.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.182","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.182","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.182","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.182","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.182/manifests"},{"name":"v0.0.181","sha":"d814ebd21f970bb8190cd9077ab7969926d984af","kind":"commit","published_at":"2022-12-14T22:35:36.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.181","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.181","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.181","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.181","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.181/manifests"},{"name":"v0.0.180","sha":"854cd148428866f1a3588c314f5747a89e929d81","kind":"commit","published_at":"2022-12-14T18:21:10.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.180","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.180","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.180","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.180","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.180/manifests"},{"name":"v0.0.179","sha":"765d21c7b06e780fb91cbcc79909836883faf0dd","kind":"commit","published_at":"2022-12-13T15:17:16.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.179","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.179","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.179","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.179","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.179/manifests"},{"name":"v0.0.178","sha":"f3e11a30cb7ed46b12c016d9c39e9f34df907a02","kind":"commit","published_at":"2022-12-13T03:06:04.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.178","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.178","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.178","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.178","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.178/manifests"},{"name":"v0.0.177","sha":"19e9eb1af8a6410ff763ce1736eb6c3b896703eb","kind":"commit","published_at":"2022-12-12T03:38:52.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.177","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.177","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.177","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.177","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.177/manifests"},{"name":"v0.0.176","sha":"9161b866b5459f6bed076063f3635f5f8a63ad08","kind":"commit","published_at":"2022-12-11T15:19:50.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.176","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.176","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.176","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.176","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.176/manifests"},{"name":"v0.0.175","sha":"c86e52193c0e9fb3ddc967ce0cc22004f60b70c0","kind":"commit","published_at":"2022-12-11T02:23:19.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.175","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.175","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.175","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.175","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.175/manifests"},{"name":"v0.0.174","sha":"63b3e00c9706025c8de93ac7b1b54522e69d85f4","kind":"commit","published_at":"2022-12-10T17:08:48.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.174","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.174","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.174","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.174","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.174/manifests"},{"name":"v0.0.173","sha":"257bd7f1d70e1450365d5c1f0fc50c82e69b4f91","kind":"commit","published_at":"2022-12-10T04:23:12.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.173","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.173","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.173","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.173","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.173/manifests"},{"name":"v0.0.172","sha":"b35a804f9d7b0ddd26343b918463d9c506d676b3","kind":"commit","published_at":"2022-12-09T22:47:34.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.172","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.172","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.172","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.172","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.172/manifests"},{"name":"v0.0.171","sha":"dfd6225d8542a6b2839807aeee211ce285cf84a0","kind":"commit","published_at":"2022-12-09T04:18:48.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.171","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.171","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.171","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.171","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.171/manifests"},{"name":"v0.0.170","sha":"a710e35ebc66653e31e7c3b1e40709db355b4a01","kind":"commit","published_at":"2022-12-08T16:36:24.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.170","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.170","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.170","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.170","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.170/manifests"},{"name":"v0.0.169","sha":"5c8655f47941483e808dea6427a5d2bd5e666de9","kind":"commit","published_at":"2022-12-08T00:10:16.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.169","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.169","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.169","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.169","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.169/manifests"},{"name":"v0.0.168","sha":"4405a6a903a236e56d944b26a9a4a406667f4b3b","kind":"commit","published_at":"2022-12-07T18:18:40.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.168","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.168","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.168","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.168","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.168/manifests"},{"name":"v0.0.167","sha":"d698c6123e7aad89dbfa33fba71c6c5f39697aa8","kind":"commit","published_at":"2022-12-07T15:37:31.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.167","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.167","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.167","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.167","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.167/manifests"},{"name":"v0.0.166","sha":"80e2f0c92ebf295bced627f91e0238367ff6d057","kind":"commit","published_at":"2022-12-06T21:06:19.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.166","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.166","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.166","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.166","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.166/manifests"},{"name":"v0.0.165","sha":"f1d3e3698ac45c6b8d92b5c7c5ae5993cce045f2","kind":"commit","published_at":"2022-12-06T05:03:30.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.165","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.165","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.165","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.165","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.165/manifests"},{"name":"v0.0.164","sha":"f2ad9152245913aeb66b66e642961729e417d0ad","kind":"commit","published_at":"2022-12-06T04:37:22.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.164","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.164","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.164","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.164","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.164/manifests"},{"name":"v0.0.163","sha":"1339e2a002f78892a01fb0bd0388d3d735345daa","kind":"commit","published_at":"2022-12-06T01:45:24.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.163","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.163","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.163","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.163","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.163/manifests"},{"name":"v0.0.162","sha":"995994be3ea39c9cc8bb0c91762bd21b1935f2fd","kind":"commit","published_at":"2022-12-06T00:07:44.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.162","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.162","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.162","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.162","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.162/manifests"},{"name":"v0.0.161","sha":"4b41ae3f53c5d2010e1dca94e659c73e255735b7","kind":"commit","published_at":"2022-12-05T22:02:05.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.161","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.161","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.161","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.161","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.161/manifests"},{"name":"v0.0.160","sha":"40b7c64f7dbad8c824de4161bed20373dee52ab8","kind":"commit","published_at":"2022-12-05T17:56:38.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.160","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.160","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.160","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.160","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.160/manifests"},{"name":"v0.0.159","sha":"1d1662cb9c1b970396c341586a8c3d225f8588b8","kind":"commit","published_at":"2022-12-05T16:22:02.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.159","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.159","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.159","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.159","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.159/manifests"},{"name":"v0.0.158","sha":"7024ad7cc7d2d91ce4e1b1f7dd9098f1d0256654","kind":"commit","published_at":"2022-12-05T02:22:24.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.158","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.158","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.158","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.158","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.158/manifests"},{"name":"v0.0.157","sha":"5e9a8fcf53954d35efea69b55b8df9ce51b7cadf","kind":"commit","published_at":"2022-12-04T19:46:46.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.157","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.157","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.157","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.157","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.157/manifests"},{"name":"v0.0.156","sha":"d06dc4c72d2e263c6a25c5bf920cb9ded0c632e8","kind":"commit","published_at":"2022-12-04T15:22:09.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.156","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.156","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.156","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.156","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.156/manifests"},{"name":"v0.0.155","sha":"4b0c3e3bc90c4c291c3667ead8c94ed93ef9017a","kind":"commit","published_at":"2022-12-04T05:12:00.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.155","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.155","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.155","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.155","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.155/manifests"},{"name":"v0.0.154","sha":"b6b509811da0e96a6e5e458f8a91bef3d5b58259","kind":"commit","published_at":"2022-12-04T01:14:38.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.154","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.154","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.154","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.154","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.154/manifests"},{"name":"v0.0.153","sha":"e66b786229729c7d6033616954914dd663a54713","kind":"commit","published_at":"2022-12-03T22:05:39.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.153","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.153","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.153","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.153","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.153/manifests"},{"name":"v0.0.152","sha":"1a33ee3fc42cbbcd4480f9f07fc686bd4bb90d04","kind":"commit","published_at":"2022-12-02T18:23:00.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.152","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.152","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.152","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.152","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.152/manifests"},{"name":"v0.0.151","sha":"1a24d78f676761936738d01cfebb8eccc0e42339","kind":"commit","published_at":"2022-12-02T03:31:44.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.151","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.151","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.151","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.151","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.151/manifests"},{"name":"v0.0.150","sha":"d699bb7b86eace469a25a7f6a280ee7d091c4c93","kind":"commit","published_at":"2022-12-01T21:31:18.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.150","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.150","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.150","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.150","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.150/manifests"},{"name":"v0.0.149","sha":"6fa0f21227ef20d2b39eddd583f6d7cb009ca8ef","kind":"commit","published_at":"2022-11-30T05:51:36.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.149","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.149","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.149","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.149","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.149/manifests"},{"name":"v0.0.148","sha":"30ff4de9a3f0eaaddd0d8bf235ad4984b9895adb","kind":"commit","published_at":"2022-11-30T03:50:30.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.148","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.148","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.148","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.148","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.148/manifests"},{"name":"v0.0.147","sha":"2fe22a223b31321a1bf236a4227b59a23bd52cf1","kind":"commit","published_at":"2022-11-30T01:17:58.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.147","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.147","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.147","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.147","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.147/manifests"},{"name":"v0.0.146","sha":"0e6a38e6d8e306d173f14a3fa802626403d032c8","kind":"commit","published_at":"2022-11-29T03:27:41.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.146","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.146","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.146","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.146","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.146/manifests"},{"name":"v0.0.145","sha":"dca994d05f6608f4189b8963fe09af2ad813fec1","kind":"commit","published_at":"2022-11-29T01:57:58.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.145","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.145","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.145","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.145","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.145/manifests"},{"name":"v0.0.144","sha":"72453695d6810c732dd968a3864cbf322bbbfe66","kind":"commit","published_at":"2022-11-29T01:11:08.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.144","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.144","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.144","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.144","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.144/manifests"},{"name":"v0.0.143","sha":"ea9acda7321262b597194350d7b01eaff289481c","kind":"commit","published_at":"2022-11-28T20:42:25.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.143","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.143","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.143","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.143","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.143/manifests"},{"name":"v0.0.142","sha":"e2c4a098deee063f6d09b33c8923305c9ecdc156","kind":"commit","published_at":"2022-11-28T05:19:27.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.142","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.142","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.142","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.142","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.142/manifests"},{"name":"v0.0.141","sha":"9897f81cf349c657ef7a58d74a227e4c832ad504","kind":"commit","published_at":"2022-11-26T21:33:08.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.141","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.141","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.141","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.141","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.141/manifests"},{"name":"v0.0.140","sha":"14cf36f922ac99e8666091501d4be8f134ac5bf7","kind":"commit","published_at":"2022-11-26T20:05:46.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.140","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.140","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.140","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.140","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.140/manifests"},{"name":"v0.0.139","sha":"560558b814fa943bbfdc3989ea4134ecf0a91618","kind":"commit","published_at":"2022-11-25T23:38:26.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.139","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.139","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.139","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.139","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.139/manifests"},{"name":"v0.0.138","sha":"0b60242fb72902dcb5bbb38d6e96c77f18863659","kind":"commit","published_at":"2022-11-25T05:05:41.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.138","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.138","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.138","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.138","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.138/manifests"},{"name":"v0.0.137","sha":"68668a584bdcf3cf54256bf3353529d37890788d","kind":"commit","published_at":"2022-11-24T01:28:45.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.137","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.137","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.137","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.137","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.137/manifests"},{"name":"v0.0.136","sha":"58aac21a361287bb1749b590870b516421a1e0ab","kind":"commit","published_at":"2022-11-23T22:41:17.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.136","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.136","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.136","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.136","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.136/manifests"},{"name":"v0.0.135","sha":"66975876b294b0cb8d958c0e3685b4bb0f0c8d99","kind":"commit","published_at":"2022-11-23T00:21:53.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.135","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.135","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.135","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.135","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.135/manifests"},{"name":"v0.0.134","sha":"59615486d8ad47027b6919b148ecb34d9450444c","kind":"commit","published_at":"2022-11-21T21:15:23.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.134","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.134","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.134","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.134","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.134/manifests"},{"name":"v0.0.133","sha":"0b9188011b7f5c4b0df74283860ab9140ee0db55","kind":"commit","published_at":"2022-11-21T18:39:37.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.133","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.133","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.133","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.133","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.133/manifests"},{"name":"v0.0.132","sha":"38f896502abb736acefec0876d23e34ad5fb5aef","kind":"commit","published_at":"2022-11-20T23:10:13.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.132","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.132","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.132","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.132","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.132/manifests"},{"name":"v0.0.131","sha":"6b4aedb3661a35cd39f86ad005c27c71b253f505","kind":"commit","published_at":"2022-11-20T18:40:58.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.131","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.131","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.131","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.131","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.131/manifests"},{"name":"v0.0.130","sha":"124782771ffe78656be7e3022b724cc9ce93acb2","kind":"commit","published_at":"2022-11-20T15:37:19.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.130","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.130","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.130","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.130","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.130/manifests"},{"name":"v0.0.129","sha":"4be09b45eaba8a605f93f2f98d4eeba0d16c4bc8","kind":"commit","published_at":"2022-11-20T00:52:40.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.129","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.129","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.129","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.129","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.129/manifests"},{"name":"v0.0.128","sha":"89afc9db748b136c437de98ad66be369ae60a801","kind":"commit","published_at":"2022-11-18T23:50:03.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.128","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.128","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.128","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.128","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.128/manifests"},{"name":"v0.0.127","sha":"49559da54e013b46314c5fdd1473de4dcd04c8c3","kind":"commit","published_at":"2022-11-18T18:31:22.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.127","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.127","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.127","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.127","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.127/manifests"},{"name":"v0.0.126","sha":"6a6f4651aaa22dc756ff47386f457e19da17a0b3","kind":"commit","published_at":"2022-11-17T22:19:19.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.126","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.126","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.126","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.126","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.126/manifests"},{"name":"v0.0.125","sha":"aafddae6441802b058094a140358035edbf419e7","kind":"commit","published_at":"2022-11-17T17:07:05.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.125","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.125","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.125","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.125","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.125/manifests"},{"name":"v0.0.124","sha":"90bfc4ec4df3b7ed859c2b77fe53c0ea60dbb03a","kind":"commit","published_at":"2022-11-16T17:25:24.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.124","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.124","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.124","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.124","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.124/manifests"},{"name":"v0.0.123","sha":"8ec14e7ee2a7e7b73865f3fa4965f7e7fdb47f14","kind":"commit","published_at":"2022-11-16T17:06:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.123","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.123","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.123","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.123","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.123/manifests"},{"name":"v0.0.122","sha":"2c89a19f769f31adfeb3098eb3a2eae734116d81","kind":"commit","published_at":"2022-11-16T03:03:46.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.122","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.122","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.122","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.122","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.122/manifests"},{"name":"v0.0.121","sha":"9d136de55a14ca5901ef42a7cd991d8eaf5aeda3","kind":"commit","published_at":"2022-11-15T21:18:39.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.121","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.121","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.121","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.121","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.121/manifests"},{"name":"v0.0.120","sha":"3c2291347012c3b1e4925c82d25e043ca5d90ed1","kind":"commit","published_at":"2022-11-15T03:53:36.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.120","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.120","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.120","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.120","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.120/manifests"},{"name":"v0.0.119","sha":"058a5276b09b8e436b52284c6ce5ea51baa1e1c6","kind":"commit","published_at":"2022-11-15T02:45:41.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.119","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.119","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.119","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.119","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.119/manifests"},{"name":"v0.0.118","sha":"fea029ae356622c0f29ff81620849117a52ee00a","kind":"commit","published_at":"2022-11-14T18:21:27.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.118","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.118","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.118","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.118","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.118/manifests"},{"name":"v0.0.117","sha":"08ca8788a78c4ad628e6ef84d770cd94ec254f71","kind":"commit","published_at":"2022-11-13T21:10:29.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.117","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.117","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.117","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.117","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.117/manifests"},{"name":"v0.0.116","sha":"a310aed12894d963166aa2693a5d90cdccc7a1b5","kind":"commit","published_at":"2022-11-13T18:46:05.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.116","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.116","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.116","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.116","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.116/manifests"},{"name":"v0.0.115","sha":"695b06ba60103d2d7681e7fe2e8be64c3d2de069","kind":"commit","published_at":"2022-11-12T21:46:26.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.115","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.115","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.115","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.115","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.115/manifests"},{"name":"v0.0.114","sha":"da9ae6a42ae2c0dc31ae039cacd560a050eb6f74","kind":"commit","published_at":"2022-11-12T16:55:18.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.114","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.114","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.114","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.114","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.114/manifests"},{"name":"v0.0.113","sha":"a21fe716f2f77162dfd11b2a532aca707ac96fb5","kind":"commit","published_at":"2022-11-12T03:42:02.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.113","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.113","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.113","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.113","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.113/manifests"},{"name":"v0.0.112","sha":"2e7878ff486351a20616d37f8714ed54b415daca","kind":"commit","published_at":"2022-11-11T22:13:04.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.112","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.112","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.112","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.112","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.112/manifests"},{"name":"v0.0.111","sha":"560c00ff9d45228ed380b1e459fb29c415173703","kind":"commit","published_at":"2022-11-11T17:38:23.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.111","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.111","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.111","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.111","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.111/manifests"},{"name":"v0.0.110","sha":"8cf745045f767944bcbee4e63b9a72b97707dcab","kind":"commit","published_at":"2022-11-11T00:22:45.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.110","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.110","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.110","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.110","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.110/manifests"},{"name":"v0.0.109","sha":"9d8cd2d2feb7f35e478086c56f5f601169d4f4ec","kind":"commit","published_at":"2022-11-10T15:54:27.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.109","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.109","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.109","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.109","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.109/manifests"},{"name":"v0.0.108","sha":"f572acab30935a0d50f64f86311aad9997154018","kind":"commit","published_at":"2022-11-08T18:20:35.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.108","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.108","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.108","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.108","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.108/manifests"},{"name":"v0.0.107","sha":"43383bb6967f29988969c164d98a211cf67147ec","kind":"commit","published_at":"2022-11-07T21:39:03.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.107","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.107","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.107","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.107","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.107/manifests"},{"name":"v0.0.106","sha":"16c5ac1e9171b764ea4015f1352188051b2fe5e1","kind":"commit","published_at":"2022-11-07T20:32:54.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.106","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.106","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.106","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.106","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.106/manifests"},{"name":"v0.0.105","sha":"7f77ed0f8676d9ef7477ef707f0b1f747ef9e5c0","kind":"commit","published_at":"2022-11-07T02:17:00.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.105","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.105","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.105","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.105","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.105/manifests"},{"name":"v0.0.104","sha":"050f34dd2572a85557638adb96e0d66a35604de7","kind":"commit","published_at":"2022-11-06T20:31:10.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.104","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.104","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.104","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.104","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.104/manifests"},{"name":"v0.0.103","sha":"22cfd03b13bd7258d82eee6cffc8d023d2933434","kind":"commit","published_at":"2022-11-05T23:53:27.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.103","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.103","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.103","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.103","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.103/manifests"},{"name":"v0.0.102","sha":"b335a6a5ecd39febabc97dc2db20b23f4e722388","kind":"commit","published_at":"2022-11-05T18:13:02.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.102","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.102","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.102","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.102","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.102/manifests"},{"name":"v0.0.100","sha":"34c91224d7e956a47b0c7ac597db15b40ee06caa","kind":"commit","published_at":"2022-11-04T16:10:17.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.100","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.100","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.100","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.100","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.100/manifests"},{"name":"v0.0.99","sha":"5576db3d5ab40a948068b7d30e9147036f750151","kind":"commit","published_at":"2022-11-03T15:47:15.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.99","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.99","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.99","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.99","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.99/manifests"},{"name":"v0.0.98","sha":"22991e3e0edb9e495275c0af594fdec96c12ebca","kind":"commit","published_at":"2022-11-03T14:09:33.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.98","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.98","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.98","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.98","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.98/manifests"},{"name":"v0.0.97","sha":"e00bcd19f51f33a399751d2a7b854d59024473ca","kind":"commit","published_at":"2022-11-03T02:38:43.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.97","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.97","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.97","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.97","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.97/manifests"},{"name":"v0.0.96","sha":"e473df1fe902cd5b8845dfe55fd43cea4bee75df","kind":"commit","published_at":"2022-11-03T02:10:56.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.96","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.96","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.96","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.96","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.96/manifests"},{"name":"v0.0.95","sha":"f9def0a139788c8b6571286be7d8b31de9f173d4","kind":"commit","published_at":"2022-11-02T13:03:34.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.95","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.95","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.95","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.95","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.95/manifests"},{"name":"v0.0.94","sha":"2d83f99dbfa2518df6a4a058a13b39015a10551f","kind":"commit","published_at":"2022-11-01T20:38:59.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.94","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.94","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.94","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.94","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.94/manifests"},{"name":"v0.0.93","sha":"062c41b6f5d8b91fdf4990fc030c8a7d351af783","kind":"commit","published_at":"2022-10-31T13:20:39.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.93","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.93","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.93","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.93","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.93/manifests"},{"name":"v0.0.92","sha":"138b06c98a7ddfcf5f4c30a79706c5956103fb47","kind":"commit","published_at":"2022-10-30T22:04:30.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.92","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.92","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.92","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.92","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.92/manifests"},{"name":"v0.0.91","sha":"f84c1f1fa161dd65cc4101f326d74b00e677fe8f","kind":"commit","published_at":"2022-10-29T22:49:26.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.91","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.91","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.91","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.91","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.91/manifests"},{"name":"v0.0.90","sha":"5a3f06bab10491f5b749463fc13765b6586d4b89","kind":"commit","published_at":"2022-10-29T22:34:38.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.90","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.90","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.90","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.90","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.90/manifests"},{"name":"v0.0.89","sha":"934db3d179a98d3064dec42e80fdea9f4ca17d63","kind":"commit","published_at":"2022-10-29T19:39:17.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.89","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.89","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.89","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.89","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.89/manifests"},{"name":"v0.0.88","sha":"ae5ad6a4acaaa78ce6b5e7ab70be6de0351f9373","kind":"commit","published_at":"2022-10-28T23:11:04.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.88","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.88","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.88","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.88","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.88/manifests"},{"name":"v0.0.87","sha":"9a799eb4e6ffc44b7aa07de2c429262cc192d938","kind":"commit","published_at":"2022-10-28T23:00:03.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.87","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.87","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.87","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.87","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.87/manifests"},{"name":"v0.0.86","sha":"3f20cea402fd7692dff6eccd41681902951f41f8","kind":"commit","published_at":"2022-10-27T17:09:57.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.86","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.86","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.86","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.86","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.86/manifests"},{"name":"v0.0.85","sha":"05fbd1a283d2de1b12a003f569e81b9b547724e0","kind":"commit","published_at":"2022-10-26T23:13:04.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.85","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.85","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.85","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.85","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.85/manifests"},{"name":"v0.0.84","sha":"a9bcc1579723594cc62ecdfc37970302a760bc18","kind":"commit","published_at":"2022-10-26T16:01:55.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.84","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.84","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.84","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.84","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.84/manifests"},{"name":"v0.0.83","sha":"db3c847771364dc592019d80c11518fa3121e951","kind":"commit","published_at":"2022-10-26T01:24:13.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.83","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.83","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.83","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.83","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.83/manifests"},{"name":"v0.0.82","sha":"c72b8e8d1e15189cc6ea2879a8d8739730373acc","kind":"commit","published_at":"2022-10-21T16:15:19.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.82","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.82","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.82","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.82","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.82/manifests"},{"name":"v0.0.81","sha":"e53b9807f6817cd6c00e920f2da3b9ca0fef3b2c","kind":"commit","published_at":"2022-10-18T01:43:49.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.81","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.81","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.81","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.81","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.81/manifests"},{"name":"v0.0.80","sha":"659a28de02713e2b0973d7d6ee3c1adfa781519e","kind":"commit","published_at":"2022-10-17T21:02:44.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.80","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.80","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.80","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.80","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.80/manifests"},{"name":"v0.0.79","sha":"cf0d19836569791ba6384d94b26e0aee577cffd4","kind":"commit","published_at":"2022-10-17T01:39:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.79","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.79","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.79","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.79","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.79/manifests"},{"name":"v0.0.78","sha":"6ee30758676e592894e53248edfeafe502db8651","kind":"commit","published_at":"2022-10-17T01:28:25.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.78","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.78","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.78","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.78","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.78/manifests"},{"name":"v0.0.77","sha":"56f69ce71eb0dacd55ccd871f79c5c7f6bf1c254","kind":"commit","published_at":"2022-10-16T17:43:52.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.77","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.77","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.77","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.77","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.77/manifests"},{"name":"v0.0.76","sha":"e2aedc5ba83883cdf1b9caae6b593b3d0c744704","kind":"commit","published_at":"2022-10-15T21:22:12.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.76","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.76","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.76","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.76","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.76/manifests"},{"name":"v0.0.75","sha":"3e8ef5b40fa189ce151bde70d80bab2e24372900","kind":"commit","published_at":"2022-10-14T18:42:57.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.75","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.75","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.75","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.75","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.75/manifests"},{"name":"v0.0.74","sha":"6a8e31b2ff8bfd03afdfb39f9c146423697cef58","kind":"commit","published_at":"2022-10-14T16:36:44.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.74","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.74","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.74","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.74","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.74/manifests"},{"name":"v0.0.73","sha":"3e28d6de04161c2c99ae3996ebec979ccac456a9","kind":"commit","published_at":"2022-10-14T14:18:42.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.73","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.73","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.73","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.73","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.73/manifests"},{"name":"v0.0.72","sha":"46e1b16472bf150106b05f7beda6c8e98f60e059","kind":"commit","published_at":"2022-10-13T02:43:29.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.72","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.72","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.72","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.72","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.72/manifests"},{"name":"v0.0.71","sha":"2f69be0d412a15e9b6aa0b8b48e7956ba6ffdf5d","kind":"commit","published_at":"2022-10-12T21:14:28.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.71","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.71","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.71","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.71","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.71/manifests"},{"name":"v0.0.70","sha":"e08e1caf71a308c6108706bd169149a3e7d6433a","kind":"commit","published_at":"2022-10-12T16:59:14.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.70","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.70","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.70","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.70","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.70/manifests"},{"name":"v0.0.69","sha":"71802f8861e71865bfa4d13b1e8f3aca8ed61db9","kind":"commit","published_at":"2022-10-11T16:54:56.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.69","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.69","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.69","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.69","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.69/manifests"},{"name":"v0.0.68","sha":"4730911b25c1c147054f24cb97628ce8bfec4473","kind":"commit","published_at":"2022-10-10T20:50:09.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.68","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.68","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.68","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.68","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.68/manifests"},{"name":"v0.0.67","sha":"e1b711d9c696aa6435cd85bb154e9f76343cf8c5","kind":"commit","published_at":"2022-10-10T16:55:04.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.67","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.67","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.67","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.67","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.67/manifests"},{"name":"v0.0.66","sha":"5a06fb28fd91f96b58266a0529407072692563a7","kind":"commit","published_at":"2022-10-10T14:03:59.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.66","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.66","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.66","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.66","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.66/manifests"},{"name":"v0.0.65","sha":"2774194b039112507fca2c29bb6c6b851d04f22e","kind":"commit","published_at":"2022-10-10T02:14:04.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.65","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.65","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.65","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.65","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.65/manifests"},{"name":"v0.0.64","sha":"10b250ee5738215ebb8a59888919df521d992bd3","kind":"commit","published_at":"2022-10-09T21:38:09.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.64","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.64","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.64","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.64","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.64/manifests"},{"name":"v0.0.63","sha":"129e2b6ad3c709c3be7e626bf71d411f1fedce61","kind":"commit","published_at":"2022-10-09T02:51:49.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.63","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.63","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.63","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.63","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.63/manifests"},{"name":"v0.0.62","sha":"e1abe37c6a2a15ff30a6391ab3c34e5698d72645","kind":"commit","published_at":"2022-10-09T00:28:38.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.62","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.62","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.62","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.62","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.62/manifests"},{"name":"v0.0.61","sha":"c62727db42d2af328fee50b1e5a1ebb9a609a848","kind":"commit","published_at":"2022-10-08T21:25:36.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.61","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.61","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.61","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.61","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.61/manifests"},{"name":"v0.0.60","sha":"dd496c7b5217327d97255558e6219f6e8093baab","kind":"commit","published_at":"2022-10-07T21:36:33.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.60","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.60","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.60","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.60","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.60/manifests"},{"name":"v0.0.59","sha":"46457882054cf7bc1a8eb2fd1acb7d46a5d31d2a","kind":"commit","published_at":"2022-10-07T18:55:23.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.59","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.59","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.59","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.59","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.59/manifests"},{"name":"v0.0.58","sha":"f17d3b3c44e6be21b68d5a9190ea912ab4f06417","kind":"commit","published_at":"2022-10-07T16:14:03.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.58","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.58","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.58","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.58","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.58/manifests"},{"name":"v0.0.57","sha":"82cc139d2d19c6128204cb9ea137fae0e26d9605","kind":"commit","published_at":"2022-10-06T13:16:56.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.57","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.57","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.57","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.57","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.57/manifests"},{"name":"v0.0.56","sha":"aba01745f58fdf6fddf4032dd85ed22ba9ec368d","kind":"commit","published_at":"2022-10-05T15:58:54.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.56","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.56","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.56","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.56","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.56/manifests"},{"name":"v0.0.55","sha":"9b564c9cf45b76e7c08198370430a3a9aaf5102c","kind":"commit","published_at":"2022-10-05T00:07:31.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.55","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.55","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.55","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.55","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.55/manifests"},{"name":"v0.0.54","sha":"03e1397427a52e74e5d5c90bc18e349c988d9755","kind":"commit","published_at":"2022-10-04T18:32:06.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.54","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.54","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.54","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.54","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.54/manifests"},{"name":"v0.0.53","sha":"406491a3a26ebd90fbeea7e4232e43d8b7476215","kind":"commit","published_at":"2022-10-04T12:56:46.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.53","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.53","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.53","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.53","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.53/manifests"},{"name":"v0.0.52","sha":"31a0b2027183f8ee21f08e8e524586e4d6559c94","kind":"commit","published_at":"2022-10-03T19:22:58.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.52","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.52","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.52","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.52","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.52/manifests"},{"name":"v0.0.51","sha":"64d8e255289126e433e12693a1a92ba113460c2f","kind":"commit","published_at":"2022-10-03T18:08:39.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.51","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.51","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.51","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.51","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.51/manifests"},{"name":"v0.0.50","sha":"4819e19ba2316c42b721f3b48dbc2941150d6387","kind":"commit","published_at":"2022-10-03T00:43:30.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.50","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.50","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.50","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.50","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.50/manifests"},{"name":"v0.0.49","sha":"1e36c109c6c6f9e27b1377e75dcd6670c722bbd1","kind":"commit","published_at":"2022-09-30T13:15:32.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.49","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.49","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.49","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.49","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.49/manifests"},{"name":"v0.0.48","sha":"6fef4db433e8b160366ab86059013be28a56fb3d","kind":"commit","published_at":"2022-09-29T20:40:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.48","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.48","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.48","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.48","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.48/manifests"},{"name":"v0.0.47","sha":"c7349b69c12b7511d48fc45390eac8d7282062a5","kind":"commit","published_at":"2022-09-29T02:30:48.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.47","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.47","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.47","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.47","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.47/manifests"},{"name":"v0.0.46","sha":"949e4d407769f4644dc1a5a04dcbb69c344091dc","kind":"commit","published_at":"2022-09-24T17:10:10.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.46","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.46","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.46","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.46","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.46/manifests"},{"name":"v0.0.45","sha":"b8f517c70ea35bf8d518326ad2d448218f81c3cf","kind":"commit","published_at":"2022-09-22T18:11:09.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.45","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.45","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.45","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.45","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.45/manifests"},{"name":"v0.0.44","sha":"36fcfad56ab70b613740115065e72dd95db14e5b","kind":"commit","published_at":"2022-09-21T17:44:49.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.44","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.44","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.44","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.44","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.44/manifests"},{"name":"v0.0.43","sha":"e4f571ea6166c2172f0c3d69bb3ef3c8f91e2f9f","kind":"commit","published_at":"2022-09-20T16:26:49.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.43","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.43","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.43","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.43","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.43/manifests"},{"name":"v0.0.42","sha":"f53c4fc22183a7f48127cf16057a7ab748f29351","kind":"commit","published_at":"2022-09-20T03:14:17.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.42","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.42","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.42","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.42","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.42/manifests"},{"name":"v0.0.41","sha":"27cc7e236c70bed8bba48c48bd440e7e4277683c","kind":"commit","published_at":"2022-09-20T03:06:39.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.41","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.41","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.41","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.41","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.41/manifests"},{"name":"v0.0.40","sha":"3937885f3723d847a2b5b04bcaef3da0bf0d57ff","kind":"commit","published_at":"2022-09-16T08:57:21.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.40","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.40","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.40","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.40","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.40/manifests"},{"name":"v0.0.39","sha":"06e5b3e457e1c48e34490bab6e73cb718367faeb","kind":"commit","published_at":"2022-09-16T01:41:14.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.39","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.39","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.39","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.39","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.39/manifests"},{"name":"v0.0.38","sha":"a2df89dedd4c08dbd22bb5eb701f44b116564e0e","kind":"commit","published_at":"2022-09-15T02:38:42.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.38","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.38","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.38","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.38","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.38/manifests"},{"name":"v0.0.37","sha":"5f77b420cd5310149134c193247811b93335f687","kind":"commit","published_at":"2022-09-13T01:35:08.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.37","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.37","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.37","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.37","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.37/manifests"},{"name":"v0.0.36","sha":"062d7081a0a84531dadf70acc2f75776ccce0027","kind":"commit","published_at":"2022-09-12T15:16:26.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.36","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.36","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.36","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.36","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.36/manifests"},{"name":"v0.0.35","sha":"546be5692addaef7209b96d50f6734457ba0c719","kind":"commit","published_at":"2022-09-12T01:54:00.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.35","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.35","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.35","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.35","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.35/manifests"},{"name":"v0.0.34","sha":"5f4a62aa4089043f871d93deb85c10988b8ed353","kind":"commit","published_at":"2022-09-11T22:05:52.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.34","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.34","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.34","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.34","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.34/manifests"},{"name":"v0.0.33","sha":"81ae3bfc948a1f73c1f8989ad18f7dee0fe84da9","kind":"commit","published_at":"2022-09-11T14:45:02.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.33","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.33","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.33","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.33","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.33/manifests"},{"name":"v0.0.32","sha":"8698c06c36944374d69eb2b5bdb90a13aa5bc89e","kind":"commit","published_at":"2022-09-10T19:21:01.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.32","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.32","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.32","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.32","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.32/manifests"},{"name":"v0.0.31","sha":"4fc68e0310d99e1ed778e4fad13739e5b532f7d8","kind":"commit","published_at":"2022-09-10T17:05:15.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.31","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.31","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.31","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.31","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.31/manifests"},{"name":"v0.0.30","sha":"7c17785eac647872c1c16bb8516c59c2d74e5e15","kind":"commit","published_at":"2022-09-08T15:42:45.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.30","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.30","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.30","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.30","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.30/manifests"},{"name":"v0.0.29","sha":"55d1f34bae2edf951ae64955c824c8210bb8c55e","kind":"commit","published_at":"2022-09-07T02:14:12.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.29","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.29","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.29","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.29","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.29/manifests"},{"name":"v0.0.28","sha":"b44d6c2c44c101e3e64853843a2a6345117d7d48","kind":"commit","published_at":"2022-09-06T18:20:02.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.28","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.28","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.28","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.28","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.28/manifests"},{"name":"v0.0.27","sha":"c1eeae90f1b2c627744fde3d890fd871b39874e4","kind":"commit","published_at":"2022-09-06T14:23:48.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.27","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.27","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.27","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.27","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.27/manifests"},{"name":"v0.0.26","sha":"45db571935ac018b46bcb8f4ee2089cdf742bf1a","kind":"commit","published_at":"2022-09-05T16:28:27.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.26","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.26","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.26","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.26","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.26/manifests"},{"name":"v0.0.25","sha":"4319bd17554e0dd0f8de1dbbebd706bc7adf236e","kind":"commit","published_at":"2022-09-03T16:09:11.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.25","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.25","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.25","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.25/manifests"},{"name":"v0.0.24","sha":"26e1f4b6df3a861e0565a8c327e46c21a46c0a91","kind":"commit","published_at":"2022-09-02T14:18:40.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.24","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.24","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.24","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.24/manifests"},{"name":"v0.0.23","sha":"ba27e50164219772097eae003089ea2789ca13b9","kind":"commit","published_at":"2022-09-01T13:21:43.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.23","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.23","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.23","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.23/manifests"},{"name":"v0.0.22","sha":"64df4eb311d00903740f1d680d1e1c605182174c","kind":"commit","published_at":"2022-08-31T23:12:31.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.22","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.22","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.22","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.22/manifests"},{"name":"v0.0.21","sha":"556ae000788032cbf8db7ca4d7246c52fe98052a","kind":"commit","published_at":"2022-08-31T15:25:46.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.21","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.21","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.21","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.21/manifests"},{"name":"v0.0.20","sha":"1e67ce229fa70a268b7d1ca42a9cc3588941fa17","kind":"commit","published_at":"2022-08-30T18:41:28.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.20","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.20","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.20","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.20/manifests"},{"name":"v0.0.19","sha":"5dd53dcf88f771c1722efbec49c396fbc6aa0fea","kind":"commit","published_at":"2022-08-30T02:01:26.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.19","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.19","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.19","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.19/manifests"},{"name":"v0.0.18","sha":"c766174c555cfa856b36746c782de26cbf36cbe6","kind":"commit","published_at":"2022-08-29T21:13:26.000Z","download_url":"https://codeload.github.com/astral-sh/ruff/tar.gz/v0.0.18","html_url":"https://github.com/astral-sh/ruff/releases/tag/v0.0.18","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/astral-sh/ruff@v0.0.18","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/tags/v0.0.18/manifests"}]},"repo_metadata_updated_at":"2025-08-04T19:59:39.389Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":59.11520190023754,"dependent_packages_count":50.29691211401425,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":54.70605700712589},"purl":"pkg:conda/ruff","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/ruff","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/ruff","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/ruff/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-04T09:28:41.047Z","issues_count":4801,"pull_requests_count":7123,"avg_time_to_close_issue":2723084.4001960144,"avg_time_to_close_pull_request":400165.8490939546,"issues_closed_count":3056,"pull_requests_closed_count":6567,"pull_request_authors_count":552,"issue_authors_count":1749,"avg_comments_per_issue":3.5209331389293896,"avg_comments_per_pull_request":2.345921662220974,"merged_pull_requests_count":5984,"bot_issues_count":17,"bot_pull_requests_count":868,"past_year_issues_count":2265,"past_year_pull_requests_count":4051,"past_year_avg_time_to_close_issue":1328044.4817970565,"past_year_avg_time_to_close_pull_request":278818.61329305137,"past_year_issues_closed_count":1290,"past_year_pull_requests_closed_count":3641,"past_year_pull_request_authors_count":300,"past_year_issue_authors_count":925,"past_year_avg_comments_per_issue":2.7333333333333334,"past_year_avg_comments_per_pull_request":2.4026166378671934,"past_year_bot_issues_count":16,"past_year_bot_pull_requests_count":548,"past_year_merged_pull_requests_count":3326,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/astral-sh%2Fruff/issues","maintainers":[{"login":"charliermarsh","count":995,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/charliermarsh"},{"login":"MichaReiser","count":825,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/MichaReiser"},{"login":"AlexWaygood","count":645,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/AlexWaygood"},{"login":"dhruvmanila","count":545,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dhruvmanila"},{"login":"dylwil3","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dylwil3"},{"login":"zanieb","count":96,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zanieb"},{"login":"snowsignal","count":76,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/snowsignal"},{"login":"dcreager","count":76,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dcreager"},{"login":"BurntSushi","count":58,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/BurntSushi"},{"login":"ibraheemdev","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ibraheemdev"},{"login":"konstin","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/konstin"},{"login":"UnboundVariable","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/UnboundVariable"}],"active_maintainers":[{"login":"MichaReiser","count":613,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/MichaReiser"},{"login":"AlexWaygood","count":524,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/AlexWaygood"},{"login":"dhruvmanila","count":273,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dhruvmanila"},{"login":"dylwil3","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dylwil3"},{"login":"charliermarsh","count":122,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/charliermarsh"},{"login":"dcreager","count":76,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dcreager"},{"login":"zanieb","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zanieb"},{"login":"BurntSushi","count":58,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/BurntSushi"},{"login":"ibraheemdev","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ibraheemdev"},{"login":"UnboundVariable","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/UnboundVariable"},{"login":"konstin","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/konstin"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/ruff/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/ruff/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/ruff/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/ruff/related_packages","maintainers":[],"registry":{"name":"anaconda.org","url":"https://anaconda.org","ecosystem":"conda","default":true,"packages_count":4260,"maintainers_count":0,"namespaces_count":0,"keywords_count":2807,"github":"Anaconda","metadata":{"kind":"anaconda","key":"Main","api":"https://repo.ananconda.com","funded_packages_count":567},"icon_url":"https://github.com/Anaconda.png","created_at":"2022-10-03T15:37:08.736Z","updated_at":"2025-08-05T07:10:43.608Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/namespaces"}},"unique_repositories_count":13,"unique_repositories_count_past_30_days":4,"recent_issues":[{"uuid":"4530618020","node_id":"PR_kwDOR1-gk87fu1El","number":37,"state":"closed","title":"Bump the conda-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","conda"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-04T01:31:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-27T07:57:53.000Z","updated_at":"2026-06-04T01:31:11.000Z","time_to_close":667996,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"conda-dependencies","update_count":5,"packages":[{"name":"python","old_version":"3.14.4","new_version":"3.14.5"},{"name":"numpy","old_version":"2.4.5","new_version":"2.4.6"},{"name":"nutpie","old_version":"0.16.8","new_version":"0.16.10"},{"name":"duckdb","old_version":"1.5.2","new_version":"1.5.3","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the conda-dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| python | `3.14.4` | `3.14.5` |\n| numpy | `2.4.5` | `2.4.6` |\n| nutpie | `0.16.8` | `0.16.10` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.5.2` | `1.5.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.14` |\n\n\nUpdates `python` from 3.14.4 to 3.14.5\n\nUpdates `numpy` from 2.4.5 to 2.4.6\n\nUpdates `nutpie` from 0.16.8 to 0.16.10\n\nUpdates `duckdb` from 1.5.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/duckdb/duckdb-python/releases\"\u003educkdb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.3 Bugfix Release\u003c/h2\u003e\n\u003cp\u003eSee the DuckDB core release notes here: \u003ca href=\"https://github.com/duckdb/duckdb/releases/tag/v1.5.3\"\u003ehttps://github.com/duckdb/duckdb/releases/tag/v1.5.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed in DuckDB Python\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExport all symbols by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/445\"\u003educkdb/duckdb-python#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix concjunction OR by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/465\"\u003educkdb/duckdb-python#465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse recursive mutex to deal with GIL \u0026lt;-\u0026gt; internal lock deadlocks by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/462\"\u003educkdb/duckdb-python#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow self-joining of Polars lazyframes by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/466\"\u003educkdb/duckdb-python#466\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.5.2...v1.5.3\"\u003ehttps://github.com/duckdb/duckdb-python/compare/v1.5.2...v1.5.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/811b135ee5a0449378ab9635e0284b96485d58d6\"\u003e\u003ccode\u003e811b135\u003c/code\u003e\u003c/a\u003e DuckDB submodule pinned at v1.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/289bfbdc2914894ccbb41028a84abef34448126e\"\u003e\u003ccode\u003e289bfbd\u003c/code\u003e\u003c/a\u003e Bump submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/f87d6d938fca2d7b1ae713396e77c86622d17e79\"\u003e\u003ccode\u003ef87d6d9\u003c/code\u003e\u003c/a\u003e Allow self-joining of Polars lazyframes (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/c88229d86bf8e5ff266abc06cc620dc13d9d3529\"\u003e\u003ccode\u003ec88229d\u003c/code\u003e\u003c/a\u003e Allow self-joining of Polars lazyframes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/559f6af94b5c10e863b5e09b318c5c9f6d6c6dda\"\u003e\u003ccode\u003e559f6af\u003c/code\u003e\u003c/a\u003e Only disable unity builds for editable installs on OSX\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/97df04987ffd69a0c5a94b4e8802b78c0302023e\"\u003e\u003ccode\u003e97df049\u003c/code\u003e\u003c/a\u003e fix .clangd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/fd8889e3024da05d7afe90f4e20d6b9bd2b3e9c0\"\u003e\u003ccode\u003efd8889e\u003c/code\u003e\u003c/a\u003e Use recursive mutex to deal with GIL \u0026lt;-\u0026gt; internal lock deadlocks (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/462\"\u003e#462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/7b77328d1bbcf1a95726c332a47eb8ca817222c4\"\u003e\u003ccode\u003e7b77328\u003c/code\u003e\u003c/a\u003e [duckdb-labs bot] Bump DuckDB submodule (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/464\"\u003e#464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/9a866338302f8b7d31acde303cec9e3238cb2874\"\u003e\u003ccode\u003e9a86633\u003c/code\u003e\u003c/a\u003e Fix concjunction OR (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/3d778deea42aab1eccce0693538805b9d6183b44\"\u003e\u003ccode\u003e3d778de\u003c/code\u003e\u003c/a\u003e Fix concjunction OR\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.5.2...v1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.13 to 0.15.14\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.15.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\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/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\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.15.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\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/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\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/9ad2da3015e5faf73bdc5f1d09df3e47238e3edf\"\u003e\u003ccode\u003e9ad2da3\u003c/code\u003e\u003c/a\u003e Bump 0.15.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25295\"\u003e#25295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c714e84952510696c05ec21b0158a3548898f594\"\u003e\u003ccode\u003ec714e84\u003c/code\u003e\u003c/a\u003e [ty] Modernize setup of union types in mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25291\"\u003e#25291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8a8e35ebfe318e2467a0f276e5d1a3a9032a55ad\"\u003e\u003ccode\u003e8a8e35e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parame...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aea5ed4d278017057c2e842c6c3a2e92ad71495f\"\u003e\u003ccode\u003eaea5ed4\u003c/code\u003e\u003c/a\u003e Avoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9d72bb420f26c23e6660bfce4dfa0028b931bff\"\u003e\u003ccode\u003ee9d72bb\u003c/code\u003e\u003c/a\u003e [ty] Allow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6cbd59b511a92d5f408db57bde33367c0d47b672\"\u003e\u003ccode\u003e6cbd59b\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eexclude-newer = \u0026quot;7 days\u0026quot;\u003c/code\u003e in our PEP-723 scripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25285\"\u003e#25285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9999a3967ae28fe3295131e8883b6947f272a076\"\u003e\u003ccode\u003e9999a39\u003c/code\u003e\u003c/a\u003e Update code example on how to update Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67d8c544f0d1c526a2fc60d4bb1358fd7956d178\"\u003e\u003ccode\u003e67d8c54\u003c/code\u003e\u003c/a\u003e [ty] Retain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/25a3191140dc0467f9d196f35c128fefde269261\"\u003e\u003ccode\u003e25a3191\u003c/code\u003e\u003c/a\u003e [ty] Refine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c423054dc09e5b644c926b6b527b6accfbe693e9\"\u003e\u003ccode\u003ec423054\u003c/code\u003e\u003c/a\u003e Add a recursion limit to the parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.13...0.15.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/dseinternational/vocabulary-growth/pull/37","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dseinternational%2Fvocabulary-growth/issues/37","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/37/packages"},{"uuid":"4491043963","node_id":"PR_kwDODyew6s7dwX6M","number":334,"state":"open","title":"Bump the lockfile-bumps group with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-21T01:44:29.000Z","updated_at":"2026-05-21T01:46:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"lockfile-bumps","update_count":12,"packages":[{"name":"llvmlite","old_version":"0.45.1","new_version":"0.47.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"click","old_version":"8.3.1","new_version":"8.4.0","repository_url":"https://github.com/pallets/click"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pre-commit","old_version":"4.5.1","new_version":"4.6.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pyright","old_version":"1.1.408","new_version":"1.1.409","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"ruff","old_version":"0.15.6","new_version":"0.15.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"plotly","old_version":"6.6.0","new_version":"6.7.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"matplotlib","old_version":"3.10.8","new_version":"3.10.9","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"sphinx-autoapi","old_version":"3.6.0","new_version":"3.8.0","repository_url":"https://github.com/readthedocs/sphinx-autoapi"},{"name":"sphinx-tabs","old_version":"3.4.7","new_version":"3.5.0","repository_url":"https://github.com/executablebooks/sphinx-tabs"},{"name":"nbsphinx","old_version":"0.9.7","new_version":"0.9.8","repository_url":"https://github.com/spatialaudio/nbsphinx"},{"name":"sphinx-togglebutton","old_version":"0.3.2","new_version":"0.4.5","repository_url":"https://github.com/executablebooks/sphinx-togglebutton"}],"path":null,"ecosystem":"conda"},"body":"Bumps the lockfile-bumps group with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.45.1` | `0.47.0` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.4.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.1` | `4.6.0` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.408` | `1.1.409` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.6` | `0.15.13` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.6.0` | `6.7.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.8` | `3.10.9` |\n| [sphinx-autoapi](https://github.com/readthedocs/sphinx-autoapi) | `3.6.0` | `3.8.0` |\n| [sphinx-tabs](https://github.com/executablebooks/sphinx-tabs) | `3.4.7` | `3.5.0` |\n| [nbsphinx](https://github.com/spatialaudio/nbsphinx) | `0.9.7` | `0.9.8` |\n| [sphinx-togglebutton](https://github.com/executablebooks/sphinx-togglebutton) | `0.3.2` | `0.4.5` |\n\nUpdates `llvmlite` from 0.45.1 to 0.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numba/llvmlite/releases\"\u003ellvmlite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.47.0\u003c/h2\u003e\n\u003cp\u003eFor detailed release notes, see: \u003ca href=\"https://llvmlite.readthedocs.io/en/v0.47.0/\"\u003ehttps://llvmlite.readthedocs.io/en/v0.47.0/\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.46.0\u003c/h2\u003e\n\u003cp\u003eFor detailed release notes, see: \u003ca href=\"https://llvmlite.readthedocs.io/en/v0.46.0\"\u003ehttps://llvmlite.readthedocs.io/en/v0.46.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/a1b33d2c2dac939a6263c544afd46eb66189b740\"\u003e\u003ccode\u003ea1b33d2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1412\"\u003e#1412\u003c/a\u003e from swap357/release0.47\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/908fd0e36e1e8f0be1a36d66394b5bc838853106\"\u003e\u003ccode\u003e908fd0e\u003c/code\u003e\u003c/a\u003e add final changelog entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/f4f904208aec1d1516946f5f38a2737a61a8087e\"\u003e\u003ccode\u003ef4f9042\u003c/code\u003e\u003c/a\u003e update CHANGE_LOG for v0.47.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/01d2b0401d1a5e19b185c582c69421e15f166561\"\u003e\u003ccode\u003e01d2b04\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1406\"\u003e#1406\u003c/a\u003e from swap357/release0.47\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/2b62a94af24c109bfd9213422363f3e42e6b8070\"\u003e\u003ccode\u003e2b62a94\u003c/code\u003e\u003c/a\u003e update changelog for 0.47.0rc1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/fafaa85470bd70aa31711f075f8fee7f3e5d3dee\"\u003e\u003ccode\u003efafaa85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1403\"\u003e#1403\u003c/a\u003e from numba/renovate/major-github-artifact-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/ec1375e4ba338a7960050260d6599c3549e48891\"\u003e\u003ccode\u003eec1375e\u003c/code\u003e\u003c/a\u003e chore(deps): update github artifact actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/d869142f16105eee20353379e65a4e6805d34c9d\"\u003e\u003ccode\u003ed869142\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/569\"\u003e#569\u003c/a\u003e from ARF1/wip/fix_setup_clean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/dd23d71d1ec24bb56ba266937a52cabd886774c9\"\u003e\u003ccode\u003edd23d71\u003c/code\u003e\u003c/a\u003e refactor cleanup logic to restrict removal to llvmlite directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/37586b026abd5df51b730ac26650ba6331371615\"\u003e\u003ccode\u003e37586b0\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/main' into wip/fix_setup_clean\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numba/llvmlite/compare/v0.45.1...v0.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.3.1 to 8.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.4.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.4.0/\"\u003ehttps://pypi.org/project/click/8.4.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-4-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-4-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/30\"\u003ehttps://github.com/pallets/click/milestone/30\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eParamType\u003c/code\u003e typing improvements. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3371\"\u003e#3371\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:class:\u003ccode\u003eParamType\u003c/code\u003e is now a generic abstract base class,\nparameterized by its converted value type.\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~ParamType.convert\u003c/code\u003e return types are narrowed on all\nconcrete types (\u003ccode\u003estr\u003c/code\u003e for :class:\u003ccode\u003eSTRING\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e for\n:class:\u003ccode\u003eINT\u003c/code\u003e, etc.).\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~ParamType.to_info_dict\u003c/code\u003e returns specific\n:class:\u003ccode\u003e~typing.TypedDict\u003c/code\u003e subclasses instead of\n\u003ccode\u003edict[str, Any]\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003eCompositeParamType\u003c/code\u003e and the number-range base are now\ngeneric with abstract methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor \u003ccode\u003econvert_type\u003c/code\u003e to extract type inference into a private\n\u003ccode\u003e_guess_type\u003c/code\u003e helper, and add :func:\u003ccode\u003etyping.overload\u003c/code\u003e signatures.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3372\"\u003e#3372\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eParameter\u003c/code\u003e typing improvements. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2805\"\u003e#2805\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:class:\u003ccode\u003eParameter\u003c/code\u003e is now an abstract base class, making explicit\nthat it cannot be instantiated directly.\u003c/li\u003e\n\u003cli\u003e:attr:\u003ccode\u003eParameter.name\u003c/code\u003e is now \u003ccode\u003estr\u003c/code\u003e instead of \u003ccode\u003estr | None\u003c/code\u003e.\nWhen \u003ccode\u003eexpose_value=False\u003c/code\u003e, the name is set to \u003ccode\u003e\u0026quot;\u0026quot;\u003c/code\u003e instead\nof \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ectx\u003c/code\u003e parameter of :meth:\u003ccode\u003eParameter.get_error_hint\u003c/code\u003e is now\ntyped as \u003ccode\u003eContext | None\u003c/code\u003e, matching the runtime behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSplit string values from \u003ccode\u003edefault_map\u003c/code\u003e for parameters with \u003ccode\u003enargs \u0026gt; 1\u003c/code\u003e\nor :class:\u003ccode\u003eTuple\u003c/code\u003e type, matching environment variable behavior.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2745\"\u003e#2745\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3364\"\u003e#3364\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAuto-detect \u003ccode\u003etype=UNPROCESSED\u003c/code\u003e for \u003ccode\u003eflag_value\u003c/code\u003e of non-basic types\n(not \u003ccode\u003estr\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e, \u003ccode\u003efloat\u003c/code\u003e, or \u003ccode\u003ebool\u003c/code\u003e), so programmer-provided\nPython objects like classes and enum members are passed through unchanged\ninstead of being stringified. Previously \u003ccode\u003etype=click.UNPROCESSED\u003c/code\u003e had\nto be set explicitly. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2012\"\u003e#2012\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3363\"\u003e#3363\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe error hint now uses \u003ccode\u003eCommand.get_help_option_names\u003c/code\u003e to pick\nnon-shadowed help option names, so \u003ccode\u003eTry '... -h'\u003c/code\u003e no longer points to a\nsubcommand option that shadows \u003ccode\u003e-h\u003c/code\u003e. All surviving names are shown\n(\u003ccode\u003e-h/--help\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/pallets/click/issues/2790\"\u003e#2790\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3208\"\u003e#3208\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix readline functionality on non-Windows platforms. Prompt text is now\npassed directly to readline instead of being printed separately, allowing\nproper backspace, line editing, and line wrapping behavior. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2968\"\u003e#2968\u003c/a\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.4.0\u003c/h2\u003e\n\u003cp\u003eReleased 2026-05-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e:class:\u003ccode\u003eParamType\u003c/code\u003e typing improvements. :pr:\u003ccode\u003e3371\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:class:\u003ccode\u003eParamType\u003c/code\u003e is now a generic abstract base class,\nparameterized by its converted value type.\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~ParamType.convert\u003c/code\u003e return types are narrowed on all\nconcrete types (\u003ccode\u003estr\u003c/code\u003e for :class:\u003ccode\u003eSTRING\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e for\n:class:\u003ccode\u003eINT\u003c/code\u003e, etc.).\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~ParamType.to_info_dict\u003c/code\u003e returns specific\n:class:\u003ccode\u003e~typing.TypedDict\u003c/code\u003e subclasses instead of\n\u003ccode\u003edict[str, Any]\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003eCompositeParamType\u003c/code\u003e and the number-range base are now\ngeneric with abstract methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor \u003ccode\u003econvert_type\u003c/code\u003e to extract type inference into a private\n\u003ccode\u003e_guess_type\u003c/code\u003e helper, and add :func:\u003ccode\u003etyping.overload\u003c/code\u003e signatures.\n:pr:\u003ccode\u003e3372\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e:class:\u003ccode\u003eParameter\u003c/code\u003e typing improvements. :pr:\u003ccode\u003e2805\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:class:\u003ccode\u003eParameter\u003c/code\u003e is now an abstract base class, making explicit\nthat it cannot be instantiated directly.\u003c/li\u003e\n\u003cli\u003e:attr:\u003ccode\u003eParameter.name\u003c/code\u003e is now \u003ccode\u003estr\u003c/code\u003e instead of \u003ccode\u003estr | None\u003c/code\u003e.\nWhen \u003ccode\u003eexpose_value=False\u003c/code\u003e, the name is set to \u003ccode\u003e\u0026quot;\u0026quot;\u003c/code\u003e instead\nof \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ectx\u003c/code\u003e parameter of :meth:\u003ccode\u003eParameter.get_error_hint\u003c/code\u003e is now\ntyped as \u003ccode\u003eContext | None\u003c/code\u003e, matching the runtime behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSplit string values from \u003ccode\u003edefault_map\u003c/code\u003e for parameters with \u003ccode\u003enargs \u0026gt; 1\u003c/code\u003e\nor :class:\u003ccode\u003eTuple\u003c/code\u003e type, matching environment variable behavior.\n:issue:\u003ccode\u003e2745\u003c/code\u003e :pr:\u003ccode\u003e3364\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAuto-detect \u003ccode\u003etype=UNPROCESSED\u003c/code\u003e for \u003ccode\u003eflag_value\u003c/code\u003e of non-basic types\n(not \u003ccode\u003estr\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e, \u003ccode\u003efloat\u003c/code\u003e, or \u003ccode\u003ebool\u003c/code\u003e), so programmer-provided\nPython objects like classes and enum members are passed through unchanged\ninstead of being stringified. Previously \u003ccode\u003etype=click.UNPROCESSED\u003c/code\u003e had\nto be set explicitly. :issue:\u003ccode\u003e2012\u003c/code\u003e :pr:\u003ccode\u003e3363\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe error hint now uses :meth:\u003ccode\u003eCommand.get_help_option_names\u003c/code\u003e to pick\nnon-shadowed help option names, so \u003ccode\u003eTry '... -h'\u003c/code\u003e no longer points to a\nsubcommand option that shadows \u003ccode\u003e-h\u003c/code\u003e. All surviving names are shown\n(\u003ccode\u003e-h/--help\u003c/code\u003e). :issue:\u003ccode\u003e2790\u003c/code\u003e :pr:\u003ccode\u003e3208\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix readline functionality on non-Windows platforms. Prompt text is now\npassed directly to readline instead of being printed separately, allowing\nproper backspace, line editing, and line wrapping behavior. :issue:\u003ccode\u003e2968\u003c/code\u003e\n:pr:\u003ccode\u003e2969\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse :func:\u003ccode\u003eos.startfile\u003c/code\u003e on Windows to open URLs in :func:\u003ccode\u003eopen_url\u003c/code\u003e,\nreplacing the \u003ccode\u003estart\u003c/code\u003e built-in which cannot be invoked without\n\u003ccode\u003eshell=True\u003c/code\u003e. :issue:\u003ccode\u003e3164\u003c/code\u003e :pr:\u003ccode\u003e3186\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Fish shell completion errors when option help text contains newlines.\n:issue:\u003ccode\u003e3043\u003c/code\u003e :pr:\u003ccode\u003e3126\u003c/code\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/pallets/click/commit/41f410fb7528305d7e87c8cfa704f6c2456f57fc\"\u003e\u003ccode\u003e41f410f\u003c/code\u003e\u003c/a\u003e Release 8.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e3e69e3bf8d749ac1a632f2ece4d38ec7f6588f5\"\u003e\u003ccode\u003ee3e69e3\u003c/code\u003e\u003c/a\u003e Add type annotations for instance attributes in \u003ccode\u003eutils\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3422\"\u003e#3422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3bb230dcd5d751f8605b46e9df5a541639d5fd4e\"\u003e\u003ccode\u003e3bb230d\u003c/code\u003e\u003c/a\u003e WIP: Fix \u003ccode\u003eHelpFormatter.write_usage\u003c/code\u003e producing spurious characters (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3434\"\u003e#3434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/63274a79d08fdc5c19220696144489f7144a8547\"\u003e\u003ccode\u003e63274a7\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclick.get_pager_file\u003c/code\u003e: add tests (\u003ca href=\"https://redirect.github.com/pallets/click/issues/1572\"\u003e#1572\u003c/a\u003e followup) (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3405\"\u003e#3405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0551bf53588ae87f462d336f24f853a156fefe3a\"\u003e\u003ccode\u003e0551bf5\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eHelpFormatter.write_usage\u003c/code\u003e producing spurious characters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/fc41aa1d0b62494eb93e92ff3929601221e3abf4\"\u003e\u003ccode\u003efc41aa1\u003c/code\u003e\u003c/a\u003e Apply class-body annotations to \u003ccode\u003eKeepOpenFile\u003c/code\u003e for consistency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b761eda3bad977ec2f485451d85fd8ec365f0bf4\"\u003e\u003ccode\u003eb761eda\u003c/code\u003e\u003c/a\u003e Skip some tests on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/98302ac4f49e443a48abd3fbb95c86202b89547d\"\u003e\u003ccode\u003e98302ac\u003c/code\u003e\u003c/a\u003e Check \u003ccode\u003ePAGER\u003c/code\u003e usage, color preservation and edge-cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/dbdae170879d460e78963f8af35c5cb9c5b86e89\"\u003e\u003ccode\u003edbdae17\u003c/code\u003e\u003c/a\u003e Fix documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1aa2d53d63ff68bf14b35931177aac9270e39713\"\u003e\u003ccode\u003e1aa2d53\u003c/code\u003e\u003c/a\u003e Redesigned tests and get_pager_file branching to be more clear and not set color\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.1...8.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 7.0.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 (2026-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed total coverage computation to always be consistent, regardless of reporting settings.\nPreviously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on\nreporting options.\nSee \u003ccode\u003e[#641](https://github.com/pytest-dev/pytest-cov/issues/641) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/641\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove handling of ResourceWarning from sqlite3.\u003c/p\u003e\n\u003cp\u003eThe plugin adds warning filter for sqlite3 \u003ccode\u003eResourceWarning\u003c/code\u003e unclosed database (since 6.2.0).\nIt checks if there is already existing plugin for this message by comparing filter regular expression.\nWhen filter is specified on command line the message is escaped and does not match an expected message.\nA check for an escaped regular expression is added to handle this case.\u003c/p\u003e\n\u003cp\u003eWith this fix one can suppress \u003ccode\u003eResourceWarning\u003c/code\u003e from sqlite3 from command line::\u003c/p\u003e\n\u003cp\u003epytest -W \u0026quot;ignore:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\u0026quot; ...\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious improvements to documentation.\nContributed by Art Pelling in \u003ccode\u003e[#718](https://github.com/pytest-dev/pytest-cov/issues/718) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/718\u0026gt;\u003c/code\u003e_ and\n\u0026quot;vivodi\u0026quot; in \u003ccode\u003e[#738](https://github.com/pytest-dev/pytest-cov/issues/738) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/738\u0026gt;\u003c/code\u003e\u003cem\u003e.\nAlso closed \u003ccode\u003e[#736](https://github.com/pytest-dev/pytest-cov/issues/736) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/736\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed some assertions in tests.\nContributed by in Markéta Machová in \u003ccode\u003e[#722](https://github.com/pytest-dev/pytest-cov/issues/722) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/722\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).\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-cov/commit/66c8a526b1246b5eb8fb1bc218878131bc628622\"\u003e\u003ccode\u003e66c8a52\u003c/code\u003e\u003c/a\u003e Bump version: 7.0.0 → 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f7076624784332594aa4cb3585d4757d295db15e\"\u003e\u003ccode\u003ef707662\u003c/code\u003e\u003c/a\u003e Make the examples use pypy 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/6049a7847872e3139e6c82e93787123df5dc8672\"\u003e\u003ccode\u003e6049a78\u003c/code\u003e\u003c/a\u003e Make context test use the old ctracer (seems the new sysmon tracer behaves di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/8ebf20bbbc73478b3f8fd36d30237d9ea083f06b\"\u003e\u003ccode\u003e8ebf20b\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/861d30e60d571f97259c6b718b71c819d5dbc3b9\"\u003e\u003ccode\u003e861d30e\u003c/code\u003e\u003c/a\u003e Remove the backup context manager  - shouldn't be needed since coverage 5.0, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/fd4c956014035527f0c3c8d7faef3f8cfdadac7f\"\u003e\u003ccode\u003efd4c956\u003c/code\u003e\u003c/a\u003e Pass the precision on the nulled total (seems that there's some caching goion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/78c9c4ecb005faf4962fd86ff7bf9c9cce9554d6\"\u003e\u003ccode\u003e78c9c4e\u003c/code\u003e\u003c/a\u003e Only run the 3.9 on older deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/4849a922e8be725c662a3d9175da571ace6545dc\"\u003e\u003ccode\u003e4849a92\u003c/code\u003e\u003c/a\u003e Punctuation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/197c35e2f37031fd1927715307ab6eed7cb3d2b7\"\u003e\u003ccode\u003e197c35e\u003c/code\u003e\u003c/a\u003e Update changelog and hopefully I don't forget to publish release again :))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/14dc1c92d44108384e39803888635fdbfc578b7f\"\u003e\u003ccode\u003e14dc1c9\u003c/code\u003e\u003c/a\u003e Update examples to use 3.11 and make the adhoc layout example look a bit more...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v7.0.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.5.1 to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.6.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier usage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.6.0 - 2026-04-21\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier\nusage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f35134b05028ec938ac605ae500fdf95462655d3\"\u003e\u003ccode\u003ef35134b\u003c/code\u003e\u003c/a\u003e v4.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2a51ffcb81f6c8ed2e6467913c3343a8800f3ab9\"\u003e\u003ccode\u003e2a51ffc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e from pre-commit/hook-impl-optional-hook-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/d7dee322abfc765b042f2e3b872aab3c3a867610\"\u003e\u003ccode\u003ed7dee32\u003c/code\u003e\u003c/a\u003e make --hook-dir optional for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/965aeb1c680e8b526342153547f0ec014484c63d\"\u003e\u003ccode\u003e965aeb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e from pre-commit/hook-impl-required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2eacc064aa9b5bb33d3a0d84a234b475e34f3096\"\u003e\u003ccode\u003e2eacc06\u003c/code\u003e\u003c/a\u003e --hook-type is required for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f5678bf4ac35cffc0ff7174ad85f7fdc2a5c977e\"\u003e\u003ccode\u003ef5678bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3657\"\u003e#3657\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/054cc5bd6bb1b20faa1eefe09f0de3b68fceee94\"\u003e\u003ccode\u003e054cc5b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/5c0f3024d2524f6e029a4c333392fd9be9fb27f6\"\u003e\u003ccode\u003e5c0f302\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3652\"\u003e#3652\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/a5d91142676630f8130020b35e166e0c0e92b8f4\"\u003e\u003ccode\u003ea5d9114\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/129a1f5ca1eaee0c952a5e7a07faae305c5e15bc\"\u003e\u003ccode\u003e129a1f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3641\"\u003e#3641\u003c/a\u003e from pre-commit/mxr-patch-1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.5.1...v4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyright` from 1.1.408 to 1.1.409\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RobertCraigie/pyright-python/commit/d7508e5425d3d02761d70dab1f9a2086573af429\"\u003e\u003ccode\u003ed7508e5\u003c/code\u003e\u003c/a\u003e [pyright updated to 1.1.409] Update Version (\u003ca href=\"https://redirect.github.com/RobertCraigie/pyright-python/issues/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RobertCraigie/pyright-python/compare/v1.1.408...v1.1.409\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.6 to 0.15.13\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.15.13\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a rule to flag lazy imports that are eagerly evaluated (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25016\"\u003e#25016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Standardize diagnostic message (\u003ccode\u003ePLR0914\u003c/code\u003e, \u003ccode\u003ePLR0917\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24996\"\u003e#24996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eF811\u003c/code\u003e false positive for class methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24933\"\u003e#24933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix setting selection for multi-folder workspace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24819\"\u003e#24819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix false positive for lines with leading whitespace (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25122\"\u003e#25122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix false positive for f-string debug specifier (\u003ccode\u003ePYI016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24098\"\u003e#24098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways include panic payload in panic diagnostic message (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24873\"\u003e#24873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict \u003ccode\u003ePYI034\u003c/code\u003e for in-place operations to enclosing class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24511\"\u003e#24511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for parameters that are declared \u003ccode\u003eglobal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24902\"\u003e#24902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate known stdlib (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25103\"\u003e#25103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML examples to \u003ccode\u003e--config\u003c/code\u003e help text (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25013\"\u003e#25013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColorize ruff check 'All checks passed' (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25085\"\u003e#25085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease max allowed value of \u003ccode\u003eline-length\u003c/code\u003e setting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24962\"\u003e#24962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eD203\u003c/code\u003e to rules that conflict with the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25044\"\u003e#25044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify \u003ccode\u003eCOM819\u003c/code\u003e and formatter interaction (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25045\"\u003e#25045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify that \u003ccode\u003eNotImplemented\u003c/code\u003e is a value, not an exception (\u003ccode\u003eF901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25054\"\u003e#25054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate number of lint rules supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24942\"\u003e#24942\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify the playground's markdown template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24924\"\u003e#24924\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\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\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.15.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a rule to flag lazy imports that are eagerly evaluated (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25016\"\u003e#25016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Standardize diagnostic message (\u003ccode\u003ePLR0914\u003c/code\u003e, \u003ccode\u003ePLR0917\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24996\"\u003e#24996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eF811\u003c/code\u003e false positive for class methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24933\"\u003e#24933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix setting selection for multi-folder workspace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24819\"\u003e#24819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix false positive for lines with leading whitespace (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25122\"\u003e#25122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix false positive for f-string debug specifier (\u003ccode\u003ePYI016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24098\"\u003e#24098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways include panic payload in panic diagnostic message (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24873\"\u003e#24873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict \u003ccode\u003ePYI034\u003c/code\u003e for in-place operations to enclosing class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24511\"\u003e#24511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for parameters that are declared \u003ccode\u003eglobal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24902\"\u003e#24902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate known stdlib (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25103\"\u003e#25103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML examples to \u003ccode\u003e--config\u003c/code\u003e help text (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25013\"\u003e#25013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColorize ruff check 'All checks passed' (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25085\"\u003e#25085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease max allowed value of \u003ccode\u003eline-length\u003c/code\u003e setting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24962\"\u003e#24962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eD203\u003c/code\u003e to rules that conflict with the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25044\"\u003e#25044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify \u003ccode\u003eCOM819\u003c/code\u003e and formatter interaction (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25045\"\u003e#25045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify that \u003ccode\u003eNotImplemented\u003c/code\u003e is a value, not an exception (\u003ccode\u003eF901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25054\"\u003e#25054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate number of lint rules supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24942\"\u003e#24942\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify the playground's markdown template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24924\"\u003e#24924\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/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/2afb467ce397e4a89c13a0a814c62cfecb0e9e49\"\u003e\u003ccode\u003e2afb467\u003c/code\u003e\u003c/a\u003e Bump 0.15.13 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25157\"\u003e#25157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/300879600fa3af7cde1e675c63de6ad9d0797d1b\"\u003e\u003ccode\u003e3008796\u003c/code\u003e\u003c/a\u003e [ty] classify TypeVar semantic tokens as type parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24891\"\u003e#24891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/79470e31877acb6074f3bbff2a49e508822ae4e8\"\u003e\u003ccode\u003e79470e3\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2522549901d50f18775999f0fb802b19229417f0\"\u003e\u003ccode\u003e2522549\u003c/code\u003e\u003c/a\u003e Remove shellcheck from prek (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25154\"\u003e#25154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7db7170020f539d6d2bc01dbd0b0c09fab91dc06\"\u003e\u003ccode\u003e7db7170\u003c/code\u003e\u003c/a\u003e [ty] Support TypedDict key completions in incomplete, anonymous contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25\"\u003e#25\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bb3dd535f1c5a83e2e56ac93a771fadbeeceebd0\"\u003e\u003ccode\u003ebb3dd53\u003c/code\u003e\u003c/a\u003e [ty] Run full iteration analysis on narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25143\"\u003e#25143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/828cdb7732efcb16a53f4ee5f011cf653b834d1a\"\u003e\u003ccode\u003e828cdb7\u003c/code\u003e\u003c/a\u003e [ty] Isolate file-watching test environment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25151\"\u003e#25151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/89e1d8670ea4d3af60c8143ee552dc750200718d\"\u003e\u003ccode\u003e89e1d86\u003c/code\u003e\u003c/a\u003e [ty] Preserve TypedDict keys through dict unpacking (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24523\"\u003e#24523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/86f3064d6fffa5697d174f26b840bd6857b381da\"\u003e\u003ccode\u003e86f3064\u003c/code\u003e\u003c/a\u003e [ty] Avoid accessing \u003ccode\u003eargs[0]\u003c/code\u003e for \u003ccode\u003estatic_assert\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25149\"\u003e#25149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ed819f947dc27e36eac8bb3134153c4668d76a3a\"\u003e\u003ccode\u003eed819f9\u003c/code\u003e\u003c/a\u003e [ty] Treat custom enum \u003ccode\u003e__new__\u003c/code\u003e values as dynamic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25136\"\u003e#25136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.6...0.15.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.6.0 to 6.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003efacet_row\u003c/code\u003e support to \u003ccode\u003epx.imshow\u003c/code\u003e for creating subplots along an additional dimension [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5445\"\u003e#5445\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/FBumann\"\u003e\u003ccode\u003e@​FBumann\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003enumpy.percentile\u003c/code\u003e syntax to stop using deprecated alias [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5483\"\u003e#5483\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Mr-Neutr0n\"\u003e\u003ccode\u003e@​Mr-Neutr0n\u003c/code\u003e\u003c/a\u003e for the contribution!\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enumpy\u003c/code\u003e with a version less than 1.22 is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHandle empty \u003ccode\u003epx.histogram\u003c/code\u003e by skipping \u003ccode\u003eNone\u003c/code\u003e label in hover template [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5535\"\u003e#5535\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/tysoncung\"\u003e\u003ccode\u003e@​tysoncung\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.4.0 to version 3.5.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.5.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5565\"\u003e#5565\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoveranywhere\u003c/code\u003e and \u003ccode\u003eclickanywhere\u003c/code\u003e layout attributes to enable emitting hover and click events anywhere in the plot area, not just over traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7707\"\u003e#7707\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edisplayNotifier\u003c/code\u003e configuration property to set the display of notifier in the top right area of the viewport [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7730\"\u003e#7730\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate USA location lookup for \u003ccode\u003escattergeo\u003c/code\u003e and \u003ccode\u003echoropleth\u003c/code\u003e traces to use both location names and abbreviations [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7731\"\u003e#7731\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.7.0] - 2026-04-09\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003efacet_row\u003c/code\u003e support to \u003ccode\u003epx.imshow\u003c/code\u003e for creating subplots along an additional dimension [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5445\"\u003e#5445\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/FBumann\"\u003e\u003ccode\u003e@​FBumann\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003enumpy.percentile\u003c/code\u003e syntax to stop using deprecated alias [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5483\"\u003e#5483\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Mr-Neutr0n\"\u003e\u003ccode\u003e@​Mr-Neutr0n\u003c/code\u003e\u003c/a\u003e for the contribution!\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enumpy\u003c/code\u003e with a version less than 1.22 is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHandle empty \u003ccode\u003epx.histogram\u003c/code\u003e by skipping \u003ccode\u003eNone\u003c/code\u003e label in hover template [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5535\"\u003e#5535\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/tysoncung\"\u003e\u003ccode\u003e@​tysoncung\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.4.0 to version 3.5.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.5.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5565\"\u003e#5565\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoveranywhere\u003c/code\u003e and \u003ccode\u003eclickanywhere\u003c/code\u003e layout attributes to enable emitting hover and click events anywhere in the plot area, not just over traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7707\"\u003e#7707\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edisplayNotifier\u003c/code\u003e configuration property to set the display of notifier in the top right area of the viewport [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7730\"\u003e#7730\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate USA location lookup for \u003ccode\u003escattergeo\u003c/code\u003e and \u003ccode\u003echoropleth\u003c/code\u003e traces to use both location names and abbreviations [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7731\"\u003e#7731\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1a2065a6ac1eabf8c3125bcb735fbc04d7cd8441\"\u003e\u003ccode\u003e1a2065a\u003c/code\u003e\u003c/a\u003e Add missing attributions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/8422e175d40bb24277c2ab65db91fab2e2c60c20\"\u003e\u003ccode\u003e8422e17\u003c/code\u003e\u003c/a\u003e Add missing octothorpes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/fa9116fd56cff6377a40c76b77b538fbe4931751\"\u003e\u003ccode\u003efa9116f\u003c/code\u003e\u003c/a\u003e Update Jupyter Lab extension files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/c771ad5c15d0b0773171d212d1b79836616076f1\"\u003e\u003ccode\u003ec771ad5\u003c/code\u003e\u003c/a\u003e Version changes for v6.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/067b95421c00a03023b43b6faca8112652b26379\"\u003e\u003ccode\u003e067b954\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5565\"\u003e#5565\u003c/a\u003e from plotly/cam/update-plotly.js-v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1b7de492ead91eb28bfa3bd9208078ff453a1657\"\u003e\u003ccode\u003e1b7de49\u003c/code\u003e\u003c/a\u003e Update Jupyter support files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/d605d3e9978928d111b3e2b5a10c70810b44a10d\"\u003e\u003ccode\u003ed605d3e\u003c/code\u003e\u003c/a\u003e chore: Update plotly.js to v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/600f86527341bc5f1809725e2831d846c3e054b4\"\u003e\u003ccode\u003e600f865\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5541\"\u003e#5541\u003c/a\u003e from plotly/migrate-to-gh-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/10c7c5611ca04639313674cca3814f742cac523d\"\u003e\u003ccode\u003e10c7c56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5518\"\u003e#5518\u003c/a\u003e from mosh3eb/fix/broken-license-link-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/ea813dd062be4918dc35944fc62226d809e9fc65\"\u003e\u003ccode\u003eea813dd\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix/broken-license-link-readme\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.6.0...v6.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.8 to 3.10.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.9\u003c/h2\u003e\n\u003cp\u003eThis is a micro release of the v3.10.x series.\nHighlights of this release include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious minor bug and doc fixes\u003c/li\u003e\n\u003cli\u003eSecurity hardening validation of cyclers - Removing eval usage\u003c/li\u003e\n\u003cli\u003eSecurity hardening in Latex and PS calls - Removing shell escapes\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/matplotlib/matplotlib/commit/dd8d78b8dce60b6c8db86132892577a0b9dbe469\"\u003e\u003ccode\u003edd8d78b\u003c/code\u003e\u003c/a\u003e REL: v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/2fb18915bcfe69a188832c776fe18d88337de9bc\"\u003e\u003ccode\u003e2fb1891\u003c/code\u003e\u003c/a\u003e REL: Release prep v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/d0e923abfa016c04901fe4e315b9d215949f6fc5\"\u003e\u003ccode\u003ed0e923a\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.8-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/163793248a5fc9f23a560e45551c44351a8bd716\"\u003e\u003ccode\u003e1637932\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31558\"\u003e#31558\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31556-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a83faacb0dbe7edd1bae38e1e715b77b6aaebb84\"\u003e\u003ccode\u003ea83faac\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31556\"\u003e#31556\u003c/a\u003e: FIX: Inverted PyErr_Occurred check in enum type caster (_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a4f57ab0623f9d26be29e0a3b0de904667c7eeb7\"\u003e\u003ccode\u003ea4f57ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31545\"\u003e#31545\u003c/a\u003e from ksunden/backport-of-pr-31282-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/063288d0cc912aa2af5cc1b7e7ca3d228d9f8976\"\u003e\u003ccode\u003e063288d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31544\"\u003e#31544\u003c/a\u003e from ksunden/backport-of-pr-31248-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/b2ed1969191a03ec8927f96573664474662ab4c1\"\u003e\u003ccode\u003eb2ed196\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31248\"\u003e#31248\u003c/a\u003e: SEC: Remove eval() from validate_cycler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/acc60241a70b920eaf04fce41a8cf0a77010fb7d\"\u003e\u003ccode\u003eacc6024\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31282\"\u003e#31282\u003c/a\u003e from scottshambaugh/tex_no_shell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/e3fb54163b1ce9dbc1a9e8e0973289dc14e366c2\"\u003e\u003ccode\u003ee3fb541\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31078\"\u003e#31078\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31075-on-v...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.8...v3.10.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-autoapi` from 3.6.0 to 3.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/releases\"\u003esphinx-autoapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.8.0\u003c/h2\u003e\n\u003ch1\u003eFeatures\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAutodoc-style directives can access members excluded by autoapi_options\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eMisc\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/553\"\u003e#553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.7.0\u003c/h2\u003e\n\u003ch1\u003eFeatures\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded autoapi.import warning for when AutoAPI directives are given non-existent objects\u003c/li\u003e\n\u003cli\u003eAdding autoapi_follow_symlinks, which allows api to traverse into symlinked directories when generating the API documentation.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 and officially support Python 3.14\u003c/li\u003e\n\u003cli\u003eSupport rendering PEP-695 type parameters\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBugfixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRender typing_extensions.TypeAlias like other type aliases (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix PythonFunction.overloads typing when source code overload(s) do not provide a return type (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eMisc\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix deprecation warnings raised by astroid and sphinx\u003c/li\u003e\n\u003cli\u003eHandling case where match returns None to fix mypy unit test.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.6.1\u003c/h2\u003e\n\u003ch1\u003eBugfixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the supported versions of astroid. Fix the breaking change to Import and pass in the AstroidManager to the AstroidBuilder (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/536\"\u003e#536\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/readthedocs/sphinx-autoapi/blob/main/CHANGELOG.rst\"\u003esphinx-autoapi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.8.0 (2026-03-07)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAutodoc-style directives can access members excluded by autoapi_options\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMisc\n^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/553\"\u003e#553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.7.0 (2026-02-10)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded autoapi.import warning for when AutoAPI directives are given non-existent objects\u003c/li\u003e\n\u003cli\u003eAdding \u003ccode\u003eautoapi_follow_symlinks\u003c/code\u003e, which allows api to traverse into symlinked directories when generating the API documentation.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 and officially support Python 3.14\u003c/li\u003e\n\u003cli\u003eSupport rendering PEP-695 type parameters\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRender typing_extensions.TypeAlias like other type aliases (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePythonFunction.overloads\u003c/code\u003e typing when source code overload(s) do not provide a return type (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMisc\n^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix deprecation warnings raised by astroid and sphinx\u003c/li\u003e\n\u003cli\u003eHandling case where match returns None to fix mypy unit test.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.6.1 (2025-10-06)\u003c/h2\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the supported versions of astroid.\nFix the breaking change to Import and pass in the AstroidManager to the AstroidBuilder (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/536\"\u003e#536\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/readthedocs/sphinx-autoapi/commit/75cbffdea08771a0c574814053359b28dc7dfe85\"\u003e\u003ccode\u003e75cbffd\u003c/code\u003e\u003c/a\u003e Version 3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/7838cf6937000a84ca8cb13a7d76e03b0084a7f3\"\u003e\u003ccode\u003e7838cf6\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/f1cdd302336455bee67a6dbc9ea2742fad17a756\"\u003e\u003ccode\u003ef1cdd30\u003c/code\u003e\u003c/a\u003e Attempt to fix macos-latest build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/34bb24ccc9de3be61c63a9c8b38458d06ea11eb3\"\u003e\u003ccode\u003e34bb24c\u003c/code\u003e\u003c/a\u003e Autodoc-style directives can access members excluded by autoapi_options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/ccb2e898cb8b3becf04eba76f5449e29d336215e\"\u003e\u003ccode\u003eccb2e89\u003c/code\u003e\u003c/a\u003e astroid requirement is consistent across all versions of Python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/0917ed2d4a42fa4ddd3668247d10ca6d902d7ada\"\u003e\u003ccode\u003e0917ed2\u003c/code\u003e\u003c/a\u003e Version 3.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/394beb453256c9c15a30cb5851682fed2a844fc4\"\u003e\u003ccode\u003e394beb4\u003c/code\u003e\u003c/a\u003e Add warning for missing import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/96cd74d1a015a05bf4409a73b173dcdf8421902a\"\u003e\u003ccode\u003e96cd74d\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/c248b85d66c233a4673c64944bdeeb394be5116a\"\u003e\u003ccode\u003ec248b85\u003c/code\u003e\u003c/a\u003e Render typing_extensions.TypeAlias like other type aliases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/a2f49c9689ba76d5518c33fb509c57b5141342df\"\u003e\u003ccode\u003ea2f49c9\u003c/code\u003e\u003c/a\u003e Fix deprecation warnings raised by astroid and sphinx\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/compare/v3.6.0...v3.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-tabs` from 3.4.7 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/executablebooks/sphinx-tabs/releases\"\u003esphinx-tabs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the tests for Sphinx 8.1 by \u003ca href=\"https://github.com/mitya57\"\u003e\u003ccode\u003e@​mitya57\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/200\"\u003eexecutablebooks/sphinx-tabs#200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding sphinx configuration to RTD config by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/210\"\u003eexecutablebooks/sphinx-tabs#210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake the tests pass with Docutils 0.22 by \u003ca href=\"https://github.com/mitya57\"\u003e\u003ccode\u003e@​mitya57\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/207\"\u003eexecutablebooks/sphinx-tabs#207\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: adding new python versions to testing by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/216\"\u003eexecutablebooks/sphinx-tabs#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: adding dependabot by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/215\"\u003eexecutablebooks/sphinx-tabs#215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: dropping sphinx\u0026lt;7 and python\u0026lt;3.10 versions by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/218\"\u003eexecutablebooks/sphinx-tabs#218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: renaming the default branch to main by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/219\"\u003eexecutablebooks/sphinx-tabs#219\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/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/210\"\u003eexecutablebooks/sphinx-tabs#210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/205\"\u003eexecutablebooks/sphinx-tabs#205\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-tabs/compare/v3.4.7...v3.5.0\"\u003ehttps://github.com/executablebooks/sphinx-tabs/compare/v3.4.7...v3.5.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/executablebooks/sphinx-tabs/blob/main/CHANGELOG.md\"\u003esphinx-tabs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0 - 2026-03-02\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding support for up to Sphinx 9.1 and dropped support for versions \u0026lt;7.\u003c/li\u003e\n\u003cli\u003eAdding support for docutils 0.22.\u003c/li\u003e\n\u003cli\u003eAdding support for up to Python 3.14 and dropped support for versions \u0026lt;3.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.5 - 2024-01-21\u003c/h2\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocutils version pin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2 - 2023-19-22\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTesting for Python 3.11 and 3.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency on unsupported sphinx_testing package\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2 - 2023-19-22\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etests for sphinx 7.2\u003c/li\u003e\n\u003cli\u003eslice assignment in update_context(), which was removing JS scripts from other sphinx extensions/themes on pages where tabs were not used\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNote in docs to clarify that include directive can't be used within a code-tab\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1 - 2022-07-02\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWeekly scheduled testing, to catch breaking changes in unpinned dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocutils version pin to allow use of verison 0.18.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esphinx version pinning - only the latest version of sphinx will now be fully supported, but previous versions will work if sphinx dependencies (i.e. jinja2) are managed correctly. This is inline with the approach at sphinx\u003c/li\u003e\n\u003cli\u003etests that were specific to older versions of sphinx and pygments\u003c/li\u003e\n\u003cli\u003ejinja2 version pinning, as this is now pinned in latest version of sphinx\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.0 - 2022-06-26\u003c/h2\u003e\n\u003ch3\u003eAdded\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/executablebooks/sphinx-tabs/commit/4ee56c638af1f28b8cd20da253bfc34333ea232c\"\u003e\u003ccode\u003e4ee56c6\u003c/code\u003e\u003c/a\u003e Release v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/eeb478f7c52ee70bfa33bc56a9083b9585a2353e\"\u003e\u003ccode\u003eeeb478f\u003c/code\u003e\u003c/a\u003e Update packaging command in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/505d7760d25b525468b88047d4ff31977bf9cab0\"\u003e\u003ccode\u003e505d776\u003c/code\u003e\u003c/a\u003e MAINT: adding basic build-system\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/1af2528689f5be7e4cd30a5202068a3ed1fec5da\"\u003e\u003ccode\u003e1af2528\u003c/code\u003e\u003c/a\u003e Finalizing changelog for v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/f6822292d4b9b7fd155ad997985124c670dc5a32\"\u003e\u003ccode\u003ef682229\u003c/code\u003e\u003c/a\u003e MAINT: ignoring bots for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/40f50ad057d7db087ea2fbb044688533705ab769\"\u003e\u003ccode\u003e40f50ad\u003c/code\u003e\u003c/a\u003e MAINT: renaming the default branch to main (\u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/fcb455c8f46fcab3859d2ddbc1523b4b52469511\"\u003e\u003ccode\u003efcb455c\u003c/code\u003e\u003c/a\u003e MAINT: dropping sphinx\u0026lt;7 and python\u0026lt;3.10 versions (\u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/bb0be8295bf6c74e6051c73013c7f095a5a17871\"\u003e\u003ccode\u003ebb0be82\u003c/code\u003e\u003c/a\u003e Bump the actions group in /.github/workflows with 3 updates (\u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/issues/217\"\u003e#217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/853e580678d6c3b735bc0244c1c4ca1688e2ffdf\"\u003e\u003ccode\u003e853e580\u003c/code\u003e\u003c/a\u003e MAINT: adding dependabot (\u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/issues/215\"\u003e#215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/3bab12d667e10a870f3a8c26a27e9f97b469dc21\"\u003e\u003ccode\u003e3bab12d\u003c/code\u003e\u003c/a\u003e MAINT: adding new python versions to testing (\u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/issues/216\"\u003e#216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/executablebooks/sphinx-tabs/compare/v3.4.7...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nbsphinx` from 0.9.7 to 0.9.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spatialaudio/nbsphinx/releases\"\u003enbsphinx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003enbsphinx 0.9.8\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/nbsphinx/0.9.8/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.8/\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRe-enable Sphinx 8.2+\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etext/x-rst\u003c/code\u003e MIME type in raw cells\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003emathjax4_config\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spatialaudio/nbsphinx/blob/master/NEWS.rst\"\u003enbsphinx's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 0.9.8 -- 2025-11-28 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRe-enable Sphinx 8.2+\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etext/x-rst\u003c/code\u003e MIME type in raw cells\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003emathjax4_config\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.8/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.8/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.7...0.9.8\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.7...0.9.8\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.7 -- 2025-03-03 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDisable Sphinx 8.2+ (for now)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.7/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.7/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.6...0.9.7\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.6...0.9.7\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.6 -- 2024-12-24 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: allow lists without leading blank line\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.6/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.6/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.5...0.9.6\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.5...0.9.6\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.5 -- 2024-08-13 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMiscellaneous fixes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.5/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.5/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.4...0.9.5\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.4...0.9.5\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.4 -- 2024-05-06 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire \u003ccode\u003edocutils \u0026gt;= 0.18.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMinor fixes, documentation and CI updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.4/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.4/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.3...0.9.4\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.3...0.9.4\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.3 -- 2023-08-27 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix gallery regression in Sphinx 7.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.3/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.3/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.2...0.9.3\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.2...0.9.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.2 -- 2023-05-24 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove support for \u003ccode\u003esphinx_immaterial\u003c/code\u003e theme\u003c/li\u003e\n\u003cli\u003eImprove support for links starting with \u003ccode\u003e#\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for in-text citations\u003c/li\u003e\n\u003cli\u003eLaTeX: Add support for admonition titles\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.2/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.2/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.1...0.9.2\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.1...0.9.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.1 -- 2023-03-14 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epandoc: disable \u0026quot;smart\u0026quot; option only for version 2.0+\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/spatialaudio/nbsphinx/commit/4f07420639de321d63681ee8c560f73cb0c4a85f\"\u003e\u003ccode\u003e4f07420\u003c/code\u003e\u003c/a\u003e Release 0.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/75d6770733a5ef44553759449309a769c0329609\"\u003e\u003ccode\u003e75d6770\u003c/code\u003e\u003c/a\u003e Avoid a logging error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/dd96f11edb14f7c2027c7ef50663f8c05a014278\"\u003e\u003ccode\u003edd96f11\u003c/code\u003e\u003c/a\u003e DOC: Update URL for the \u0026lt;img\u0026gt; element\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/d97c0111c4af0423216d217234d87ed73013958d\"\u003e\u003ccode\u003ed97c011\u003c/code\u003e\u003c/a\u003e Add support for mathjax4_config (\u003ca href=\"https://redirect.github.com/spatialaudio/nbsphinx/issues/854\"\u003e#854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/4882668244e8c0d7b36d0743f9fbc1a48d3160da\"\u003e\u003ccode\u003e4882668\u003c/code\u003e\u003c/a\u003e Fix nbsphinx_assume_equations to work with newer versions of Sphinx\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/95372a74c543565b5e02357db5e248fb865a8326\"\u003e\u003ccode\u003e95372a7\u003c/code\u003e\u003c/a\u003e CI: use \u0026quot;uv\u0026quot; for \u0026quot;publish\u0026quot; workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/9ce8c26cfa363a357b760ed1b0cc45ecb92de1f4\"\u003e\u003ccode\u003e9ce8c26\u003c/code\u003e\u003c/a\u003e setup.py -\u0026gt; pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/394b9ee5611109db6b234e44e2b61da8e939ac8d\"\u003e\u003ccode\u003e394b9ee\u003c/code\u003e\u003c/a\u003e DOC: use anonymous hyperlinks for embedded URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/ab8592199d6637045b6f77992f10138590130d6b\"\u003e\u003ccode\u003eab85921\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/76122c23c9568305eb6da15abd5278981e8960b1\"\u003e\u003ccode\u003e76122c2\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4 to 6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.7...0.9.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-togglebutton` from 0.3.2 to 0.4.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/releases\"\u003esphinx-togglebutton's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.4.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix selector for admonition title in togglebutton.js by \u003ca href=\"https://github.com/douden\"\u003e\u003ccode\u003e@​douden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/77\"\u003eexecutablebooks/sphinx-togglebutton#77\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.4...v0.4.5\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.4...v0.4.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.4.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate release workflow and bump version to 0.4.4 by \u003ca href=\"https://github.com/douden\"\u003e\u003ccode\u003e@​douden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/73\"\u003eexecutablebooks/sphinx-togglebutton#73\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.3...v0.4.4\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.3...v0.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.4.3\u003c/h2\u003e\n\u003ch2\u003e0.4.3 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing information in \u003ccode\u003etests.yml\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.2...v0.4.3\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.2...v0.4.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.4.2\u003c/h2\u003e\n\u003ch2\u003e0.4.2 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced \u003ccode\u003esetup.cfg\u003c/code\u003e with complete metadata.\u003c/li\u003e\n\u003cli\u003eSimplified \u003ccode\u003esetup.py\u003c/code\u003e to just call \u003ccode\u003esetup()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.1...v0.4.2\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.1...v0.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.4.1\u003c/h2\u003e\n\u003ch2\u003e0.4.1 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the release workflow to use a recent Python version.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.0...v0.4.1\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.0...v0.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.4.0\u003c/h2\u003e\n\u003ch2\u003e0.4.0 - 2026-01-14\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.3.2...v0.4.0\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.3.2...v0.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for more languages in toggle button text (see README for full list) \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/66\"\u003e#66\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/executablebooks/sphinx-togglebutton/blob/master/CHANGELOG.md\"\u003esphinx-togglebutton's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.5 - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix selector for admonition title in togglebutton.js.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.4 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade used version in release workflow to the latest available.\u003c/li\u003e\n\u003cli\u003eCorrect build command in \u003ccode\u003etests.yml\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.3 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing information in \u003ccode\u003etests.yml\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced \u003ccode\u003esetup.cfg\u003c/code\u003e with complete metadata.\u003c/li\u003e\n\u003cli\u003eSimplified \u003ccode\u003esetup.py\u003c/code\u003e to just call \u003ccode\u003esetup()\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the release workflow to use a recent Python version.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for more languages in toggle button text (see README for full list) \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/66\"\u003e#66\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded new functions (syncToggleHint, syncAllToggleHints) to dynamically update toggle button hints based on the current state  \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/66\"\u003e#66\u003c/a\u003e. This allows developers to change the open or closed state of an element and have the button hint text update accordingly automatically.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate togglebutton.js to use an admonition's existing ID if present, instead of always generating a new one \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/66\"\u003e#66\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/executablebooks/sphinx-togglebutton/commit/76bb31f8824428cf66acc864ad6506dcbf90051a\"\u003e\u003ccode\u003e76bb31f\u003c/code\u003e\u003c/a\u003e ...\n\n_Description has been truncated_","html_url":"https://github.com/ekiefl/pooltool/pull/334","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekiefl%2Fpooltool/issues/334","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/334/packages"},{"uuid":"4478389157","node_id":"PR_kwDORcvlw87dHgWn","number":20,"state":"closed","title":"deps: bump the python-minor-patch group across 1 directory with 3 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-31T01:29:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T14:48:26.000Z","updated_at":"2026-05-31T01:29:38.000Z","time_to_close":988870,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor-patch","update_count":3,"packages":[{"name":"tomlkit","old_version":"0.14.0","new_version":"0.15.0","repository_url":"https://github.com/python-poetry/tomlkit"},{"name":"hypothesis","old_version":"6.152.4","new_version":"6.153.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ruff","old_version":"0.15.12","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the python-minor-patch group with 3 updates in the / directory: [tomlkit](https://github.com/python-poetry/tomlkit), [hypothesis](https://github.com/HypothesisWorks/hypothesis) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `tomlkit` from 0.14.0 to 0.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-poetry/tomlkit/releases\"\u003etomlkit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(spec): update to toml spec v1.1 by \u003ca href=\"https://github.com/frostming\"\u003e\u003ccode\u003e@​frostming\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/456\"\u003epython-poetry/tomlkit#456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/455\"\u003epython-poetry/tomlkit#455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump virtualenv from 20.26.6 to 20.36.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/454\"\u003epython-poetry/tomlkit#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/458\"\u003epython-poetry/tomlkit#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump pygments from 2.18.0 to 2.20.0 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/464\"\u003epython-poetry/tomlkit#464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump pygments from 2.17.2 to 2.20.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/463\"\u003epython-poetry/tomlkit#463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump requests from 2.32.4 to 2.33.0 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/462\"\u003epython-poetry/tomlkit#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/461\"\u003epython-poetry/tomlkit#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eType annotations by \u003ca href=\"https://github.com/dimbleby\"\u003e\u003ccode\u003e@​dimbleby\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/460\"\u003epython-poetry/tomlkit#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor sort_keys for parsed TOML documents by \u003ca href=\"https://github.com/ShipItAndPray\"\u003e\u003ccode\u003e@​ShipItAndPray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/471\"\u003epython-poetry/tomlkit#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/469\"\u003epython-poetry/tomlkit#469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: fix a parser hang by \u003ca href=\"https://github.com/dimbleby\"\u003e\u003ccode\u003e@​dimbleby\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/470\"\u003epython-poetry/tomlkit#470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/472\"\u003epython-poetry/tomlkit#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump version to 0.15.0 and update changelog for release by \u003ca href=\"https://github.com/frostming\"\u003e\u003ccode\u003e@​frostming\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/473\"\u003epython-poetry/tomlkit#473\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/dimbleby\"\u003e\u003ccode\u003e@​dimbleby\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/460\"\u003epython-poetry/tomlkit#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShipItAndPray\"\u003e\u003ccode\u003e@​ShipItAndPray\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/471\"\u003epython-poetry/tomlkit#471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-poetry/tomlkit/compare/0.14.0...0.15.0\"\u003ehttps://github.com/python-poetry/tomlkit/compare/0.14.0...0.15.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/python-poetry/tomlkit/blob/master/CHANGELOG.md\"\u003etomlkit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.15.0] - 2026-05-10\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate parser to support TOML spec v1.1.0. (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/456\"\u003e#456\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/python-poetry/tomlkit/commit/8694e4d3323df68eb325bf3d5ab7caa66f8c206a\"\u003e\u003ccode\u003e8694e4d\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.15.0 and update changelog for release (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/e636a5121260e811dba9fd1c33656021f6855490\"\u003e\u003ccode\u003ee636a51\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/96a4d22fdd07e25742009a6bcd8a2d23e9b5574a\"\u003e\u003ccode\u003e96a4d22\u003c/code\u003e\u003c/a\u003e fix: fix a parser hang (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/470\"\u003e#470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/843f79992139ec56266f52161b27a3eadd1f6a35\"\u003e\u003ccode\u003e843f799\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/2c87eafe7c852d19c1b91a1c9bed4d47bd03816f\"\u003e\u003ccode\u003e2c87eaf\u003c/code\u003e\u003c/a\u003e Honor sort_keys for parsed TOML documents (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/471\"\u003e#471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/8e32f9cb7fcfbc45e893c34e0e9a590a26675fd6\"\u003e\u003ccode\u003e8e32f9c\u003c/code\u003e\u003c/a\u003e Type annotations (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/df98af48778f865d270d2f53e816d3b0948c8927\"\u003e\u003ccode\u003edf98af4\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/461\"\u003e#461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/4bd97db2c8fda5cbffc01acc586e3328168bac36\"\u003e\u003ccode\u003e4bd97db\u003c/code\u003e\u003c/a\u003e chore(deps): bump requests from 2.32.4 to 2.33.0 in /docs (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/462\"\u003e#462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/b2d703032bf2e44e680b67f2897c3a7c67be55eb\"\u003e\u003ccode\u003eb2d7030\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump pygments from 2.17.2 to 2.20.0 (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/463\"\u003e#463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/87d98b1d0100c5bd39736eda4cd9cc3d8e24bf48\"\u003e\u003ccode\u003e87d98b1\u003c/code\u003e\u003c/a\u003e chore(deps): bump pygments from 2.18.0 to 2.20.0 in /docs (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/464\"\u003e#464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-poetry/tomlkit/compare/0.14.0...0.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.152.4 to 6.153.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.9\u003c/h2\u003e\n\u003cp\u003eThis release substantially improves our internal distribution for\ngenerating integers. This release has the most visible effect on\n\u0026quot;integers()\u0026quot;, but may incidentally improve other strategies which draw\nintegers internally.\u003c/p\u003e\n\u003cp\u003eOur integers distribution had two problems. First, it had jagged\ndiscontinuities at certain values where we switched sampling\napproaches. Second, it used a different distribution for bounded and\nunbounded ranges, which resulted in \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(-2\u003cstrong\u003e64, 2\u003c/strong\u003e64)\u0026quot; producing very different distributions\ndespite being semantically similar.\u003c/p\u003e\n\u003cp\u003eWe now use a smooth distribution for both \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(a, b)\u0026quot;, which fixes both of these issues. This should\nsubstantially improve our testing power in certain cases.\u003c/p\u003e\n\u003cp\u003eThe only way this release should be user-visible is that it finds more\nbugs! If this release is user-visible in other ways - for example,\nbecause it is slower, or produces a worse distribution in some cases -\nplease open an issue.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-9\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.8\u003c/h2\u003e\n\u003cp\u003eThis release drops support for end-of-life Django 4.2.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-8\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.7\u003c/h2\u003e\n\u003cp\u003eThis patch improves our type hints for \u0026quot;.filter()\u0026quot; to work with\n\u0026quot;typing.TypeGuard\u0026quot;. For example:\u003c/p\u003e\n\u003cp\u003efrom typing import TypeGuard\u003c/p\u003e\n\u003cp\u003efrom hypothesis import strategies as st\u003c/p\u003e\n\u003cp\u003edef is_str(x: object) -\u0026gt; TypeGuard[str]:\nreturn isinstance(x, str)\u003c/p\u003e\n\u003cp\u003es = st.from_type(object).filter(is_str)\u003c/p\u003e\n\u003ch1\u003epreviously: SearchStrategy[object]\u003c/h1\u003e\n\u003ch1\u003enow: SearchStrategy[str]\u003c/h1\u003e\n\u003cp\u003ereveal_type(s)\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-7\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.6\u003c/h2\u003e\n\u003cp\u003eThis patch adds a shrinking pass that tries natural text\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/HypothesisWorks/hypothesis/commit/c9164165ffdd422c57309ccbdccf24c4ad96c8bf\"\u003e\u003ccode\u003ec916416\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.153.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3d12482a8b168ed5412568318f531a028daad9ab\"\u003e\u003ccode\u003e3d12482\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4663\"\u003e#4663\u003c/a\u003e from Liam-DeVoe/next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3cbb929ba6217922d8de141a73f8a6a4109cecb6\"\u003e\u003ccode\u003e3cbb929\u003c/code\u003e\u003c/a\u003e type as RegexFlag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/a82b87f197b8dc44294aa975f0f6a22222194489\"\u003e\u003ccode\u003ea82b87f\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3d67bbe2d313d50efc28c9abc6d5e11892ca2d5e\"\u003e\u003ccode\u003e3d67bbe\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.152.12 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e6406e22b7b652111aa2e0693d518758ed858a45\"\u003e\u003ccode\u003ee6406e2\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/a8ad3475d4e5d1492f1489388cdd1d4ed5072f5c\"\u003e\u003ccode\u003ea8ad347\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4742\"\u003e#4742\u003c/a\u003e from Zac-HD/claude/flaky-better-messages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/fb43759c9e0222ef8e94091302b968ab7e390bc1\"\u003e\u003ccode\u003efb43759\u003c/code\u003e\u003c/a\u003e claude: silence mypy on str-or-bytes add_char in regex builder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a30a44b16daf6257865b533375bc8ad98ad83bb\"\u003e\u003ccode\u003e8a30a44\u003c/code\u003e\u003c/a\u003e add more tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/fda6883f7c11abd741d401d1920b26593cc5b8de\"\u003e\u003ccode\u003efda6883\u003c/code\u003e\u003c/a\u003e use simpler choices_key\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.152.4...v6.153.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.15.12 to 0.15.14\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.15.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\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/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\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.15.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\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/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\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/9ad2da3015e5faf73bdc5f1d09df3e47238e3edf\"\u003e\u003ccode\u003e9ad2da3\u003c/code\u003e\u003c/a\u003e Bump 0.15.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25295\"\u003e#25295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c714e84952510696c05ec21b0158a3548898f594\"\u003e\u003ccode\u003ec714e84\u003c/code\u003e\u003c/a\u003e [ty] Modernize setup of union types in mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25291\"\u003e#25291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8a8e35ebfe318e2467a0f276e5d1a3a9032a55ad\"\u003e\u003ccode\u003e8a8e35e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parame...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aea5ed4d278017057c2e842c6c3a2e92ad71495f\"\u003e\u003ccode\u003eaea5ed4\u003c/code\u003e\u003c/a\u003e Avoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9d72bb420f26c23e6660bfce4dfa0028b931bff\"\u003e\u003ccode\u003ee9d72bb\u003c/code\u003e\u003c/a\u003e [ty] Allow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6cbd59b511a92d5f408db57bde33367c0d47b672\"\u003e\u003ccode\u003e6cbd59b\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eexclude-newer = \u0026quot;7 days\u0026quot;\u003c/code\u003e in our PEP-723 scripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25285\"\u003e#25285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9999a3967ae28fe3295131e8883b6947f272a076\"\u003e\u003ccode\u003e9999a39\u003c/code\u003e\u003c/a\u003e Update code example on how to update Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67d8c544f0d1c526a2fc60d4bb1358fd7956d178\"\u003e\u003ccode\u003e67d8c54\u003c/code\u003e\u003c/a\u003e [ty] Retain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/25a3191140dc0467f9d196f35c128fefde269261\"\u003e\u003ccode\u003e25a3191\u003c/code\u003e\u003c/a\u003e [ty] Refine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c423054dc09e5b644c926b6b527b6accfbe693e9\"\u003e\u003ccode\u003ec423054\u003c/code\u003e\u003c/a\u003e Add a recursion limit to the parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.12...0.15.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/Cognitohazard/ltspice-mcp/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cognitohazard%2Fltspice-mcp/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"},{"uuid":"4434834778","node_id":"PR_kwDOR76B_M7a9V6q","number":57,"state":"closed","title":"Bump the conda-dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","conda"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-13T19:30:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-13T04:33:49.000Z","updated_at":"2026-05-13T19:30:49.000Z","time_to_close":53818,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"conda-dependencies","update_count":11,"packages":[{"name":"python","old_version":"3.14","new_version":"3.14.4"},{"name":"numba","old_version":"0.65.0","new_version":"0.65.1"},{"name":"numpyro","old_version":"0.20.1","new_version":"0.21.0"},{"name":"pandas","old_version":"3.0.1","new_version":"3.0.3"},{"name":"ipython","old_version":"9.12.0","new_version":"9.13.0","repository_url":"https://github.com/ipython/ipython"},{"name":"matplotlib","old_version":"3.10.8","new_version":"3.10.9","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"notebook","old_version":"7.5.5","new_version":"7.5.6","repository_url":"https://github.com/jupyter/notebook"},{"name":"orjson","old_version":"3.11.8","new_version":"3.11.9","repository_url":"https://github.com/ijl/orjson"},{"name":"pandas","old_version":"3.0.1","new_version":"3.0.3"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.12","repository_url":"https://github.com/astral-sh/ruff"},{"name":"setuptools","old_version":"81.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"}],"path":null,"ecosystem":"conda"},"body":"Updates the requirements on python, arviz, numba, numpyro, pandas, [ipython](https://github.com/ipython/ipython), [matplotlib](https://github.com/matplotlib/matplotlib), [notebook](https://github.com/jupyter/notebook), [orjson](https://github.com/ijl/orjson), [ruff](https://github.com/astral-sh/ruff) and [setuptools](https://github.com/pypa/setuptools) to permit the latest version.\nUpdates `python` from 3.14 to 3.14.4\n\nUpdates `arviz` to 1.1.0\n\nUpdates `numba` from 0.65.0 to 0.65.1\n\nUpdates `numpyro` from 0.20.1 to 0.21.0\n\nUpdates `pandas` from 3.0.1 to 3.0.3\n\nUpdates `ipython` from 9.12.0 to 9.13.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/7c1654dcb4bc0d4c841fbee1f5abf7c6c6007111\"\u003e\u003ccode\u003e7c1654d\u003c/code\u003e\u003c/a\u003e release 9.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d7cd8a44234ddbdba782a42fce7893a4ff4529f4\"\u003e\u003ccode\u003ed7cd8a4\u003c/code\u003e\u003c/a\u003e Fix reStructuredText heading underline consistency in whatsnew (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15189\"\u003e#15189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/6542c95bef054c7ed4c1725047726b7140fe0e4d\"\u003e\u003ccode\u003e6542c95\u003c/code\u003e\u003c/a\u003e Fix RST header levels in whatsnew/version9.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/0ca3e92249fb0af429b40e4827000955d5ceeeb3\"\u003e\u003ccode\u003e0ca3e92\u003c/code\u003e\u003c/a\u003e Prepare release notes for 9.13 (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15188\"\u003e#15188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/9c8ce1184eceb865d392b39030d6c670caea89c5\"\u003e\u003ccode\u003e9c8ce11\u003c/code\u003e\u003c/a\u003e Revert release.py change, keep as dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/1fb2f7dc221e9b889d857b79c38704eab594d4c0\"\u003e\u003ccode\u003e1fb2f7d\u003c/code\u003e\u003c/a\u003e Prepare release notes for 9.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/be4179d1ba8b5c4e0f0d35a7d2f1654fd15c96e3\"\u003e\u003ccode\u003ebe4179d\u003c/code\u003e\u003c/a\u003e Implement support for image/png format in terminal (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15184\"\u003e#15184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/1ec6bc9ca9558877b5bfccf66c22e8e61ceba83d\"\u003e\u003ccode\u003e1ec6bc9\u003c/code\u003e\u003c/a\u003e Implement support for image/png format in terminal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/c6f48bceeec68b6ad9b9e6270eee9a7f4277b245\"\u003e\u003ccode\u003ec6f48bc\u003c/code\u003e\u003c/a\u003e solves \u003ca href=\"https://redirect.github.com/ipython/ipython/issues/14901\"\u003e#14901\u003c/a\u003e illegible yellow string on yellow background issue (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15156\"\u003e#15156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/8635f71fc551d76f017ad47c826bb7c7bfcb6b24\"\u003e\u003ccode\u003e8635f71\u003c/code\u003e\u003c/a\u003e fix: CapturedIO.\u003cstrong\u003einit\u003c/strong\u003e type annotations to accept Optional[StringIO] (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15172\"\u003e#15172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.12.0...9.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.8 to 3.10.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.9\u003c/h2\u003e\n\u003cp\u003eThis is a micro release of the v3.10.x series.\nHighlights of this release include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious minor bug and doc fixes\u003c/li\u003e\n\u003cli\u003eSecurity hardening validation of cyclers - Removing eval usage\u003c/li\u003e\n\u003cli\u003eSecurity hardening in Latex and PS calls - Removing shell escapes\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/matplotlib/matplotlib/commit/dd8d78b8dce60b6c8db86132892577a0b9dbe469\"\u003e\u003ccode\u003edd8d78b\u003c/code\u003e\u003c/a\u003e REL: v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/2fb18915bcfe69a188832c776fe18d88337de9bc\"\u003e\u003ccode\u003e2fb1891\u003c/code\u003e\u003c/a\u003e REL: Release prep v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/d0e923abfa016c04901fe4e315b9d215949f6fc5\"\u003e\u003ccode\u003ed0e923a\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.8-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/163793248a5fc9f23a560e45551c44351a8bd716\"\u003e\u003ccode\u003e1637932\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31558\"\u003e#31558\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31556-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a83faacb0dbe7edd1bae38e1e715b77b6aaebb84\"\u003e\u003ccode\u003ea83faac\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31556\"\u003e#31556\u003c/a\u003e: FIX: Inverted PyErr_Occurred check in enum type caster (_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a4f57ab0623f9d26be29e0a3b0de904667c7eeb7\"\u003e\u003ccode\u003ea4f57ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31545\"\u003e#31545\u003c/a\u003e from ksunden/backport-of-pr-31282-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/063288d0cc912aa2af5cc1b7e7ca3d228d9f8976\"\u003e\u003ccode\u003e063288d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31544\"\u003e#31544\u003c/a\u003e from ksunden/backport-of-pr-31248-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/b2ed1969191a03ec8927f96573664474662ab4c1\"\u003e\u003ccode\u003eb2ed196\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31248\"\u003e#31248\u003c/a\u003e: SEC: Remove eval() from validate_cycler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/acc60241a70b920eaf04fce41a8cf0a77010fb7d\"\u003e\u003ccode\u003eacc6024\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31282\"\u003e#31282\u003c/a\u003e from scottshambaugh/tex_no_shell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/e3fb54163b1ce9dbc1a9e8e0973289dc14e366c2\"\u003e\u003ccode\u003ee3fb541\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31078\"\u003e#31078\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31075-on-v...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.8...v3.10.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `notebook` from 7.5.5 to 7.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/notebook/releases\"\u003enotebook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.5.6\u003c/h2\u003e\n\u003ch2\u003e7.5.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.5...2e642f0cb10be314ba5d97d709cffe41bf992d9e\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eSecurity patches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-42557 \u003ca href=\"https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-mqcg-5x36-vfcg\"\u003ehttps://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-mqcg-5x36-vfcg\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCVE-2026-40171 \u003ca href=\"https://github.com/jupyter/notebook/security/advisories/GHSA-rch3-82jr-f9w9\"\u003ehttps://github.com/jupyter/notebook/security/advisories/GHSA-rch3-82jr-f9w9\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to JupyterLab v4.5.7 \u003ca href=\"https://redirect.github.com/jupyter/notebook/pull/7902\"\u003e#7902\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: Fix broken links in troubleshooting and migration docs \u003ca href=\"https://redirect.github.com/jupyter/notebook/pull/7824\"\u003e#7824\u003c/a\u003e (\u003ca href=\"https://github.com/RamiNoodle733\"\u003e\u003ccode\u003e@​RamiNoodle733\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/notebook/graphs/contributors?from=2026-03-11\u0026amp;to=2026-04-30\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2026-03-11..2026-04-30\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/RamiNoodle733\"\u003e\u003ccode\u003e@​RamiNoodle733\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARamiNoodle733+updated%3A2026-03-11..2026-04-30\u0026amp;type=Issues\"\u003eactivity\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/jupyter/notebook/blob/@jupyter-notebook/tree@7.5.6/CHANGELOG.md\"\u003enotebook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.5.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.5...2e642f0cb10be314ba5d97d709cffe41bf992d9e\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to JupyterLab v4.5.7 \u003ca href=\"https://redirect.github.com/jupyter/notebook/pull/7902\"\u003e#7902\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: Fix broken links in troubleshooting and migration docs \u003ca href=\"https://redirect.github.com/jupyter/notebook/pull/7824\"\u003e#7824\u003c/a\u003e (\u003ca href=\"https://github.com/RamiNoodle733\"\u003e\u003ccode\u003e@​RamiNoodle733\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/notebook/graphs/contributors?from=2026-03-11\u0026amp;to=2026-04-30\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2026-03-11..2026-04-30\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/RamiNoodle733\"\u003e\u003ccode\u003e@​RamiNoodle733\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARamiNoodle733+updated%3A2026-03-11..2026-04-30\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\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/jupyter/notebook/commit/1ab2d2b99261996e94069ca53dd3d74b8b2ee1ba\"\u003e\u003ccode\u003e1ab2d2b\u003c/code\u003e\u003c/a\u003e Publish 7.5.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/notebook/commit/50e5222c9670121c3369900c7dce01aae53823fc\"\u003e\u003ccode\u003e50e5222\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/notebook/commit/2e642f0cb10be314ba5d97d709cffe41bf992d9e\"\u003e\u003ccode\u003e2e642f0\u003c/code\u003e\u003c/a\u003e Update to JupyterLab v4.5.7 (\u003ca href=\"https://redirect.github.com/jupyter/notebook/issues/7902\"\u003e#7902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/notebook/commit/4b93f98b5a6e57027a2e1d58694b56e2ebd793a3\"\u003e\u003ccode\u003e4b93f98\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyter/notebook/issues/7824\"\u003e#7824\u003c/a\u003e: docs: Fix broken links in troubleshooting and migration do...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jupyter/notebook/compare/@jupyter-notebook/tree@7.5.5...@jupyter-notebook/tree@7.5.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.8 to 3.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.9\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.95 or later instead of 1.89.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix building on Rust 1.95.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.9 - 2026-05-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.95 or later instead of 1.89.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix building on Rust 1.95.\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/ijl/orjson/commit/705515d77b28429d0b7c30c3d781abe52e8a1e5a\"\u003e\u003ccode\u003e705515d\u003c/code\u003e\u003c/a\u003e 3.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d19055d5bab432f98d53b71606a9c6c23fb21bf6\"\u003e\u003ccode\u003ed19055d\u003c/code\u003e\u003c/a\u003e build update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/77e2d96c3febe099cde2447856fe2523d68c71b0\"\u003e\u003ccode\u003e77e2d96\u003c/code\u003e\u003c/a\u003e MSRV 1.95, remove compiler feature detection\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.8...3.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 3.0.1 to 3.0.3\n\nUpdates `ruff` from 0.15.11 to 0.15.12\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.15.12\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-24.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ccode\u003e#ruff:file-ignore\u003c/code\u003e file-level suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23599\"\u003e#23599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003e#ruff:ignore\u003c/code\u003e logical-line suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23404\"\u003e#23404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert preview changes to displayed diagnostic severity in LSP (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24789\"\u003e#24789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003etask-branch-as-short-circuit\u003c/code\u003e (\u003ccode\u003eAIR004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23579\"\u003e#23579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Fix \u003ccode\u003ebreak\u003c/code\u003e/\u003ccode\u003econtinue\u003c/code\u003e handling in \u003ccode\u003eloop-iterator-mutation\u003c/code\u003e (\u003ccode\u003eB909\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24440\"\u003e#24440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLC2701\u003c/code\u003e for type parameter scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24576\"\u003e#24576\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Suggest \u003ccode\u003e.array\u003c/code\u003e as well in \u003ccode\u003ePD011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24805\"\u003e#24805\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect default Unix permissions for cache files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24794\"\u003e#24794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR0124\u003c/code\u003e description not to claim self-comparison always returns the same value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24749\"\u003e#24749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Expand docs on reusable \u003ccode\u003eTypeVar\u003c/code\u003es and scoping (\u003ccode\u003eUP046\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24153\"\u003e#24153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove rules table accessibility (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24711\"\u003e#24711\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/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\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/woodruffw\"\u003e\u003ccode\u003e@​woodruffw\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/avasis-ai\"\u003e\u003ccode\u003e@​avasis-ai\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShipItAndPray\"\u003e\u003ccode\u003e@​ShipItAndPray\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\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/majiayu000\"\u003e\u003ccode\u003e@​majiayu000\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.12\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://releases.astral.sh/github/ruff/releases/download/0.15.12/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.15.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-24.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ccode\u003e#ruff:file-ignore\u003c/code\u003e file-level suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23599\"\u003e#23599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003e#ruff:ignore\u003c/code\u003e logical-line suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23404\"\u003e#23404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert preview changes to displayed diagnostic severity in LSP (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24789\"\u003e#24789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003etask-branch-as-short-circuit\u003c/code\u003e (\u003ccode\u003eAIR004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23579\"\u003e#23579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Fix \u003ccode\u003ebreak\u003c/code\u003e/\u003ccode\u003econtinue\u003c/code\u003e handling in \u003ccode\u003eloop-iterator-mutation\u003c/code\u003e (\u003ccode\u003eB909\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24440\"\u003e#24440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLC2701\u003c/code\u003e for type parameter scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24576\"\u003e#24576\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Suggest \u003ccode\u003e.array\u003c/code\u003e as well in \u003ccode\u003ePD011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24805\"\u003e#24805\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect default Unix permissions for cache files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24794\"\u003e#24794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR0124\u003c/code\u003e description not to claim self-comparison always returns the same value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24749\"\u003e#24749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Expand docs on reusable \u003ccode\u003eTypeVar\u003c/code\u003es and scoping (\u003ccode\u003eUP046\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24153\"\u003e#24153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove rules table accessibility (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24711\"\u003e#24711\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/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\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/woodruffw\"\u003e\u003ccode\u003e@​woodruffw\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/avasis-ai\"\u003e\u003ccode\u003e@​avasis-ai\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShipItAndPray\"\u003e\u003ccode\u003e@​ShipItAndPray\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\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/majiayu000\"\u003e\u003ccode\u003e@​majiayu000\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/66f93cf7ed4d36325f35a452e4afa28268fbcd28\"\u003e\u003ccode\u003e66f93cf\u003c/code\u003e\u003c/a\u003e Bump 0.15.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24815\"\u003e#24815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/476a4d02e8e3b6c157ac39979d8b698a1b6baa91\"\u003e\u003ccode\u003e476a4d0\u003c/code\u003e\u003c/a\u003e [ty] Complete support for more detailed diagnostics on possibly unbound error...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ed669eab30095d6c51fe6cdef6050fb01276bcb3\"\u003e\u003ccode\u003eed669ea\u003c/code\u003e\u003c/a\u003e Implement \u003ccode\u003e#ruff:file-ignore\u003c/code\u003e file-level suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23599\"\u003e#23599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e73d952e43feb51356ee740c5a973fce81396ff6\"\u003e\u003ccode\u003ee73d952\u003c/code\u003e\u003c/a\u003e [ty] Include inferred type in \u003ccode\u003einvalid-key\u003c/code\u003e concise diagnostic for union/inte...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/80feb29b31cd98c093316df2e0407b0c70c01b55\"\u003e\u003ccode\u003e80feb29\u003c/code\u003e\u003c/a\u003e [ty] report only dead annotation-only locals as unused (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24811\"\u003e#24811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0fbf2bc27336a3d17d39af52cf89b78dcda8c7c8\"\u003e\u003ccode\u003e0fbf2bc\u003c/code\u003e\u003c/a\u003e Drop deprecated license classifier (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24808\"\u003e#24808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/43b174cc7f2fcb0080bb1d4843cd4bf6b72bbe27\"\u003e\u003ccode\u003e43b174c\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda parameter types with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24317\"\u003e#24317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4f449ae4a2377569330a5ab94799d389357b5a3f\"\u003e\u003ccode\u003e4f449ae\u003c/code\u003e\u003c/a\u003e [ty] Add error context for intersection types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24772\"\u003e#24772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5b4e753acb46e96ad408e4904c15308e33efe307\"\u003e\u003ccode\u003e5b4e753\u003c/code\u003e\u003c/a\u003e [ty] Add support for goto in literal enum member inlay hint (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24792\"\u003e#24792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e7cc76275a758ce1c636ea1c2d091fd576aac794\"\u003e\u003ccode\u003ee7cc762\u003c/code\u003e\u003c/a\u003e [ty] Add error context for TypedDict assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24790\"\u003e#24790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` from 81.0.0 to 82.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools/blob/main/NEWS.rst\"\u003esetuptools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev82.0.1\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the loading of \u003ccode\u003elauncher manifest.xml\u003c/code\u003e file. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5047\"\u003e#5047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplaced deprecated \u003ccode\u003ejson.__version__\u003c/code\u003e with fixture in tests. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5186\"\u003e#5186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd advice about how to improve predictability when installing sdists. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5168\"\u003e#5168\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4941\"\u003e#4941\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev82.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epkg_resources\u003c/code\u003e has been removed from Setuptools. Most common uses of \u003ccode\u003epkg_resources\u003c/code\u003e have been superseded by the \u003ccode\u003eimportlib.resources \u0026lt;https://docs.python.org/3/library/importlib.resources.html\u0026gt;\u003c/code\u003e_ and \u003ccode\u003eimportlib.metadata \u0026lt;https://docs.python.org/3/library/importlib.metadata.html\u0026gt;\u003c/code\u003e_ projects. Projects and environments relying on \u003ccode\u003epkg_resources\u003c/code\u003e for namespace packages or other behavior should depend on older versions of \u003ccode\u003esetuptools\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/3085\"\u003e#3085\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/pypa/setuptools/commit/5a13876673a41e3cd21d4d6e587f53d0fb4fd8e5\"\u003e\u003ccode\u003e5a13876\u003c/code\u003e\u003c/a\u003e Bump version: 82.0.0 → 82.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/51ab8f183f1c4112675d8d6ec6b004406d518ee8\"\u003e\u003ccode\u003e51ab8f1\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5194\"\u003e#5194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/f9c37b20bb0ed11203f676f9683452a4c3ace6f6\"\u003e\u003ccode\u003ef9c37b2\u003c/code\u003e\u003c/a\u003e Docs/CI: Fix intersphinx references (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5195\"\u003e#5195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/8173db2a4fc0f6cb28926b3dba59116b79f435c8\"\u003e\u003ccode\u003e8173db2\u003c/code\u003e\u003c/a\u003e Docs: Fix intersphinx references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/09bafbc74923f2a3591b5b098be75d6af6ca5141\"\u003e\u003ccode\u003e09bafbc\u003c/code\u003e\u003c/a\u003e Fix past tense on newsfragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/461ea56c8e629819a23920f44d9298d4f041abde\"\u003e\u003ccode\u003e461ea56\u003c/code\u003e\u003c/a\u003e Add news fragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/c4ffe535b58235ff9f9ebe90d24a2cffb57e70ae\"\u003e\u003ccode\u003ec4ffe53\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/749258b1a96c7accc05ea7d842fb19fc378866fe\"\u003e\u003ccode\u003e749258b\u003c/code\u003e\u003c/a\u003e Cleanup \u003ccode\u003epkg_resources\u003c/code\u003e dependencies and configuration (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/2019c16701667db1010c62ec11c6ef78c2e58206\"\u003e\u003ccode\u003e2019c16\u003c/code\u003e\u003c/a\u003e Parse \u003ccode\u003eext-module.define-macros\u003c/code\u003e from \u003ccode\u003epyproject.toml\u003c/code\u003e as list of tuples (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/b809c86a37d97fcce290d5f51d4c293ab40bc685\"\u003e\u003ccode\u003eb809c86\u003c/code\u003e\u003c/a\u003e Sync setuptools schema with validate-pyproject (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools/compare/v81.0.0...v82.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/dseinternational/language-reading-predictors/pull/57","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dseinternational%2Flanguage-reading-predictors/issues/57","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/57/packages"},{"uuid":"4116456975","node_id":"PR_kwDOIye5g87MgBRi","number":19,"state":"open","title":"chore(deps): bump the python-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-22T16:26:46.000Z","updated_at":"2026-03-30T08:01:54.215Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":5,"packages":[{"name":"duckdb","old_version":"1.4.4","new_version":"1.5.0","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"textual","old_version":"8.0.2","new_version":"8.1.1","repository_url":"https://github.com/Textualize/textual"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"ruff","old_version":"0.15.4","new_version":"0.15.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.19","new_version":"0.0.24","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"conda"},"body":"Bumps the python-dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.4.4` | `1.5.0` |\n| [textual](https://github.com/Textualize/textual) | `8.0.2` | `8.1.1` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.4` | `0.15.7` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.19` | `0.0.24` |\n\n\nUpdates `duckdb` from 1.4.4 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/duckdb/duckdb-python/releases\"\u003educkdb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDuckDB Python 1.5.0 \u0026quot;Variegata\u0026quot;\u003c/h2\u003e\n\u003cp\u003eThis is the 1.5.0 release of DuckDB's Python bindings. For a list of changes in DuckDB core, have a look at the \u003ca href=\"https://github.com/duckdb/duckdb/releases/tag/v1.5.0\"\u003eDuckDB release notes\u003c/a\u003e and \u003ca href=\"https://duckdb.org/2026/03/09/announcing-duckdb-150.html\"\u003ethe blogpost\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eDropped Python 3.9 support.\u003c/strong\u003e The minimum supported version is now Python 3.10.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRemoved deprecated \u003ccode\u003educkdb.typing\u003c/code\u003e and \u003ccode\u003educkdb.functional\u003c/code\u003e modules.\u003c/strong\u003e These were deprecated in 1.4.0. Use \u003ccode\u003educkdb.sqltypes\u003c/code\u003e and \u003ccode\u003educkdb.func\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRenamed \u003ccode\u003ecolumn\u003c/code\u003e parameter to \u003ccode\u003eexpression\u003c/code\u003e\u003c/strong\u003e in relational API functions (e.g., \u003ccode\u003emin\u003c/code\u003e, \u003ccode\u003emax\u003c/code\u003e, \u003ccode\u003esum\u003c/code\u003e, \u003ccode\u003emean\u003c/code\u003e, etc.) to better reflect that these accept expressions, not just column names.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated \u003ccode\u003efetch_arrow_table()\u003c/code\u003e and \u003ccode\u003efetch_record_batch()\u003c/code\u003e\u003c/strong\u003e on connections and relations. Use the new \u003ccode\u003eto_arrow_table()\u003c/code\u003e and \u003ccode\u003eto_arrow_reader()\u003c/code\u003e methods instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePolars LazyFrame projection and filter pushdown.\u003c/strong\u003e DuckDB can now push down projections and filters when scanning Polars LazyFrames, including support for cast nodes and unstrict casts.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePolars Int128 / UInt128 support.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVARIANT type support\u003c/strong\u003e — Python conversion, NumPy array wrapping, and type stubs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTIME_NS type support\u003c/strong\u003e — nanosecond-precision time values across Python, NumPy, and Spark type systems.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProfiling API\u003c/strong\u003e — new \u003ccode\u003eget_profiling_info()\u003c/code\u003e and \u003ccode\u003eget_profiling_json()\u003c/code\u003e methods on connections, plus a refactored \u003ccode\u003equery_graph\u003c/code\u003e module with improved HTML visualization (dark mode, expandable phases, depth).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eto_arrow_table()\u003c/code\u003e and \u003ccode\u003eto_arrow_reader()\u003c/code\u003e\u003c/strong\u003e — new methods on connections and relations as the preferred Arrow export API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e__arrow_c_stream__\u003c/code\u003e on relations\u003c/strong\u003e — relations now export via the Arrow PyCapsule interface using \u003ccode\u003ePhysicalArrowCollector\u003c/code\u003e for zero-copy streaming.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUnified Arrow stream scanning\u003c/strong\u003e via \u003ccode\u003e__arrow_c_stream__\u003c/code\u003e, with filter pushdown only when pyarrow is present.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eArrow schema caching\u003c/strong\u003e to avoid repeated lookups during scanning.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eArrow object type caching\u003c/strong\u003e to avoid repeated detection.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEmpty params treated as None for \u003ccode\u003e.sql()\u003c/code\u003e\u003c/strong\u003e — avoids unnecessary parameter binding overhead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSimplified GIL management\u003c/strong\u003e for \u003ccode\u003eFetchRow\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed Python object leak in scalar UDFs\u003c/strong\u003e — \u003ccode\u003ePyObject_CallObject\u003c/code\u003e return values are now properly stolen to avoid reference count leaks.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed reference cycle\u003c/strong\u003e between connections and relations that could prevent garbage collection.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelations now hold a reference to their connection\u003c/strong\u003e, preventing premature connection closure.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed fsspec race condition\u003c/strong\u003e in the Python filesystem implementation.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed numeric conversion logic\u003c/strong\u003e — improved handling of large integers (fallback to VARCHAR) and UNION types.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003epyarrow.dataset\u003c/code\u003e import is now optional\u003c/strong\u003e — no longer fails if pyarrow is installed without the dataset module.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eThrown a reasonable error\u003c/strong\u003e when an Arrow array stream has already been consumed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild \u0026amp; Packaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ejemalloc enabled on Linux x86_64 only\u003c/strong\u003e (aligned with DuckDB core), removed as a separately bundled extension.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMSVC runtime linked statically\u003c/strong\u003e on Windows — eliminates the VS2019 workaround from \u003ca href=\"https://redirect.github.com/duckdb/duckdb/issues/17991\"\u003educkdb/duckdb#17991\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/duckdb/duckdb-python/commit/87e7928a47eced6b72d6fc95c2d860f769390038\"\u003e\u003ccode\u003e87e7928\u003c/code\u003e\u003c/a\u003e pin release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/a85f289a46d1b48a41c78f0c0a5151d8386aa11f\"\u003e\u003ccode\u003ea85f289\u003c/code\u003e\u003c/a\u003e [duckdb-labs bot] Bump DuckDB submodule (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/e0ebd50b2a94e093ca7cb0b77504b503e0968719\"\u003e\u003ccode\u003ee0ebd50\u003c/code\u003e\u003c/a\u003e Bump submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/2955da9102259c6cd924d38afff342b6d63f8cae\"\u003e\u003ccode\u003e2955da9\u003c/code\u003e\u003c/a\u003e [duckdb-labs bot] Bump DuckDB submodule (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/360\"\u003e#360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/7ca17e51d2b1c8d3bb891148022d3e4847389276\"\u003e\u003ccode\u003e7ca17e5\u003c/code\u003e\u003c/a\u003e Bump submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/fb7cee85510e7bc01078fa12e29c2e24b64cbff7\"\u003e\u003ccode\u003efb7cee8\u003c/code\u003e\u003c/a\u003e Pin submodule to release hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/6b092b00b94bf46c1671829255c5c7bc115214cd\"\u003e\u003ccode\u003e6b092b0\u003c/code\u003e\u003c/a\u003e [duckdb-labs bot] Bump DuckDB submodule (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/3e7a6d3ea62d2d28a092f0ba48d91a809f268f44\"\u003e\u003ccode\u003e3e7a6d3\u003c/code\u003e\u003c/a\u003e Bump submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/55013e18c8e29e5ee23e38cc9eddf54351808d7f\"\u003e\u003ccode\u003e55013e1\u003c/code\u003e\u003c/a\u003e Allow strict casts of literals only in polars lazyframe pushdown (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/348\"\u003e#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/b8d19d0688a0ec31db16c82bf353fba5cda58dcd\"\u003e\u003ccode\u003eb8d19d0\u003c/code\u003e\u003c/a\u003e Fix failing tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.4.4...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `textual` from 8.0.2 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Hotly Completed Release\u003c/h2\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix for animation on complete \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6412\"\u003eTextualize/textual#6412\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Paused Released\u003c/h2\u003e\n\u003cp\u003eThis release should smooth scrolling large documents, particularly for Python \u0026lt; 3.14\u003c/p\u003e\n\u003ch2\u003e[8.1.0] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace circuar references in DOM with weak references to improve GC times \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen animating an attribute a second time, the original \u003ccode\u003eon_complete\u003c/code\u003e is now called \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eApp.PAUSE_GC_ON_SCROLL_\u003c/code\u003e boolean (disabled by default) \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix for animation on complete \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6412\"\u003eTextualize/textual#6412\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.0] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace circuar references in DOM with weak references to improve GC times \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen animating an attribute a second time, the original \u003ccode\u003eon_complete\u003c/code\u003e is now called \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eApp.PAUSE_GC_ON_SCROLL_\u003c/code\u003e boolean (disabled by default) \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\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/Textualize/textual/commit/0f0849fd37fbd0d4d6f81889476c22340129df67\"\u003e\u003ccode\u003e0f0849f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6412\"\u003e#6412\u003c/a\u003e from Textualize/on-complete-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/6163ba1e6c6a0526b88064dbe19731e7358db86b\"\u003e\u003ccode\u003e6163ba1\u003c/code\u003e\u003c/a\u003e detailed tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/11a3139b36daae3393f124c696204fd091a4834c\"\u003e\u003ccode\u003e11a3139\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/d4dac52c8a332b5d17ea85057ed2f575241c8d08\"\u003e\u003ccode\u003ed4dac52\u003c/code\u003e\u003c/a\u003e fix on complete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/6939565f7f1256e9b49e4c28b798dbc65cabb7fe\"\u003e\u003ccode\u003e6939565\u003c/code\u003e\u003c/a\u003e date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1c20709a36cc8a8b3abf0a6fdd50f039d2f46325\"\u003e\u003ccode\u003e1c20709\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6397\"\u003e#6397\u003c/a\u003e from NSPC911-forks/pilot-also-allow-changing-button\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ac7ef91ee17f298d8ff24750905cffd36d46eed4\"\u003e\u003ccode\u003eac7ef91\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6410\"\u003e#6410\u003c/a\u003e from Textualize/reduce-circular-refs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/76a09fee688b6bac8c2139f0d66d05d843295447\"\u003e\u003ccode\u003e76a09fe\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a3bb8dda9d5c438962ca76e7b01b00eb4f8c57a5\"\u003e\u003ccode\u003ea3bb8dd\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0a44222381924d2d511fd5c2a133b9a1771cce02\"\u003e\u003ccode\u003e0a44222\u003c/code\u003e\u003c/a\u003e Better naming\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.0.2...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 7.0.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 (2026-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed total coverage computation to always be consistent, regardless of reporting settings.\nPreviously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on\nreporting options.\nSee \u003ccode\u003e[#641](https://github.com/pytest-dev/pytest-cov/issues/641) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/641\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove handling of ResourceWarning from sqlite3.\u003c/p\u003e\n\u003cp\u003eThe plugin adds warning filter for sqlite3 \u003ccode\u003eResourceWarning\u003c/code\u003e unclosed database (since 6.2.0).\nIt checks if there is already existing plugin for this message by comparing filter regular expression.\nWhen filter is specified on command line the message is escaped and does not match an expected message.\nA check for an escaped regular expression is added to handle this case.\u003c/p\u003e\n\u003cp\u003eWith this fix one can suppress \u003ccode\u003eResourceWarning\u003c/code\u003e from sqlite3 from command line::\u003c/p\u003e\n\u003cp\u003epytest -W \u0026quot;ignore:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\u0026quot; ...\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious improvements to documentation.\nContributed by Art Pelling in \u003ccode\u003e[#718](https://github.com/pytest-dev/pytest-cov/issues/718) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/718\u0026gt;\u003c/code\u003e_ and\n\u0026quot;vivodi\u0026quot; in \u003ccode\u003e[#738](https://github.com/pytest-dev/pytest-cov/issues/738) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/738\u0026gt;\u003c/code\u003e\u003cem\u003e.\nAlso closed \u003ccode\u003e[#736](https://github.com/pytest-dev/pytest-cov/issues/736) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/736\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed some assertions in tests.\nContributed by in Markéta Machová in \u003ccode\u003e[#722](https://github.com/pytest-dev/pytest-cov/issues/722) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/722\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).\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-cov/commit/66c8a526b1246b5eb8fb1bc218878131bc628622\"\u003e\u003ccode\u003e66c8a52\u003c/code\u003e\u003c/a\u003e Bump version: 7.0.0 → 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f7076624784332594aa4cb3585d4757d295db15e\"\u003e\u003ccode\u003ef707662\u003c/code\u003e\u003c/a\u003e Make the examples use pypy 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/6049a7847872e3139e6c82e93787123df5dc8672\"\u003e\u003ccode\u003e6049a78\u003c/code\u003e\u003c/a\u003e Make context test use the old ctracer (seems the new sysmon tracer behaves di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/8ebf20bbbc73478b3f8fd36d30237d9ea083f06b\"\u003e\u003ccode\u003e8ebf20b\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/861d30e60d571f97259c6b718b71c819d5dbc3b9\"\u003e\u003ccode\u003e861d30e\u003c/code\u003e\u003c/a\u003e Remove the backup context manager  - shouldn't be needed since coverage 5.0, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/fd4c956014035527f0c3c8d7faef3f8cfdadac7f\"\u003e\u003ccode\u003efd4c956\u003c/code\u003e\u003c/a\u003e Pass the precision on the nulled total (seems that there's some caching goion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/78c9c4ecb005faf4962fd86ff7bf9c9cce9554d6\"\u003e\u003ccode\u003e78c9c4e\u003c/code\u003e\u003c/a\u003e Only run the 3.9 on older deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/4849a922e8be725c662a3d9175da571ace6545dc\"\u003e\u003ccode\u003e4849a92\u003c/code\u003e\u003c/a\u003e Punctuation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/197c35e2f37031fd1927715307ab6eed7cb3d2b7\"\u003e\u003ccode\u003e197c35e\u003c/code\u003e\u003c/a\u003e Update changelog and hopefully I don't forget to publish release again :))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/14dc1c92d44108384e39803888635fdbfc578b7f\"\u003e\u003ccode\u003e14dc1c9\u003c/code\u003e\u003c/a\u003e Update examples to use 3.11 and make the adhoc layout example look a bit more...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v7.0.0...v7.1.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.15.4 to 0.15.7\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.15.7\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisplay output severity in preview (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23845\"\u003e#23845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't show \u003ccode\u003enoqa\u003c/code\u003e hover for non-Python documents (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24040\"\u003e#24040\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Recognize \u003ccode\u003epyrefly:\u003c/code\u003e as a pragma comment (\u003ccode\u003eE501\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24019\"\u003e#24019\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't return code actions for non-Python documents (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23905\"\u003e#23905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd company AI policy to contributing guide (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24021\"\u003e#24021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument editor features for Markdown code formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23924\"\u003e#23924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Improve phrasing (\u003ccode\u003ePLC0208\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24033\"\u003e#24033\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse PEP 639 license information (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19661\"\u003e#19661\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/tmimmanuel\"\u003e\u003ccode\u003e@​tmimmanuel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\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/statxc\"\u003e\u003ccode\u003e@​statxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hunterhogan\"\u003e\u003ccode\u003e@​hunterhogan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.7\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://releases.astral.sh/github/ruff/releases/download/0.15.7/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ruff/releases/download/0.15.7/ruff-installer.ps1 | iex\u0026quot;\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\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.15.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisplay output severity in preview (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23845\"\u003e#23845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't show \u003ccode\u003enoqa\u003c/code\u003e hover for non-Python documents (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24040\"\u003e#24040\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Recognize \u003ccode\u003epyrefly:\u003c/code\u003e as a pragma comment (\u003ccode\u003eE501\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24019\"\u003e#24019\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't return code actions for non-Python documents (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23905\"\u003e#23905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd company AI policy to contributing guide (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24021\"\u003e#24021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument editor features for Markdown code formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23924\"\u003e#23924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Improve phrasing (\u003ccode\u003ePLC0208\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24033\"\u003e#24033\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse PEP 639 license information (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19661\"\u003e#19661\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/tmimmanuel\"\u003e\u003ccode\u003e@​tmimmanuel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\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/statxc\"\u003e\u003ccode\u003e@​statxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hunterhogan\"\u003e\u003ccode\u003e@​hunterhogan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.6\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-12.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elazy\u003c/code\u003e import parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23755\"\u003e#23755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for star-unpacking of comprehensions (PEP 798) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23788\"\u003e#23788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject semantic syntax errors for lazy imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23757\"\u003e#23757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop a few rules from the preview default set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23879\"\u003e#23879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag \u003ccode\u003eVariable.get()\u003c/code\u003e calls outside of task execution context (\u003ccode\u003eAIR003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23584\"\u003e#23584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag runtime-varying values in DAG/task constructor arguments (\u003ccode\u003eAIR304\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23631\"\u003e#23631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Implement \u003ccode\u003edelattr-with-constant\u003c/code\u003e (\u003ccode\u003eB043\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23737\"\u003e#23737\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/0ef39de46c006994fb1e90f7bd4ba09c0b2c1f79\"\u003e\u003ccode\u003e0ef39de\u003c/code\u003e\u003c/a\u003e Bump 0.15.7 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24049\"\u003e#24049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/beb543b5c666be9fd3f13c88df818f202b63e9d0\"\u003e\u003ccode\u003ebeb543b\u003c/code\u003e\u003c/a\u003e [ty] ecosystem-analyzer: Fail on newly panicking projects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24043\"\u003e#24043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/378fe730929ccd67a7f2426b3012093da814b31d\"\u003e\u003ccode\u003e378fe73\u003c/code\u003e\u003c/a\u003e Don't show noqa hover for non-Python documents (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24040\"\u003e#24040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b5665bd18eecab4d3b5ab1256b36904cd99a4c57\"\u003e\u003ccode\u003eb5665bd\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epylint\u003c/code\u003e] Improve phrasing (\u003ccode\u003ePLC0208\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24033\"\u003e#24033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6e20f2219020e61eeae29458013d2d3684f75a79\"\u003e\u003ccode\u003e6e20f22\u003c/code\u003e\u003c/a\u003e test: migrate \u003ccode\u003eshow_settings\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e tests to use \u003ccode\u003eCliTest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23702\"\u003e#23702\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f99b284c1fe1399a82da7f6669467488017d44a7\"\u003e\u003ccode\u003ef99b284\u003c/code\u003e\u003c/a\u003e Drain file watcher events during test setup (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24030\"\u003e#24030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/744c996c35016a8c0e05aa2823f4f822ac7b842c\"\u003e\u003ccode\u003e744c996\u003c/code\u003e\u003c/a\u003e [ty] Filter out unsatisfiable inference attempts during generic call narrowin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/16160958bdafb6106b6fffc72ffe2e4db0c0ac33\"\u003e\u003ccode\u003e1616095\u003c/code\u003e\u003c/a\u003e [ty] Avoid inferring intersection types for call arguments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23933\"\u003e#23933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7f275f431bf8c60d59601b74d441e9f4bef89f35\"\u003e\u003ccode\u003e7f275f4\u003c/code\u003e\u003c/a\u003e [ty] Pin mypy_primer in \u003ccode\u003esetup_primer_project.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24020\"\u003e#24020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7255e362e4b171a641222279cd28d2ca88a74fdc\"\u003e\u003ccode\u003e7255e36\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epycodestyle\u003c/code\u003e] Recognize \u003ccode\u003epyrefly:\u003c/code\u003e as a pragma comment (\u003ccode\u003eE501\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24019\"\u003e#24019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.4...0.15.7\"\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.19 to 0.0.24\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.24\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-19.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eTypedDict\u003c/code\u003e subscripts for unknown keys return \u003ccode\u003eUnknown\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23926\"\u003e#23926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix overflow with recursive \u003ccode\u003eTypeIs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23784\"\u003e#23784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance of frozen dataclass-transform models (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23931\"\u003e#23931\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ca href=\"https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens\"\u003esemantic token\u003c/a\u003e classification for attribute access on union types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23841\"\u003e#23841\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance and correctness by avoiding inferring intersection types for call arguments as a result of bidirectional inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23933\"\u003e#23933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow keyword arguments when unpacking dictionary instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23436\"\u003e#23436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDiscover \u003ccode\u003e/usr/local/lib\u003c/code\u003e dist-packages on Debian/Ubuntu (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23797\"\u003e#23797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23963\"\u003e#23963\u003c/a\u003e). \u003ca href=\"https://github.com/python/typeshed/compare/fa659b1def704dea3dc8e25c7857b23eac69df4d...f8f0794d0fe249c06dc9f31a004d85be6cca6ced\"\u003eTypeshed diff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.24\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://releases.astral.sh/github/ty/releases/download/0.0.24/ty-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ty 0.0.24\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-apple-darwin.tar.gz\"\u003ety-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-x86_64-apple-darwin.tar.gz\"\u003ety-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-pc-windows-msvc.zip\"\u003ety-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-i686-pc-windows-msvc.zip\"\u003ety-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-i686-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-x86_64-pc-windows-msvc.zip\"\u003ety-x86_64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-x86_64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-unknown-linux-gnu.tar.gz\"\u003ety-aarch64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-i686-unknown-linux-gnu.tar.gz\"\u003ety-i686-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-i686-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-powerpc64-unknown-linux-gnu.tar.gz\"\u003ety-powerpc64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePPC64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-powerpc64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-powerpc64le-unknown-linux-gnu.tar.gz\"\u003ety-powerpc64le-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePPC64LE Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-powerpc64le-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-s390x-unknown-linux-gnu.tar.gz\"\u003ety-s390x-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eS390x Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-s390x-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.24\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-19.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eTypedDict\u003c/code\u003e subscripts for unknown keys return \u003ccode\u003eUnknown\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23926\"\u003e#23926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix overflow with recursive \u003ccode\u003eTypeIs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23784\"\u003e#23784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance of frozen dataclass-transform models (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23931\"\u003e#23931\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ca href=\"https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens\"\u003esemantic token\u003c/a\u003e classification for attribute access on union types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23841\"\u003e#23841\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance and correctness by avoiding inferring intersection types for call arguments as a result of bidirectional inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23933\"\u003e#23933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow keyword arguments when unpacking dictionary instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23436\"\u003e#23436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDiscover \u003ccode\u003e/usr/local/lib\u003c/code\u003e dist-packages on Debian/Ubuntu (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23797\"\u003e#23797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23963\"\u003e#23963\u003c/a\u003e). \u003ca href=\"https://github.com/python/typeshed/compare/fa659b1def704dea3dc8e25c7857b23eac69df4d...f8f0794d0fe249c06dc9f31a004d85be6cca6ced\"\u003eTypeshed diff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePerformance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce fast path for protocol non-assignability (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23952\"\u003e#23952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved generic-solver performance in cases involving overload sets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23881\"\u003e#23881\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/Geo5\"\u003e\u003ccode\u003e@​Geo5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/dcreager\"\u003e\u003ccode\u003e@​dcreager\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ollema\"\u003e\u003ccode\u003e@​ollema\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\u003c/ul\u003e\n\u003ch2\u003e0.0.23\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-13.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix false-positive diagnostics for PEP-604 union annotations on attribute targets on Python 3.9 when \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e is active (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23915\"\u003e#23915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edataclass_transform\u003c/code\u003e: Respect \u003ccode\u003ekw_only\u003c/code\u003e overwrites in dataclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23930\"\u003e#23930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix too-many-cycle panics when inferring loop variables with \u003ccode\u003eLiteral\u003c/code\u003e types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23875\"\u003e#23875\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_foldingRange\"\u003efolding range\u003c/a\u003e classification of lines starting with \u003ccode\u003e#\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23831\"\u003e#23831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_foldingRange\"\u003efolding ranges\u003c/a\u003e for notebooks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23830\"\u003e#23830\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/876233049afc2530181f5b8af390c6d57c65bb80\"\u003e\u003ccode\u003e8762330\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.24 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3084\"\u003e#3084\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a6f24e14c0d41b17b44ea514b230a25bad411b65\"\u003e\u003ccode\u003ea6f24e1\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3045\"\u003e#3045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/95150e7634e4b863223cea12e96f48baa23625d3\"\u003e\u003ccode\u003e95150e7\u003c/code\u003e\u003c/a\u003e Typing FAQ: New entry explaining invariance (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3073\"\u003e#3073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/bc9e8a839385b3ee5a45d3df6e5f79885dcad17d\"\u003e\u003ccode\u003ebc9e8a8\u003c/code\u003e\u003c/a\u003e Remove the repository code of conduct in favor of the organization one (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/3d12b2e9f81cd98ccc27f0285f8056da9bb999d5\"\u003e\u003ccode\u003e3d12b2e\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v7.6.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3054\"\u003e#3054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/64fe9c2fd1610cc6b25b1dfda0a8bb7694fc9467\"\u003e\u003ccode\u003e64fe9c2\u003c/code\u003e\u003c/a\u003e Update actions/attest-build-provenance action to v4 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3046\"\u003e#3046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/86d05eb2a7da77605d42ad86a5adbde131431047\"\u003e\u003ccode\u003e86d05eb\u003c/code\u003e\u003c/a\u003e Update docker/setup-buildx-action action to v4 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3050\"\u003e#3050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/eb3f320a525075daa431a0ed19d5cbff12dc5c2b\"\u003e\u003ccode\u003eeb3f320\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v6 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3049\"\u003e#3049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/7da93b86f69724734cfa4a90d3df3ca3b44bc4e4\"\u003e\u003ccode\u003e7da93b8\u003c/code\u003e\u003c/a\u003e Update docker/login-action action to v4 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3048\"\u003e#3048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fa4db72937dacb89a6271327a7433b01322136f2\"\u003e\u003ccode\u003efa4db72\u003c/code\u003e\u003c/a\u003e Update docker/build-push-action action to v7 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3047\"\u003e#3047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.19...0.0.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/wyattowalsh/nbadb/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyattowalsh%2Fnbadb/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"},{"uuid":"3989174822","node_id":"PR_kwDOCmWyEM7GNury","number":30,"state":"closed","title":"Bump the all-dependencies group with 15 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-03T15:23:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-25T12:25:38.000Z","updated_at":"2026-03-03T15:23:59.000Z","time_to_close":529099,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-dependencies","update_count":15,"packages":[{"name":"docutils","old_version":"0.22.3","new_version":"0.22.4","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"babel","old_version":"2.17.0","new_version":"2.18.0","repository_url":"https://github.com/python-babel/babel"},{"name":"roman-numerals","old_version":"3.1.0","new_version":"4.1.0","repository_url":"https://github.com/AA-Turner/roman-numerals"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"ruff","old_version":"0.14.9","new_version":"0.15.2","repository_url":"https://github.com/astral-sh/ruff"},{"name":"build","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pypa/build"},{"name":"pypi-attestations","old_version":"0.0.28","new_version":"0.0.29","repository_url":"https://github.com/pypi/pypi-attestations"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"cython","old_version":"3.2.2","new_version":"3.2.4","repository_url":"https://github.com/cython/cython"},{"name":"setuptools","old_version":"80.9.0","new_version":"82.0.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pyrefly","old_version":"0.44.0","new_version":"0.54.0","repository_url":"https://github.com/facebook/pyrefly"},{"name":"pyright","old_version":"1.1.407","new_version":"1.1.408","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"ty","old_version":"0.0.1a30","new_version":"0.0.18","repository_url":"https://github.com/astral-sh/ty"},{"name":"types-docutils","old_version":"0.22.3.20251115","new_version":"0.22.3.20260223","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"conda"},"body":"Bumps the all-dependencies group with 15 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.22.3` | `0.22.4` |\n| [babel](https://github.com/python-babel/babel) | `2.17.0` | `2.18.0` |\n| [roman-numerals](https://github.com/AA-Turner/roman-numerals) | `3.1.0` | `4.1.0` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.9` | `0.15.2` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.4.0` |\n| [pypi-attestations](https://github.com/pypi/pypi-attestations) | `0.0.28` | `0.0.29` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [cython](https://github.com/cython/cython) | `3.2.2` | `3.2.4` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.9.0` | `82.0.0` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.44.0` | `0.54.0` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.407` | `1.1.408` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a30` | `0.0.18` |\n| [types-docutils](https://github.com/typeshed-internal/stub_uploader) | `0.22.3.20251115` | `0.22.3.20260223` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n\nUpdates `docutils` from 0.22.3 to 0.22.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rtfd/recommonmark/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `babel` from 2.17.0 to 2.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-babel/babel/releases\"\u003ebabel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.18.0\u003c/h2\u003e\n\u003cp\u003eHappy 2026! Like last year's release (ahem...), this one too is being made from FOSDEM 2026, in Brussels, Belgium. 🇧🇪\nWe'll aspire for a less glacial release cycle for 2.19. 😁\u003c/p\u003e\n\u003cp\u003ePlease see \u003ca href=\"https://github.com/python-babel/babel/blob/56c63caf50b18b152541b5dcafd51f645d867074/CHANGES.rst\"\u003eCHANGELOG.rst\u003c/a\u003e for the detailed change log.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-babel/babel/compare/v2.17.0...v2.18.0\"\u003ehttps://github.com/python-babel/babel/compare/v2.17.0...v2.18.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/python-babel/babel/blob/master/CHANGES.rst\"\u003ebabel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.18.0\u003c/h2\u003e\n\u003cp\u003eHappy 2026! This release is, coincidentally, also being made from FOSDEM.\u003c/p\u003e\n\u003cp\u003eWe will aspire for a slightly less glacial release cadence in this year;\nthere are interesting features in the pipeline.\u003c/p\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Core: Add `babel.core.get_cldr_version()` by @akx in :gh:`1242`\n* Core: Use CLDR 47 by @tomasr8 in :gh:`1210`\n* Core: Use canonical IANA zone names in zone_territories by @akx in :gh:`1220`\n* Messages: Improve extract performance via ignoring directories early during os.walk by @akx in :gh:`968`\n* Messages: Merge in per-format keywords and auto_comments by @akx in :gh:`1243`\n* Messages: Update keywords for extraction of dpgettext and dnpgettext by @mardiros in :gh:`1235`\n* Messages: Validate all plurals in Python format checker by @tomasr8 in :gh:`1188`\n* Time: Use standard library `timezone` instead of `FixedOffsetTimezone` by @akx in :gh:`1203`\n\u003cp\u003eBugfixes\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCore: Fix formatting for \u0026quot;Empty locale identifier\u0026quot; exception added in \u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1164\"\u003e#1164\u003c/a\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1184\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCore: Improve handling of no-inheritance-marker in timezone data by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1194\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCore: Make the number pattern regular expression more efficient by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1213\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Keep translator comments next to the translation function call by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1196\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNumbers: Fix KeyError that occurred when formatting compact currencies of exactly one thousand in several locales  by \u003ca href=\"https://github.com/bartbroere\"\u003e\u003ccode\u003e@​bartbroere\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1246\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther improvements\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Core: Avoid unnecessary uses of `map()` by @akx in :gh:`1180`\n* Messages: Have init-catalog create directories too by @akx in :gh:`1244`\n* Messages: Optimizations for read_po by @akx in :gh:`1200`\n* Messages: Use pathlib.Path() in catalog frontend; improve test coverage by @akx in :gh:`1204`\n\u003cp\u003eInfrastructure and documentation\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI: Renovate CI \u0026amp; lint tools by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1228\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCI: Tighten up CI with Zizmor by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1230\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCI: make job permissions explicit by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1227\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Add SECURITY.md by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1229\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Remove u string prefix from docs by \u003ca href=\"https://github.com/verhovsky\"\u003e\u003ccode\u003e@​verhovsky\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1174\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update dates.rst with current unicode.org tr35 link by \u003ca href=\"https://github.com/clach04\"\u003e\u003ccode\u003e@​clach04\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1189\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Add some PyPI classifiers by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1186\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Apply reformatting by hand and with Ruff by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1202\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Test on and declare support for Python 3.14 by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1233\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/python-babel/babel/commit/56c63caf50b18b152541b5dcafd51f645d867074\"\u003e\u003ccode\u003e56c63ca\u003c/code\u003e\u003c/a\u003e Prepare for 2.18.0 (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1248\"\u003e#1248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/73015a1217b90398fe76dcdc3b6e110ce26eb6d3\"\u003e\u003ccode\u003e73015a1\u003c/code\u003e\u003c/a\u003e Add user-agent to CLDR downloader (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/29bd3624463f9b8694d09a308f67f353373c76af\"\u003e\u003ccode\u003e29bd362\u003c/code\u003e\u003c/a\u003e Fix formatting compact currencies of exactly one thousand in several locales ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/851db43b2b175c6bdf69ae6977cd6ad642506046\"\u003e\u003ccode\u003e851db43\u003c/code\u003e\u003c/a\u003e Reuse InitCatalog's guts in UpdateCatalog (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1244\"\u003e#1244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/fd00e60adf7e0c74821a77ff2a8b564e9985fd8e\"\u003e\u003ccode\u003efd00e60\u003c/code\u003e\u003c/a\u003e Extract: Merge in per-format keywords and auto_comments (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1243\"\u003e#1243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/12a14b6b3f09b6f5c8c745791dd4928f1d58fda0\"\u003e\u003ccode\u003e12a14b6\u003c/code\u003e\u003c/a\u003e Add dpgettext and dnpgettext support (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1235\"\u003e#1235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/7110e6206fd5ddc66db9613935fea8b8c668b7d5\"\u003e\u003ccode\u003e7110e62\u003c/code\u003e\u003c/a\u003e Use canonical IANA zone names in zone_territories (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1220\"\u003e#1220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/e91c3467b0f3bdc4433eab6820819fe69784c2bf\"\u003e\u003ccode\u003ee91c346\u003c/code\u003e\u003c/a\u003e Improve extract performance via ignoring directories early during os.walk (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/0c4f37838c3cb34cf527dd9890c1b69e98db1354\"\u003e\u003ccode\u003e0c4f378\u003c/code\u003e\u003c/a\u003e Convert Unittest testcases with setup/teardown to fixtures (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1240\"\u003e#1240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/218c96ee305aad95bccb6402af4b4be60ad17ab1\"\u003e\u003ccode\u003e218c96e\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003ebabel.core.get_cldr_version()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1242\"\u003e#1242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-babel/babel/compare/v2.17.0...v2.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `roman-numerals` from 3.1.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/AA-Turner/roman-numerals/releases\"\u003eroman-numerals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eroman-numerals 4.1.0\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eroman-numerals 4.0.0\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/AA-Turner/roman-numerals/blob/master/CHANGES.rst\"\u003eroman-numerals's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.1.0 (released 17 Dec 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRestore LICENCE.rst in the roman-numerals-py meta-package\u003c/li\u003e\n\u003cli\u003eAdd some debug assertions for unsafe blocks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 4.0.0 (released 16 Dec 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRename Python package to \u003ccode\u003eroman-numerals\u003c/code\u003e on PyPI.\u003c/li\u003e\n\u003cli\u003ePublish \u003ccode\u003eroman-numerals-py\u003c/code\u003e as a meta-package that depends\non \u003ccode\u003eroman-numerals\u003c/code\u003e and installs no modules.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eDeclare support for Python 3.15.\u003c/li\u003e\n\u003cli\u003eIncrease the minimum supported Rust version (MSRV) to 1.81.0.\u003c/li\u003e\n\u003cli\u003eImplement the \u003ccode\u003ecore::error::Error\u003c/code\u003e trait for all error types.\u003c/li\u003e\n\u003cli\u003eImplement the \u003ccode\u003ecore::fmt\u003c/code\u003e traits in \u003ccode\u003eno-std\u003c/code\u003e mode.\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eFrom\u0026lt;RomanNumeral\u0026gt;\u003c/code\u003e for most integer types.\u003c/li\u003e\n\u003cli\u003ePublish the \u003ccode\u003eroman-numerals-rs\u003c/code\u003e crate using \u003ccode\u003eTrusted Publishing \u0026lt;https://crates.io/docs/trusted-publishing\u0026gt;\u003c/code\u003e__\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/53c9c4eac63b91728fba3c26329163ee57654d21\"\u003e\u003ccode\u003e53c9c4e\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/a3793b83fab7064107ac56a482a6fa93bc9c5048\"\u003e\u003ccode\u003ea3793b8\u003c/code\u003e\u003c/a\u003e Add more SAFETY notes and debug assertions to unsafe blocks (\u003ca href=\"https://redirect.github.com/AA-Turner/roman-numerals/issues/106\"\u003e#106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/46d346e2d08b634856c79783e404616b65626ba7\"\u003e\u003ccode\u003e46d346e\u003c/code\u003e\u003c/a\u003e Adjust annotations in light of PEP 649\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/b8fae405d948415f7397ae4f64569c53cb623105\"\u003e\u003ccode\u003eb8fae40\u003c/code\u003e\u003c/a\u003e Adjust an example in the README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/a88464130711ad5e8d56e6ff747d17068ae17534\"\u003e\u003ccode\u003ea884641\u003c/code\u003e\u003c/a\u003e Restore LICENCE.rst in the roman-numerals-py meta-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/c3e1b6b4e6e02e5e19c26dc6f72bbb7b1060cca5\"\u003e\u003ccode\u003ec3e1b6b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/c335cb63ed97e684a4e9453639bfc7e9f487bb41\"\u003e\u003ccode\u003ec335cb6\u003c/code\u003e\u003c/a\u003e Add publishing step for the \u003ccode\u003eroman-numerals-py\u003c/code\u003e meta-package (\u003ca href=\"https://redirect.github.com/AA-Turner/roman-numerals/issues/105\"\u003e#105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/649f6e62e7bd24123d7dd489609ae47168aaeb1b\"\u003e\u003ccode\u003e649f6e6\u003c/code\u003e\u003c/a\u003e Add Trusted Publishing workflow for crates.io (\u003ca href=\"https://redirect.github.com/AA-Turner/roman-numerals/issues/104\"\u003e#104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/ffa4dd1b33eae62f1bd1d44549e10a528b8f1f58\"\u003e\u003ccode\u003effa4dd1\u003c/code\u003e\u003c/a\u003e rust: Refactor tests (\u003ca href=\"https://redirect.github.com/AA-Turner/roman-numerals/issues/103\"\u003e#103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/26b41561c1d9813104548777b5ed9622d7125b38\"\u003e\u003ccode\u003e26b4156\u003c/code\u003e\u003c/a\u003e Simplify ASCII detection closures (\u003ca href=\"https://redirect.github.com/AA-Turner/roman-numerals/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/AA-Turner/roman-numerals/compare/v3.1.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\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/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccode\u003e879\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format (:pull:\u003ccode\u003e925\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon (:pull:\u003ccode\u003e833\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions (:pull:\u003ccode\u003e931\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string (:pull:\u003ccode\u003e953\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eA root logger use found, use a \u003ccode\u003epackaging\u003c/code\u003e logger instead (:pull:\u003ccode\u003e965\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e (:pull:\u003ccode\u003e1022\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first (:pull:\u003ccode\u003e1024\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct (:pull:\u003ccode\u003e1033\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup (:pull:\u003ccode\u003e1019\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e (:pull:\u003ccode\u003e869\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e913\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003e's in specifier comparison (:pull:\u003ccode\u003e986\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache the \u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e985\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster (:pull:\u003ccode\u003e987\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup (:pull:\u003ccode\u003e990\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ for \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e988\u003c/code\u003e, :pull:\u003ccode\u003e1055\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e989\u003c/code\u003e, :pull:\u003ccode\u003e1048\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e (:pull:\u003ccode\u003e993\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ere.fullmatch\u003c/code\u003e in a couple more places (:pull:\u003ccode\u003e992\u003c/code\u003e, :pull:\u003ccode\u003e1029\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003emap\u003c/code\u003e instead of generator (:pull:\u003ccode\u003e996\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003e._version\u003c/code\u003e (\u003ccode\u003e_Version\u003c/code\u003e, a \u003ccode\u003eNamedTuple\u003c/code\u003e) (:pull:\u003ccode\u003e995\u003c/code\u003e, :pull:\u003ccode\u003e1062\u003c/code\u003e)\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\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/packaging/commit/3b77a26f5a27473ad3b08194d773f325d018a2d0\"\u003e\u003ccode\u003e3b77a26\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/31371cce593d2bde0dd8c436ecfb7d53cb91cfb6\"\u003e\u003ccode\u003e31371cc\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0 final (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/9627a8821f09e4c55cd6e9daadb617b67c4741c2\"\u003e\u003ccode\u003e9627a88\u003c/code\u003e\u003c/a\u003e perf: dual replace (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d5398b8bc19f3fad7b035ceb83023caf06d6e2da\"\u003e\u003ccode\u003ed5398b8\u003c/code\u003e\u003c/a\u003e fix: restore ._version as a compat shim (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3a7b600a126d237b2ad3cd7e25d2cb5c176276af\"\u003e\u003ccode\u003e3a7b600\u003c/code\u003e\u003c/a\u003e Bump for development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d4eefdccf992e963c48011875301d93df6a7f2cc\"\u003e\u003ccode\u003ed4eefdc\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/46189124fb43d8989d370902c80ab156eb83a45d\"\u003e\u003ccode\u003e4618912\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0rc3 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/0cf1b41b4b321ae08cad7d3e49cfaff5578fe813\"\u003e\u003ccode\u003e0cf1b41\u003c/code\u003e\u003c/a\u003e ci: test on first public release of CPythons (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/716beb1c0a5d7a398bf57fbd80bc2501811e616b\"\u003e\u003ccode\u003e716beb1\u003c/code\u003e\u003c/a\u003e perf:  10% faster stripping zeros (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/350a2306700b738f487f251efa278f532b263dee\"\u003e\u003ccode\u003e350a230\u003c/code\u003e\u003c/a\u003e fix: support CPython 3.11.0-3.11.4 and older PyPy3.11 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/25.0...26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.9 to 0.15.2\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.15.2\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with configuration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\r\n# ruff.toml\r\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub discussion\u003c/a\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Also check string annotations (\u003ccode\u003ePYI041\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19023\"\u003e#19023\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\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\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.15.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412\nrules, up from the stable default set of 59 rules. The new rules are mostly a\nsuperset of the stable defaults, with the exception of these rules, which are\nremoved from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with\nconfiguration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\n# ruff.toml\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub\ndiscussion\u003c/a\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/astral-sh/ruff/commit/9d18ee9115f9cbb4c21478baa7c1fa2b46e0759c\"\u003e\u003ccode\u003e9d18ee9\u003c/code\u003e\u003c/a\u003e Hard code workflow name and \u003ccode\u003ecancel-in-progress\u003c/code\u003e only for PRs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23431\"\u003e#23431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7cc15f024b931fe56365f40de3fab01219c092c4\"\u003e\u003ccode\u003e7cc15f0\u003c/code\u003e\u003c/a\u003e Bump 0.15.2 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23430\"\u003e#23430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d1b544393ae9cddd8e48ebee8dbfd54bda89f375\"\u003e\u003ccode\u003ed1b5443\u003c/code\u003e\u003c/a\u003e Add extension mapping to configuration file options (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23384\"\u003e#23384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/222574af90c5c0ca8f84c8385cf30c7c10ac2496\"\u003e\u003ccode\u003e222574a\u003c/code\u003e\u003c/a\u003e Expand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23385\"\u003e#23385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1465b5de3829549b45397e9587b83ab7ac6d26d0\"\u003e\u003ccode\u003e1465b5d\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Fix \u003ccode\u003ein_async_context\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23426\"\u003e#23426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/410902fa401afda969cc000f13be341896e6868e\"\u003e\u003ccode\u003e410902f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix handling of \u003ccode\u003etyping.{io,re}\u003c/code\u003e (\u003ccode\u003eUP035\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23131\"\u003e#23131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/729610acd9e19f57526e8ca40f355626154826bb\"\u003e\u003ccode\u003e729610a\u003c/code\u003e\u003c/a\u003e [ty] Fall back to ambiguous for large control flow graphs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23399\"\u003e#23399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1425c185b0a47be87112762f65b5bf7e323fb950\"\u003e\u003ccode\u003e1425c18\u003c/code\u003e\u003c/a\u003e [ty] Add code folding support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/97acaaea5f993f33d3f5bb27c5db760a2f3d1e8a\"\u003e\u003ccode\u003e97acaae\u003c/code\u003e\u003c/a\u003e [ty] Fix stack overflow for self-referential \u003ccode\u003eTypeOf\u003c/code\u003e in annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23407\"\u003e#23407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1f380c82584a6dab7e8715bc7dd5ae187da1e69a\"\u003e\u003ccode\u003e1f380c8\u003c/code\u003e\u003c/a\u003e [ty] Update tests \u003ccode\u003ereveal_type\u003c/code\u003e and \u003ccode\u003eNever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23418\"\u003e#23418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.9...0.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.3.0 to 1.4.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.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/940\"\u003e#940\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/921\"\u003e#921\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.4.0 (2026-01-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag\n(:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e\n(:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable\n(:pr:\u003ccode\u003e971\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1\n(:pr:\u003ccode\u003e960\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already\n(:pr:\u003ccode\u003e962\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review\n(:pr:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e\n(:pr:\u003ccode\u003e950\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy\n(:pr:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e\n(:pr:\u003ccode\u003e945\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name\n(PR :pr:\u003ccode\u003e970\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed\n(PR :pr:\u003ccode\u003e921\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/54f238d1664124e06a68c6c22fd5b1418fa5feb2\"\u003e\u003ccode\u003e54f238d\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f219276a6e2c6c8222780ba518ce52444a91deaa\"\u003e\u003ccode\u003ef219276\u003c/code\u003e\u003c/a\u003e docs: first argument for _has_dependency is a name (\u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7adb29e69d2744acc5391d3c58d234388a9ac0ed\"\u003e\u003ccode\u003e7adb29e\u003c/code\u003e\u003c/a\u003e fix: support UV environment variable (\u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/a40623b20de5d29c80b569283191d65e630f4fc0\"\u003e\u003ccode\u003ea40623b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/attest-build-provenance in the actions group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/c8fae3459dbe4456d82d705c6a3f1869b0b26e5c\"\u003e\u003ccode\u003ec8fae34\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/ed9c379f51abca7c0c0ae20bee66aa548d597dc3\"\u003e\u003ccode\u003eed9c379\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0e44fd22f35c7b3c14d6410bbd8912dafba0e4a9\"\u003e\u003ccode\u003e0e44fd2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003equiet\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/60e15ed4cb31209f0e07de750c831cdb3911c62c\"\u003e\u003ccode\u003e60e15ed\u003c/code\u003e\u003c/a\u003e chore: color defaults to True in 3.14 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0486d9df2e6caf7c04a3991824093eb6a16e7f29\"\u003e\u003ccode\u003e0486d9d\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/393b775480523247c1ad07b8da9bb8c23c5cd0fa\"\u003e\u003ccode\u003e393b775\u003c/code\u003e\u003c/a\u003e MNT: remove workaround for 3.14b1 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.3.0...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pypi-attestations` from 0.0.28 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/pypi/pypi-attestations/releases\"\u003epypi-attestations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.0.29\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix lint and remove support for Python 3.9 by \u003ca href=\"https://github.com/facutuesca\"\u003e\u003ccode\u003e@​facutuesca\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/pull/151\"\u003epypi/pypi-attestations#151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd GCP support to CLI by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/pull/157\"\u003epypi/pypi-attestations#157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypi/pypi-attestations/compare/v0.0.28...v0.0.29\"\u003ehttps://github.com/pypi/pypi-attestations/compare/v0.0.28...v0.0.29\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/pypi/pypi-attestations/blob/main/CHANGELOG.md\"\u003epypi-attestations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.0.29]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for verifying Google Cloud attestations has been added to the CLI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe minimum Python version required is now \u003ccode\u003e3.10\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/fb35ffdce810566fdf7aa22f1b517f60be0c727f\"\u003e\u003ccode\u003efb35ffd\u003c/code\u003e\u003c/a\u003e chore: prep for release v0.0.29 (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/158\"\u003e#158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/5afe2a125af6b2f8962dcf8326d2149f8dddc6f0\"\u003e\u003ccode\u003e5afe2a1\u003c/code\u003e\u003c/a\u003e Add GCP support to CLI (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/157\"\u003e#157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/0716b105c1c7b28a5bae1d8beca15a7f7e3c1a25\"\u003e\u003ccode\u003e0716b10\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python in the actions group (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/155\"\u003e#155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/34db665fba7f61aad1e4133cfff8b1a5b332cd60\"\u003e\u003ccode\u003e34db665\u003c/code\u003e\u003c/a\u003e build(deps): bump zizmorcore/zizmor-action in the actions group (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/154\"\u003e#154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/2a74c1e7f9882803692bea8924c9359ec8369933\"\u003e\u003ccode\u003e2a74c1e\u003c/code\u003e\u003c/a\u003e Remove unneeded permissions from zizmor workflow (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/d8d4ab106a76f107cd97b4ee041f1adfe1ff0cf6\"\u003e\u003ccode\u003ed8d4ab1\u003c/code\u003e\u003c/a\u003e Add zizmor to CI workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/26e8913b136b8166eac40ad9f9313a8affd656cf\"\u003e\u003ccode\u003e26e8913\u003c/code\u003e\u003c/a\u003e Update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/446816b7a16dc989da33b9f8dab989e640f8881a\"\u003e\u003ccode\u003e446816b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout in the actions group (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/149\"\u003e#149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/b8c452d338a6411e6d688f2498adbabf501680b3\"\u003e\u003ccode\u003eb8c452d\u003c/code\u003e\u003c/a\u003e Add cooldown to dependabot updates (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/150\"\u003e#150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/2c8d48e78417f12869b89fcbad619f52f5656a4f\"\u003e\u003ccode\u003e2c8d48e\u003c/code\u003e\u003c/a\u003e Fix lint and remove support for Python 3.9 (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/151\"\u003e#151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypi/pypi-attestations/compare/v0.0.28...v0.0.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cython` from 3.2.2 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cython/cython/blob/master/CHANGES.rst\"\u003ecython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.2.4 (2026-01-04)\u003c/h1\u003e\n\u003ch2\u003eFeatures added\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIn preparation of Cython 3.3, a new decorator \u003ccode\u003e@collection_type(tname)\u003c/code\u003e can be used\nto advertise an extension type as being a \u003ccode\u003e'sequence'\u003c/code\u003e or \u003ccode\u003e'mapping'\u003c/code\u003e.  This currently\nonly has the effect of setting the \u003ccode\u003ePy_TPFLAGS_SEQUENCE\u003c/code\u003e flag on the type or not, but\nis provided for convenience to allow using the new decorator already in Cython 3.2 code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral C++ exception declarations were added to \u003ccode\u003elibcpp.exceptions\u003c/code\u003e.\n(Github issue :issue:\u003ccode\u003e7389\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePseudo-literal default values of function arguments like \u003ccode\u003earg=str()\u003c/code\u003e could generate\ninvalid C code when internally converted into a real literal.\n(Github issue :issue:\u003ccode\u003e6192\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe pickle serialisation of extension types using the \u003ccode\u003eauto_pickle\u003c/code\u003e feature was\nlarger than necessary since 3.2.0 for types without Python object attributes.\nIt is now back to the state before 3.2.0 again.\n(Github issue :issue:\u003ccode\u003e7443\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstants are now only made immortal on freethreading Python if they are not shared.\n(Github issue :issue:\u003ccode\u003e7439\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003ePyDict_SetDefaultRef()\u003c/code\u003e is now used when available to avoid temporary borrowed references.\n(Github issue :issue:\u003ccode\u003e7347\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIncludes all fixes as of Cython 3.1.8.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.3 (2025-12-14)\u003c/h1\u003e\n\u003ch2\u003eFeatures added\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe C-API declarations were updated to include the new \u003ccode\u003ePyList_*()\u003c/code\u003e functions.\n(Github issue :issue:\u003ccode\u003e7291\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ePy_mod_gil\u003c/code\u003e module setting can now be changed with a C macro, overriding\nthe \u003ccode\u003efreethreading_compatible\u003c/code\u003e directive setting.\n(Github issue :issue:\u003ccode\u003e7404\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugs fixed\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/cython/cython/commit/21bda420d583bcf464fb9efb932b09c5f3db1efd\"\u003e\u003ccode\u003e21bda42\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/ea5e926e930fb50bd0b2be69717cb906f67ef18b\"\u003e\u003ccode\u003eea5e926\u003c/code\u003e\u003c/a\u003e Define missing C++ exception classes (\u003ca href=\"https://redirect.github.com/cython/cython/issues/7389\"\u003e#7389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/c533d67f2a9109111c4057b598d8d04698cfee3f\"\u003e\u003ccode\u003ec533d67\u003c/code\u003e\u003c/a\u003e Add sequence return type annotations in Parsing.py (\u003ca href=\"https://redirect.github.com/cython/cython/issues/7416\"\u003eGH-7416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/d056a1808298ff6a569f950937b7ab3385b2f785\"\u003e\u003ccode\u003ed056a18\u003c/code\u003e\u003c/a\u003e Allow 'mapping' as \u003ca href=\"https://github.com/collection\"\u003e\u003ccode\u003e@​collection\u003c/code\u003e\u003c/a\u003e_type() in preparation of 3.3, but without actu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/d347c82898f4e90139b63510d984860762c01f1c\"\u003e\u003ccode\u003ed347c82\u003c/code\u003e\u003c/a\u003e Remove exclusion of collection_type in test (\u003ca href=\"https://redirect.github.com/cython/cython/issues/7442\"\u003e#7442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/fd6e8253df013645fb028ea956175957dcff8e8b\"\u003e\u003ccode\u003efd6e825\u003c/code\u003e\u003c/a\u003e Merge branch '3.1.x' into 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/ce5c6cb05bdb5560937648558508241c681369ca\"\u003e\u003ccode\u003ece5c6cb\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/74b97f92075d2721abce7dfb246f426b0ab401ae\"\u003e\u003ccode\u003e74b97f9\u003c/code\u003e\u003c/a\u003e Fix arg=str() default argument (\u003ca href=\"https://redirect.github.com/cython/cython/issues/6193\"\u003eGH-6193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/9c9e5c7d31525672ad5b8ee703c719a33d98a118\"\u003e\u003ccode\u003e9c9e5c7\u003c/code\u003e\u003c/a\u003e Avoid immortalizing anything shared on freethreading (\u003ca href=\"https://redirect.github.com/cython/cython/issues/7439\"\u003eGH-7439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/9d5507bf1cf713c314a9e37447463ad72ee9f8cd\"\u003e\u003ccode\u003e9d5507b\u003c/code\u003e\u003c/a\u003e Fix accidental inefficiency in auto-pickling that always stored the object st...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cython/cython/compare/3.2.2...3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` from 80.9.0 to 82.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools/blob/main/NEWS.rst\"\u003esetuptools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev82.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epkg_resources\u003c/code\u003e has been removed from Setuptools. Most common uses of \u003ccode\u003epkg_resources\u003c/code\u003e have been superseded by the \u003ccode\u003eimportlib.resources \u0026lt;https://docs.python.org/3/library/importlib.resources.html\u0026gt;\u003c/code\u003e_ and \u003ccode\u003eimportlib.metadata \u0026lt;https://docs.python.org/3/library/importlib.metadata.html\u0026gt;\u003c/code\u003e_ projects. Projects and environments relying on \u003ccode\u003epkg_resources\u003c/code\u003e for namespace packages or other behavior should depend on older versions of \u003ccode\u003esetuptools\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev81.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved support for the --dry-run parameter to setup.py. This one feature by its nature threads through lots of core and ancillary functionality, adding complexity and friction. Removal of this parameter will help decouple the compiler functionality from distutils and thus the eventual full integration of distutils. These changes do affect some class and function signatures, so any derivative functionality may require some compatibility shims to support their expected interface. Please report any issues to the Setuptools project for investigation. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev80.10.2\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate vendored dependencies. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5159\"\u003e#5159\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5115\"\u003e#5115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5128\"\u003e#5128\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev80.10.1\u003c/h1\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5152\"\u003e#5152\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev80.10.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove post-release tags on setuptools' own build. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4530\"\u003e#4530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefreshed vendored dependencies. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5139\"\u003e#5139\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/pypa/setuptools/commit/03f3615362c4eb19c770b71be5bd58e38f235528\"\u003e\u003ccode\u003e03f3615\u003c/code\u003e\u003c/a\u003e Bump version: 81.0.0 → 82.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/530d11498af526c4210d8eeaa1ed6c63f44a390f\"\u003e\u003ccode\u003e530d114\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5007\"\u003e#5007\u003c/a\u003e from pypa/feature/remove-more-pkg_resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/11efe9f552290bf536515d458aa85752a0606aa8\"\u003e\u003ccode\u003e11efe9f\u003c/code\u003e\u003c/a\u003e Merge branch 'maint/75.3'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/118f129dd0fb319058bd05f382c50188fd60a60e\"\u003e\u003ccode\u003e118f129\u003c/code\u003e\u003c/a\u003e Bump version: 75.3.3 → 75.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/90561ffde1220a590b7644745f48b5837b1a130d\"\u003e\u003ccode\u003e90561ff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5150\"\u003e#5150\u003c/a\u003e from UladzimirTrehubenka/backport_cve_47273\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/4595034db8aab4ea33035a47a068b04fd8aa00cc\"\u003e\u003ccode\u003e4595034\u003c/code\u003e\u003c/a\u003e Add news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/fc008006fc072af02eb7e0b601172c67eba395e3\"\u003e\u003ccode\u003efc00800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5171\"\u003e#5171\u003c/a\u003e from cclauss/ruff-v0.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/127e561362a2b4e560faabe9e979ed848106b62d\"\u003e\u003ccode\u003e127e561\u003c/code\u003e\u003c/a\u003e Remove tests reliant on pkg_resources, rather than xfailing them.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/64bc21e10b5d749b1b75fa334caedb67cc7414c4\"\u003e\u003ccode\u003e64bc21e\u003c/code\u003e\u003c/a\u003e Reference the superseding libraries.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/cf1ff459ea997b615a75d99304f6c9aa1fc94c06\"\u003e\u003ccode\u003ecf1ff45\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into debt/pbr-without-pkg_resources\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools/compare/v80.9.0...v82.0.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.44.0 to 0.54.0\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.54.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eStatus: BETA\u003c/strong\u003e\u003cbr /\u003e\n\u003cem\u003e\u003cstrong\u003eRelease date:\u003c/strong\u003e February 23, 2026\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003ePyrefly 0.54.0 bundles \u003cstrong\u003e93 commits\u003c/strong\u003e from \u003cstrong\u003e18 contributors\u003c/strong\u003e.\u003c/p\u003e\n\u003ch2\u003e✨ New \u0026amp; Improved\u003c/h2\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 checker\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Pyrefly now supports using \u003ccode\u003etype(X)\u003c/code\u003e in base class lists, enabling compatibility with codebases that use metaclass expressions (e.g. those wrapping C extensions) \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Added static evaluation support for more patterns of \u003ccode\u003esys.platform\u003c/code\u003e and \u003ccode\u003esys.version_info\u003c/code\u003e checks\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\"\u003e- Autoimport and quickfix now surface explicit re-export paths, improving import suggestions for users working with re-exported symbols. \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Diagnostics can now be controlled independently for each workspace folder in multi-root setups, allowing users to customize diagnostics per project \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Enhanced  \u0026quot;Generate code\u0026quot; quick fix actions in Pyrefly's LSP, which will now infer parameter types and annotations from call-site arguments \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Code completion and signature help now shows keyword argument and literal completions from all compatible overloads, not just the closest match\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e🐛 bug fixes\u003c/h2\u003e\n\u003cp\u003eWe closed 7 bug issues this release 👏\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2273\"\u003e#2273\u003c/a\u003e - Adjusted overload-to-Callable subtyping so single-parameter overloads can satisfy a union-parameter Callable, fixing assignment errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2398\"\u003e#2398\u003c/a\u003e - When matching a value against a union containing both bare TypeVars and wrapped TypeVars, Pyrefly now tries wrapped vars first, producing better TypeVar solutions and satisfying bounds\u003c/li\u003e\n\u003cli\u003eAnd more! \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2398\"\u003e#2398\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/949\"\u003e#949\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2421\"\u003e#2421\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2457\"\u003e#2457\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1122\"\u003e#1122\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2434\"\u003e#2434\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/787\"\u003e#787\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\u003ch2\u003e📦 Upgrade\u003c/h2\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003epip install --upgrade pyrefly==0.54.0\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eHow to safely upgrade your codebase\u003c/h3\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 ...\n\n_Description has been truncated_","html_url":"https://github.com/chrisjsewell/sphinx/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisjsewell%2Fsphinx/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"},{"uuid":"3940867736","node_id":"PR_kwDOOfzwc87Dv-sb","number":5,"state":"open","title":"deps(python): bump the python-dependencies group with 6 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":"2026-02-14T09:04:09.000Z","updated_at":"2026-02-14T09:04:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(python): bump","group_name":"python-dependencies","update_count":6,"packages":[{"name":"markdown","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"openai","old_version":"2.16.0","new_version":"2.17.0","repository_url":"https://github.com/openai/openai-python"},{"name":"tenacity","old_version":"9.1.3","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"pyrefly","old_version":"0.50.1","new_version":"0.51.1","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.14.14","new_version":"0.15.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"types-markdown","old_version":"3.10.0.20251106","new_version":"3.10.2.20260211","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"conda"},"body":"Bumps the python-dependencies group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.10.1` | `3.10.2` |\n| [openai](https://github.com/openai/openai-python) | `2.16.0` | `2.17.0` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.3` | `9.1.4` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.50.1` | `0.51.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.14` | `0.15.0` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.10.0.20251106` | `3.10.2.20260211` |\n\nUpdates `markdown` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\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/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.10.2] - 2026-02-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\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-Markdown/markdown/commit/e7a0efb3a7c36d6b8005403122705662bc17c904\"\u003e\u003ccode\u003ee7a0efb\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/630183336bda57c258becc3ed229105481876a7e\"\u003e\u003ccode\u003e6301833\u003c/code\u003e\u003c/a\u003e Document HTML sanitation policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/7f29f1a69d236f5bb11645c2fa03fcf701487c8c\"\u003e\u003ccode\u003e7f29f1a\u003c/code\u003e\u003c/a\u003e More reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c4386475a6b6daea43b7d7717add4271adc9a3c1\"\u003e\u003ccode\u003ec438647\u003c/code\u003e\u003c/a\u003e Fix regression of special comments\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.10.1...3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.16.0 to 2.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.17.0\u003c/h2\u003e\n\u003ch2\u003e2.17.0 (2026-02-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.16.0...v2.17.0\"\u003ev2.16.0...v2.17.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add shell_call_output status field (\u003ca href=\"https://github.com/openai/openai-python/commit/1bbaf8865000b338c24c9fdd5e985183feaca10f\"\u003e1bbaf88\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e image generation actions for responses; ResponseFunctionCallArgumentsDoneEvent.name (\u003ca href=\"https://github.com/openai/openai-python/commit/7d965135f93f41b0c3dbf3dc9f01796bd9645b6c\"\u003e7d96513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add custom JSON encoder for extended type support (\u003ca href=\"https://github.com/openai/openai-python/commit/9f43c8b1a1641db2336cc6d0ec0c6dc470a89103\"\u003e9f43c8b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e undo change to web search Find action (\u003ca href=\"https://github.com/openai/openai-python/commit/8f14eb0a74363fdfc648c5cd5c6d34a85b938d3c\"\u003e8f14eb0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e update type for \u003ccode\u003efind_in_page\u003c/code\u003e action (\u003ca href=\"https://github.com/openai/openai-python/commit/ec54ddeb357e49edd81cc3fe53d549c297e59a07\"\u003eec54dde\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/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.17.0 (2026-02-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.16.0...v2.17.0\"\u003ev2.16.0...v2.17.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add shell_call_output status field (\u003ca href=\"https://github.com/openai/openai-python/commit/1bbaf8865000b338c24c9fdd5e985183feaca10f\"\u003e1bbaf88\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e image generation actions for responses; ResponseFunctionCallArgumentsDoneEvent.name (\u003ca href=\"https://github.com/openai/openai-python/commit/7d965135f93f41b0c3dbf3dc9f01796bd9645b6c\"\u003e7d96513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add custom JSON encoder for extended type support (\u003ca href=\"https://github.com/openai/openai-python/commit/9f43c8b1a1641db2336cc6d0ec0c6dc470a89103\"\u003e9f43c8b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e undo change to web search Find action (\u003ca href=\"https://github.com/openai/openai-python/commit/8f14eb0a74363fdfc648c5cd5c6d34a85b938d3c\"\u003e8f14eb0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e update type for \u003ccode\u003efind_in_page\u003c/code\u003e action (\u003ca href=\"https://github.com/openai/openai-python/commit/ec54ddeb357e49edd81cc3fe53d549c297e59a07\"\u003eec54dde\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/openai/openai-python/commit/e8888736c86bb1d5a27100867da22b11ab5bb1b7\"\u003e\u003ccode\u003ee888873\u003c/code\u003e\u003c/a\u003e release: 2.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/b982088450a89409ae0eedc1f27f84f383b447af\"\u003e\u003ccode\u003eb982088\u003c/code\u003e\u003c/a\u003e fix(client): undo change to web search Find action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/b95c09d3f1b760378ee4137b83a8e9b87156bedd\"\u003e\u003ccode\u003eb95c09d\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/31b4218b71025c9183eb8320629af5de74682adc\"\u003e\u003ccode\u003e31b4218\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a1fb97bb3580d58a4534a3b4278b5cd4a43ddbc6\"\u003e\u003ccode\u003ea1fb97b\u003c/code\u003e\u003c/a\u003e fix(client): update type for \u003ccode\u003efind_in_page\u003c/code\u003e action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/42cb178759bd2bac2274f4c7afd3c550e6cf9aa2\"\u003e\u003ccode\u003e42cb178\u003c/code\u003e\u003c/a\u003e feat(api): image generation actions for responses; ResponseFunctionCallArgume...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db4d87193089f60d8a2c2841ded3c7fdcd54a5bb\"\u003e\u003ccode\u003edb4d871\u003c/code\u003e\u003c/a\u003e feat(client): add custom JSON encoder for extended type support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2360dfa7fd26a8f92211702c04752a10fe5fff27\"\u003e\u003ccode\u003e2360dfa\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/7da396e2601ea1587c8798a9c60d9d3497146380\"\u003e\u003ccode\u003e7da396e\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/27feb0a1b4fc821a47dd6898c5ab8cd2ac3238f4\"\u003e\u003ccode\u003e27feb0a\u003c/code\u003e\u003c/a\u003e feat(api): add shell_call_output status field\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.16.0...v2.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tenacity` from 9.1.3 to 9.1.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jd/tenacity/releases\"\u003etenacity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/555\"\u003ejd/tenacity#555\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.3...9.1.4\"\u003ehttps://github.com/jd/tenacity/compare/9.1.3...9.1.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/d4e868d6b8368c00b5a1fad54de36c2c8c3a0fb3\"\u003e\u003ccode\u003ed4e868d\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.3...9.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyrefly` from 0.50.1 to 0.51.1\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.51.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eStatus : BETA\u003c/strong\u003e\u003cbr /\u003e\n\u003cem\u003eRelease date: 02 February 2026\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003ePyrefly v0.51.0 bundles \u003cstrong\u003e162 commits\u003c/strong\u003e from \u003cstrong\u003e25 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- Fixes for incorrect type narrowing in boolean operations with generic functions \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e - Intersection logic fixed to identify empty intersections (\u003ccode\u003eNever\u003c/code\u003e) for \u003ccode\u003efinal\u003c/code\u003e classes and populated \u003ccode\u003eEnums\u003c/code\u003e, as they cannot be subclassed.  \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Added support \u003ccode\u003eGenericAlias\u003c/code\u003e type, including special attributes like \u003ccode\u003e__origin__\u003c/code\u003e, \u003ccode\u003e__args__\u003c/code\u003e, and support for the pipe operator \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Added support for checking that class-scoped type variables are not used in \u003ccode\u003eself\u003c/code\u003e annotations in \u003ccode\u003e__init__\u003c/code\u003e methods, per typing spec\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\"\u003e- During module resolution, \u0026quot;phantom paths\u0026quot; (non-existent paths checked during import) are now tracked, improving watch mode and import re-resolution \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- List addition (\u003ccode\u003e+\u003c/code\u003e) now propagates type hints to both operands, making assignments like \u003ccode\u003el2: list[Base] = [A()] + [B()]\u003c/code\u003e work as expected\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eError Handling\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Added configuration to debug and/or bypass deep recursion, which is useful for diagnosing stack overflow issues in large or generated codebases \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Multiple error messages have been shortened, clarified, or made more precise for better user experience (e.g., TypedDict, protocol variables, unpacking errors, pydantic, descriptor defaults).\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003ePerformance Improvements\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Faster suggested standard library imports (did you mean...?) \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Reduced memory usage for type aliases of unions \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Further improvements to tracking for fine-grained dependencies, improving IDE performance during incremental rechecks and accuracy of features like auto-imports\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 21 bug issues this release 👏\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2269\"\u003e#2269\u003c/a\u003e - Attribute lookups on classes inheriting from \u003ccode\u003eAny\u003c/code\u003e now fall back to \u003ccode\u003eAny\u003c/code\u003e instead of reporting \u003ccode\u003emissing-attribute\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2250\"\u003e#2250\u003c/a\u003e - \u003ccode\u003eSelf\u003c/code\u003e is now properly bound in class body expressions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2236\"\u003e#2236\u003c/a\u003e - fixed issue where \u003ccode\u003e--removed-unused-ignores\u003c/code\u003e incorrectly removed ignores from other type checkers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2196\"\u003e#2196\u003c/a\u003e - Tuple length checks with \u003ccode\u003eisinstance\u003c/code\u003e now work correctly with unpacked tuples and type variables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2118\"\u003e#2118\u003c/a\u003e - Legacy \u003ccode\u003eTypeVars\u003c/code\u003e are now correctly inferred in \u003ccode\u003eCallable\u003c/code\u003e annotations without assignment\u003c/li\u003e\n\u003cli\u003eAnd more! \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/990\"\u003e#990\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/842\"\u003e#842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/496\"\u003e#496\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2036\"\u003e#2036\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1917\"\u003e#1917\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1807\"\u003e#1807\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1714\"\u003e#1714\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1680\"\u003e#1680\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2169\"\u003e#2169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2141\"\u003e#2141\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2211\"\u003e#2211\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2208\"\u003e#2208\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2246\"\u003e#2246\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2267\"\u003e#2267\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2256\"\u003e#2256\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2274\"\u003e#2274\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.51.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 \u003ccode\u003e# pyrefly: ignore\u003c/code\u003e 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/26570f77538682b072199689489d22b4c27b1463\"\u003e\u003ccode\u003e26570f7\u003c/code\u003e\u003c/a\u003e Kick of PyPi release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/580ad3060dd85d7547b25f01b5778d967da7011c\"\u003e\u003ccode\u003e580ad30\u003c/code\u003e\u003c/a\u003e convert to explicit imports test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/09540936418e85b7d057739ddc4021a434627176\"\u003e\u003ccode\u003e0954093\u003c/code\u003e\u003c/a\u003e Add more TypeHeap factory methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/fa5d3b5d46c67c8c213f6939fa8d38bd0acfd1e2\"\u003e\u003ccode\u003efa5d3b5\u003c/code\u003e\u003c/a\u003e Migrate subset.rs type construction to TypeHeap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/040cba89ca3df81f56c5b65dc50ac17ff21a87e4\"\u003e\u003ccode\u003e040cba8\u003c/code\u003e\u003c/a\u003e Migrate solver.rs type construction to TypeHeap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/da6c65637c7337024e2fed67786f5779665769a2\"\u003e\u003ccode\u003eda6c656\u003c/code\u003e\u003c/a\u003e Add additional TypeHeap factory methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/219d9c80910590e88c9438dfcefb6e51e7d85636\"\u003e\u003ccode\u003e219d9c8\u003c/code\u003e\u003c/a\u003e Migrate LSP hover tests to use TypeHeap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/83adb62ec6e0d67aa0d01c19d8c29cca62e9f5f7\"\u003e\u003ccode\u003e83adb62\u003c/code\u003e\u003c/a\u003e Thread TypeHeap through standalone helper functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/2eabcb195e7e7abfcfc3533d270e3cad9e3c8a14\"\u003e\u003ccode\u003e2eabcb1\u003c/code\u003e\u003c/a\u003e Migrate remaining alt/*.rs type construction to TypeHeap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/59dfcd927fd2fe369d078749794b44142f007689\"\u003e\u003ccode\u003e59dfcd9\u003c/code\u003e\u003c/a\u003e Migrate alt/class type construction to TypeHeap\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.50.1...0.51.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.14.14 to 0.15.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.15.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.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\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\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/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB171\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/missing-maxsplit-arg\"\u003e\u003ccode\u003emissing-maxsplit-arg\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLC0207\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-lambda\"\u003e\u003ccode\u003eunnecessary-lambda\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLW0108\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-empty-iterable-within-deque-call\"\u003e\u003ccode\u003eunnecessary-empty-iterable-within-deque-call\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF037\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/in-empty-collection\"\u003e\u003ccode\u003ein-empty-collection\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF060\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/legacy-form-pytest-raises\"\u003e\u003ccode\u003elegacy-form-pytest-raises\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF061\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-octal-permissions\"\u003e\u003ccode\u003enon-octal-permissions\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF064\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\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.15.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.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\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\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/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB171\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/astral-sh/ruff/commit/ce5f7b6127a5d684e96fd0f8e387f73c41c7a1b0\"\u003e\u003ccode\u003ece5f7b6\u003c/code\u003e\u003c/a\u003e Bump 0.15.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23055\"\u003e#23055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b4e40f539cdbafac8afd6e510994ca64c3b317b9\"\u003e\u003ccode\u003eb4e40f5\u003c/code\u003e\u003c/a\u003e [ty] Fix \u003ccode\u003e__contains__\u003c/code\u003e to respect descriptors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23056\"\u003e#23056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/848cb72dc14b4c9409bf08e8323b4119d6b90005\"\u003e\u003ccode\u003e848cb72\u003c/code\u003e\u003c/a\u003e [ty] Fix narrowing of nonlocal variables with conditional assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22966\"\u003e#22966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/da7f33af22c7da3f3cb9321f776dda4131dda3cb\"\u003e\u003ccode\u003eda7f33a\u003c/code\u003e\u003c/a\u003e [ty] Add a diagnostic for \u003ccode\u003eFinal\u003c/code\u003e without assignment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23001\"\u003e#23001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e65f9a6b039fa411e5609a7bda9bb7ffd11e9b1a\"\u003e\u003ccode\u003ee65f9a6\u003c/code\u003e\u003c/a\u003e Document markdown formatting feature (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22990\"\u003e#22990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c0c1b985c9ec4b3570b0a28af69ad6776a3ec401\"\u003e\u003ccode\u003ec0c1b98\u003c/code\u003e\u003c/a\u003e Format markdown code blocks with line-by-line regex parse (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22996\"\u003e#22996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9f8f3e196bd6d4f2c572075536dd38b769c48087\"\u003e\u003ccode\u003e9f8f3e1\u003c/code\u003e\u003c/a\u003e Allow positional-only params with defaults in method overrides (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23037\"\u003e#23037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ef83810e118e3e41aa6c63f87f8a8147363a3e56\"\u003e\u003ccode\u003eef83810\u003c/code\u003e\u003c/a\u003e [ty] ecosystem-analyzer: Support bare git repositories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23054\"\u003e#23054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54dfee4cb800c0b0890b2b2c74c64cc45584194c\"\u003e\u003ccode\u003e54dfee4\u003c/code\u003e\u003c/a\u003e Customize where the \u003ccode\u003efix_title\u003c/code\u003e sub-diagnostic appears (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23044\"\u003e#23044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b53460799b592e5276e1d148d8a48469f396032e\"\u003e\u003ccode\u003eb534607\u003c/code\u003e\u003c/a\u003e 2026 Ruff Formatter Style (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22735\"\u003e#22735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.14...0.15.0\"\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.10.0.20251106 to 3.10.2.20260211\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typeshed-internal/stub_uploader/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/eikendev/minigist/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikendev%2Fminigist/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"3897484153","node_id":"PR_kwDONoDP3s7Bg7dz","number":207,"state":"closed","title":"chore(deps-py): bump the minor group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-02-04T17:00:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-04T16:55:10.000Z","updated_at":"2026-02-04T17:00:31.000Z","time_to_close":319,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-py): bump","group_name":"minor","update_count":6,"packages":[{"name":"llvmlite","old_version":"0.44.0","new_version":"0.45.1","repository_url":"https://github.com/numba/llvmlite"},{"name":"hugr","old_version":"0.14.4","new_version":"0.15.1","repository_url":"https://github.com/quantinuum/hugr"},{"name":"maturin","old_version":"1.10.2","new_version":"1.11.5","repository_url":"https://github.com/pyo3/maturin"},{"name":"ruff","old_version":"0.14.11","new_version":"0.15.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"qnexus","old_version":"0.37.1","new_version":"0.39.0","repository_url":"https://github.com/CQCL/qnexus"}],"path":null,"ecosystem":"conda"},"body":"Bumps the minor group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.44.0` | `0.45.1` |\n| [hugr](https://github.com/quantinuum/hugr) | `0.14.4` | `0.15.1` |\n| [maturin](https://github.com/pyo3/maturin) | `1.10.2` | `1.11.5` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.11` | `0.15.0` |\n| [qnexus](https://github.com/CQCL/qnexus) | `0.37.1` | `0.39.0` |\n\n\nUpdates `llvmlite` from 0.44.0 to 0.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numba/llvmlite/releases\"\u003ellvmlite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.45.1\u003c/h2\u003e\n\u003cp\u003eFor detailed release notes, see: \u003ca href=\"https://llvmlite.readthedocs.io/en/v0.45.1\"\u003ehttps://llvmlite.readthedocs.io/en/v0.45.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.45.0\u003c/h2\u003e\n\u003cp\u003eFor detailed release notes, see: \u003ca href=\"https://llvmlite.readthedocs.io/en/v0.45.0\"\u003ehttps://llvmlite.readthedocs.io/en/v0.45.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/acabcfb1f0d3968249290d8e93a382edcac02b7c\"\u003e\u003ccode\u003eacabcfb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1310\"\u003e#1310\u003c/a\u003e from esc/change-log-0.45.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/5c3efb5ed6bf6ca2123d6ed3e5b79ee6c6affcea\"\u003e\u003ccode\u003e5c3efb5\u003c/code\u003e\u003c/a\u003e change-log 0.45.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/f8f797ddc8b10eb7a24a3004b7c205047e87826c\"\u003e\u003ccode\u003ef8f797d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1307\"\u003e#1307\u003c/a\u003e from swap357/gha/win-64_add_dvelvewheel_repair\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/1ad5508273cdb83a8ca0dbe901d4354e2bb869d4\"\u003e\u003ccode\u003e1ad5508\u003c/code\u003e\u003c/a\u003e update llvmlite check_linkage test for bundled msvcp140.dll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/0406343da559ccdd0e52230dae746f0c2dfc1693\"\u003e\u003ccode\u003e0406343\u003c/code\u003e\u003c/a\u003e update validate_win-64_wheel.py for bundled msvcp140.dll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/0630c4173a14e0be1eb38070c429cce8f036dda0\"\u003e\u003ccode\u003e0630c41\u003c/code\u003e\u003c/a\u003e add delvewheel for wheel repair on win-64 wheel builder workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/2d479c9ce4259c94f388ead34f428a71be246ace\"\u003e\u003ccode\u003e2d479c9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1287\"\u003e#1287\u003c/a\u003e from esc/release0.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/5b1a63e2282bb05c40765be06d961475ea337aac\"\u003e\u003ccode\u003e5b1a63e\u003c/code\u003e\u003c/a\u003e update change-log, version and release date for 0.45.0 FINAL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/17c5a9843be998933125abf0948ecc1d71a31e21\"\u003e\u003ccode\u003e17c5a98\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1289\"\u003e#1289\u003c/a\u003e from esc/gha/use_explicit_channel_pin_llvmdev_for_wheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/99228055c6ac1d431b515396ba0eddce30a4d2b3\"\u003e\u003ccode\u003e9922805\u003c/code\u003e\u003c/a\u003e fixup linux Azure too\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numba/llvmlite/compare/v0.44.0...v0.45.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hugr` from 0.14.4 to 0.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/quantinuum/hugr/releases\"\u003ehugr's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ehugr-py: v0.15.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/compare/hugr-py-v0.15.0...hugr-py-v0.15.1\"\u003e0.15.1\u003c/a\u003e (2026-01-28)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd used_extensions method to Hugr (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2817\"\u003e#2817\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/0d88a430bdb8a6af9c7ec7c45ef6c853a7c79041\"\u003e0d88a43\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2614\"\u003e#2614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo resolution while computing used_extensions (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2834\"\u003e#2834\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/7aff29e2f53bbb0c7c63f962ae48fd27fa365644\"\u003e7aff29e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epy:\u003c/strong\u003e add qualified_name method to TypeDef (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2804\"\u003e#2804\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/b2231b377d2c655d14b7528640a66c9fe02a2c1e\"\u003eb2231b3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2426\"\u003e#2426\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd register_updated function for registry for self-referential ops (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2830\"\u003e#2830\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/afba54fda2d348161baf792f1cba2128369be09d\"\u003eafba54f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2829\"\u003e#2829\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ehugr-py: v0.15.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/compare/hugr-py-v0.14.2...hugr-py-v0.15.0\"\u003e0.15.0\u003c/a\u003e (2026-01-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eValueArray is gone, as is LinearizeArrayPass\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehugr-py:\u003c/strong\u003e Removes \u003ccode\u003eextensions\u003c/code\u003e field of \u003ccode\u003eval.Extension\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecollated_digitstring_counts\u003c/code\u003e to extend bitstring collation to digits (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2788\"\u003e#2788\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/191c4736b5fbe869f8d797703bbf1c29f33b3a92\"\u003e191c473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehugr-py:\u003c/strong\u003e Remove \u003ccode\u003eextensions\u003c/code\u003e field of \u003ccode\u003eval.Extension\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2686\"\u003e#2686\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/911c08921b9057f3854dd4431e4a7854b8b6991e\"\u003e911c089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eComposablePass.__call__\u003c/code\u003e return a Hugr (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2697\"\u003e#2697\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/dbf8c8e6fe72febd709921c10283fddc1f257983\"\u003edbf8c8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResult type for ComposablePasses (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2703\"\u003e#2703\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/b8df28e5b89eb3130d12e5cf429d642be3514e63\"\u003eb8df28e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehugr-py:\u003c/strong\u003e solved graph rendering with \u003ccode\u003eConst\u003c/code\u003e nodes after applying\u003ccode\u003eNormalizeGuppy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2744\"\u003e#2744\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/d99669009b5d98a0e99201f7bfa8621481741d54\"\u003ed996690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eset hugr field of \u003ccode\u003ePassResult\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2715\"\u003e#2715\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/d8607227ce6e2f79a5bf339100f303c750c7fdab\"\u003ed860722\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDelete ValueArray (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2760\"\u003e#2760\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/b3cdc4efd2fdb4632628a641eb84f86e14f5119a\"\u003eb3cdc4e\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/Quantinuum/hugr/commit/c90545ddc5b88b0f59f70acad53f4c4d7dcf65eb\"\u003e\u003ccode\u003ec90545d\u003c/code\u003e\u003c/a\u003e chore: release (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2002\"\u003e#2002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/33a2b49d2d343265415dab3c52631845b5cd53ce\"\u003e\u003ccode\u003e33a2b49\u003c/code\u003e\u003c/a\u003e revert!: Revert breaking change to \u003ccode\u003eStaticArrayValue\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2013\"\u003e#2013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/f3dd145963ce23152f29d2d46be7eaa9a78ef2c5\"\u003e\u003ccode\u003ef3dd145\u003c/code\u003e\u003c/a\u003e feat: Add llvm codegen for collections.static_array (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2003\"\u003e#2003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/3fe6bf82ad3ebed5689e3304e7df88f43b9128b1\"\u003e\u003ccode\u003e3fe6bf8\u003c/code\u003e\u003c/a\u003e fix: StaticArrayValue serialisation (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2009\"\u003e#2009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/6bd76659d1f3f3b100cef46f0d5f7ceec79699a9\"\u003e\u003ccode\u003e6bd7665\u003c/code\u003e\u003c/a\u003e feat: add exit operation to prelude (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2008\"\u003e#2008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/907accaaac2937cb8ab2427744ea035444a043da\"\u003e\u003ccode\u003e907acca\u003c/code\u003e\u003c/a\u003e feat(hugr-cli): Nicer error when passing a non-envelope file (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2007\"\u003e#2007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/a5e1881c0d8d1f3556223553ff180dc7097da54b\"\u003e\u003ccode\u003ea5e1881\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eCallIndirect\u003c/code\u003e tag from \u003ccode\u003eFnCall\u003c/code\u003e to \u003ccode\u003eDataflowChild\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2006\"\u003e#2006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/6ed4ecfd5f1122bb8971aa52ea11952e346a2e65\"\u003e\u003ccode\u003e6ed4ecf\u003c/code\u003e\u003c/a\u003e feat: traits for transforming Types/TypeArgs/etc. (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/1991\"\u003e#1991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/f433b39c23c876ceb2e03ff36ce76ff17bd900db\"\u003e\u003ccode\u003ef433b39\u003c/code\u003e\u003c/a\u003e fix: Remove return from val_or_panic (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/1999\"\u003e#1999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/5115bd5297768bd809ba00464baf91b1489f6659\"\u003e\u003ccode\u003e5115bd5\u003c/code\u003e\u003c/a\u003e chore: Drop Serialization section from DEVELOPMENT.md (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/1997\"\u003e#1997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quantinuum/hugr/compare/hugr-v0.14.4...hugr-v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `guppylang` from 0.21.6 to 0.21.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/quantinuum/guppylang/releases\"\u003eguppylang's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eguppylang: v0.21.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/compare/guppylang-v0.21.7...guppylang-v0.21.8\"\u003e0.21.8\u003c/a\u003e (2026-01-09)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd qubit hints on Guppy functions, allowing elision when building emulators (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1378\"\u003e#1378\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/b7f10c6798aa20841fae844084d8a1606661fd7b\"\u003eb7f10c6\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1297\"\u003e#1297\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd unsafe array take and put operations (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1165\"\u003e#1165\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/7f342e788e2f179382bab46dcc7e69a24dd64de3\"\u003e7f342e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to guppylang-internals 0.27 (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1430\"\u003e#1430\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/be02891955ac07819144e1e27374c3324d521536\"\u003ebe02891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to hugr v0.15, includes collated_digitstring_counts to extend bitstring collation to digits (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/2788\"\u003e#2788\u003c/a\u003e) (191c473)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression in \u003ccode\u003eresult\u003c/code\u003e calls (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1426\"\u003e#1426\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/9be6fefcdfb9fc9eb1025774d2dd2727b3e719b1\"\u003e9be6fef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert symbolic pytket circuits angle inputs into rotations (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1425\"\u003e#1425\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/4724d9039d8dffae8fd939f62ae80ec307d8918a\"\u003e4724d90\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hugr generation for tuples in \u003ccode\u003eResult\u003c/code\u003e and \u003ccode\u003eEither\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1395\"\u003e#1395\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/f8b0d47eb275aae3f5ba804dfeb3640c4a3baef6\"\u003ef8b0d47\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1388\"\u003e#1388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove diagnostics rendering (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1382\"\u003e#1382\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/e7ce7f6d1a4f2b12ff680a6e54dae96637c5fa92\"\u003ee7ce7f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove diagnostics rendering for wasm (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1399\"\u003e#1399\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/660417542f2b36c387e73765f8647c11cd3d1a7b\"\u003e6604175\u003c/a\u003e), (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1398\"\u003e#1398\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/a6a539fe07cc94f4a788fef506969e4c9027faee\"\u003ea6a539f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport comptime expressions in generic argument applications (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1409\"\u003e#1409\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/c1aad346adb15e3636e5586987422d74e36189a1\"\u003ec1aad34\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1087\"\u003e#1087\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eguppylang: v0.21.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/compare/guppylang-v0.21.6...guppylang-v0.21.7\"\u003e0.21.7\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUnitarity annotations for functions (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1292\"\u003e#1292\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/54dc200de881d065d3ee92bdc9a8ca076990d412\"\u003e54dc200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix rendering of \u003ccode\u003ecompile_entrypoint\u003c/code\u003e diagnostics (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1343\"\u003e#1343\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/fcd2131d58ad9c0bd9fba868f7581012d8f83916\"\u003efcd2131\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1340\"\u003e#1340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eguppylang:\u003c/strong\u003e upgrade to internals 0.26 (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1381\"\u003e#1381\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/85758904d1cb61556c456362817003e7210910a1\"\u003e8575890\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ccode\u003eresult\u003c/code\u003e using overloads instead of a custom node (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1361\"\u003e#1361\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/1da2c5dbb82bf6da35949b505a69f4e2f51acd3b\"\u003e1da2c5d\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/Quantinuum/guppylang/commit/f55d2ae8d599705623f8d8102fabddf4a6dca56f\"\u003e\u003ccode\u003ef55d2ae\u003c/code\u003e\u003c/a\u003e chore: release guppylang 0.21.8 (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1389\"\u003e#1389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/be02891955ac07819144e1e27374c3324d521536\"\u003e\u003ccode\u003ebe02891\u003c/code\u003e\u003c/a\u003e feat: update to guppylang-internals 0.27 (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/83cc0077afb1990f16c418475f22854c449e9d26\"\u003e\u003ccode\u003e83cc007\u003c/code\u003e\u003c/a\u003e chore: add \u003ca href=\"https://github.com/croyzor\"\u003e\u003ccode\u003e@​croyzor\u003c/code\u003e\u003c/a\u003e to release approvers (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/b630484182ab6738bbe20a29270491acbf5f94b5\"\u003e\u003ccode\u003eb630484\u003c/code\u003e\u003c/a\u003e chore: release guppylang-internals 0.27.0 (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1390\"\u003e#1390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/9be6fefcdfb9fc9eb1025774d2dd2727b3e719b1\"\u003e\u003ccode\u003e9be6fef\u003c/code\u003e\u003c/a\u003e fix: added deepcopy in \u003ccode\u003eOverloadedFunctionDef.{check_call,synthesize_call}\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/4724d9039d8dffae8fd939f62ae80ec307d8918a\"\u003e\u003ccode\u003e4724d90\u003c/code\u003e\u003c/a\u003e fix: Convert symbolic pytket circuits angle inputs into rotations (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/cf970ba7403a126fbd5d2fd53445e65270581df4\"\u003e\u003ccode\u003ecf970ba\u003c/code\u003e\u003c/a\u003e feat(internals): update to hugr-py 0.15 (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/8f0a15100e54bb5c38ad9cc41b65fc553d715b63\"\u003e\u003ccode\u003e8f0a151\u003c/code\u003e\u003c/a\u003e test: Add test that made hugr-0.25.0 fail (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1411\"\u003e#1411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/93fec70acee4abae9a59e9adce2afbd5c5a50510\"\u003e\u003ccode\u003e93fec70\u003c/code\u003e\u003c/a\u003e refactor: updated deprecated imports in the project. (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1416\"\u003e#1416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/4a167e5642cedc8f47ad027ed08483caa1558830\"\u003e\u003ccode\u003e4a167e5\u003c/code\u003e\u003c/a\u003e fix: Stop parsing entrypoints twice (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quantinuum/guppylang/compare/guppylang-v0.21.6...guppylang-v0.21.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `maturin` from 1.10.2 to 1.11.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyo3/maturin/releases\"\u003ematurin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.5\u003c/h2\u003e\n\u003ch2\u003e1.11.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow combining \u003ccode\u003e--compatibility pypi\u003c/code\u003e with other \u003ccode\u003e--compatibility\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2928\"\u003e#2928\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.11.4\u003c/h2\u003e\n\u003ch2\u003e1.11.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport armv6l and armv7l in pypi compatibility (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the reliability of maturin's own CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.11.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eImportant\u003c/strong\u003e \u003ccode\u003ematurin upload\u003c/code\u003e is deprecated and will be removed in maturin 2.0 (\u003ca href=\"https://redirect.github.com/PyO3/maturin/issues/2334\"\u003ePyO3/maturin#2334\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 1.11.2 by \u003ca href=\"https://github.com/konstin\"\u003e\u003ccode\u003e@​konstin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2921\"\u003ePyO3/maturin#2921\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyO3/maturin/compare/v1.11.1...v1.11.2\"\u003ehttps://github.com/PyO3/maturin/compare/v1.11.1...v1.11.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eImportant\u003c/strong\u003e \u003ccode\u003ematurin upload\u003c/code\u003e is deprecated and will be removed in maturin 2.0 (\u003ca href=\"https://redirect.github.com/PyO3/maturin/issues/2334\"\u003ePyO3/maturin#2334\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compiled artifacts being excluded by source path matching (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2910\"\u003e#2910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBetter error reporting for missing interpreters (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2918\"\u003e#2918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore unreadable excluded directories (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2916\"\u003e#2916\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.11.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eImportant\u003c/strong\u003e \u003ccode\u003ematurin upload\u003c/code\u003e is deprecated and will be removed in maturin 2.0 (\u003ca href=\"https://redirect.github.com/PyO3/maturin/issues/2334\"\u003ePyO3/maturin#2334\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThis release was yanked from PyPI.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unused code by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2848\"\u003ePyO3/maturin#2848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect tagging for x86_64 iOS simulator wheels. by \u003ca href=\"https://github.com/freakboy3742\"\u003e\u003ccode\u003e@​freakboy3742\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2851\"\u003ePyO3/maturin#2851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump MSRV to 1.85.0 and use Rust 2024 edition by \u003ca href=\"https://github.com/messense\"\u003e\u003ccode\u003e@​messense\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2850\"\u003ePyO3/maturin#2850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade goblin to 0.10 by \u003ca href=\"https://github.com/messense\"\u003e\u003ccode\u003e@​messense\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2853\"\u003ePyO3/maturin#2853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet entry type when adding to the tar file by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2859\"\u003ePyO3/maturin#2859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit up module_writer.rs code for code organization by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2857\"\u003ePyO3/maturin#2857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate environment variables for Android cross-compilation support by \u003ca href=\"https://github.com/ririv\"\u003e\u003ccode\u003e@​ririv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2825\"\u003ePyO3/maturin#2825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade some Rust dependencies by \u003ca href=\"https://github.com/messense\"\u003e\u003ccode\u003e@​messense\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2860\"\u003ePyO3/maturin#2860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwap outer and inner loops in write_python_part() by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2861\"\u003ePyO3/maturin#2861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit out convenience methods from ModuleWriter trait by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2842\"\u003ePyO3/maturin#2842\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cargo_metadata to 0.20.0 by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2864\"\u003ePyO3/maturin#2864\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCalculate file options for WheelWriter once and cache the result by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2865\"\u003ePyO3/maturin#2865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix link to pyo3 config file documentation by \u003ca href=\"https://github.com/DetachHead\"\u003e\u003ccode\u003e@​DetachHead\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2869\"\u003ePyO3/maturin#2869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up internal fields of WheelWriter by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2870\"\u003ePyO3/maturin#2870\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/PyO3/maturin/blob/main/Changelog.md\"\u003ematurin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow combining \u003ccode\u003e--compatibility pypi\u003c/code\u003e with other \u003ccode\u003e--compatibility\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2928\"\u003e#2928\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.11.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport armv6l and armv7l in pypi compatibility (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the reliability of maturin's own CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.11.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix manylinux2014 compliance check (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix failed release\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix compiled artifacts being excluded by source path matching (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2910\"\u003e#2910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBetter error reporting for missing interpreters (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2918\"\u003e#2918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore unreadable excluded directories (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2916\"\u003e#2916\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.11.0] - Yanked\u003c/h2\u003e\n\u003cp\u003eNote: This release was yanked to a regression: \u003ca href=\"https://redirect.github.com/PyO3/maturin/issues/2909\"\u003ePyO3/maturin#2909\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor \u003ccode\u003eModuleWriter\u003c/code\u003e to be easier to implement and use\u003c/li\u003e\n\u003cli\u003eAdd Android cross compilation support, fix wheel tags for Android\u003c/li\u003e\n\u003cli\u003eUpdate generate-ci to macos-15-intel and add windows arm support\u003c/li\u003e\n\u003cli\u003eDeprecate 'upload' and 'publish' CLI commands\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/PyO3/maturin/commit/5d50051c9928a0aabe7d52cf868abf17f7e8f407\"\u003e\u003ccode\u003e5d50051\u003c/code\u003e\u003c/a\u003e Release 1.11.5 (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2930\"\u003e#2930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/5b54ce4549fcbef1898c4903ae3a0268609848d5\"\u003e\u003ccode\u003e5b54ce4\u003c/code\u003e\u003c/a\u003e Allow combining \u003ccode\u003e--compatibility pypi\u003c/code\u003e with other \u003ccode\u003e--compatibility\u003c/code\u003e values (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/b80ab1f95443db3d9614cdfa3f147b610e136890\"\u003e\u003ccode\u003eb80ab1f\u003c/code\u003e\u003c/a\u003e Release 1.11.4 (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/e5fa2779a13ce814314f0eb4e8900b45a2905051\"\u003e\u003ccode\u003ee5fa277\u003c/code\u003e\u003c/a\u003e Support armv6l and armv7l in pypi compatibility (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/ff7f3efa71e9e04bbab8ba8f72cfeb74904926bd\"\u003e\u003ccode\u003eff7f3ef\u003c/code\u003e\u003c/a\u003e Use uv instead of sudo pip and pin release bootstrapping version (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/a4f232de88a7691182fc25f03d98c1cac9bc7142\"\u003e\u003ccode\u003ea4f232d\u003c/code\u003e\u003c/a\u003e Automate release dry runs (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2924\"\u003e#2924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/795565daaddd42021149223c773ca9d1e7c4ed99\"\u003e\u003ccode\u003e795565d\u003c/code\u003e\u003c/a\u003e Release 1.11.3 (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2923\"\u003e#2923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/67a59dec1545dd917a2728ba9a75f88909602441\"\u003e\u003ccode\u003e67a59de\u003c/code\u003e\u003c/a\u003e Fix manylinux2014 compliance check (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/3034dfc13d07402f4e57317706efc960ffab58ad\"\u003e\u003ccode\u003e3034dfc\u003c/code\u003e\u003c/a\u003e Release 1.11.2 (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/9a0942aa33fbe8eefcc0744d856e5f1a74b77f62\"\u003e\u003ccode\u003e9a0942a\u003c/code\u003e\u003c/a\u003e Release 0.11.1 (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyo3/maturin/compare/v1.10.2...v1.11.5\"\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.11 to 0.15.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.15.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.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\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\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/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB171\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/missing-maxsplit-arg\"\u003e\u003ccode\u003emissing-maxsplit-arg\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLC0207\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-lambda\"\u003e\u003ccode\u003eunnecessary-lambda\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLW0108\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-empty-iterable-within-deque-call\"\u003e\u003ccode\u003eunnecessary-empty-iterable-within-deque-call\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF037\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/in-empty-collection\"\u003e\u003ccode\u003ein-empty-collection\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF060\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/legacy-form-pytest-raises\"\u003e\u003ccode\u003elegacy-form-pytest-raises\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF061\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-octal-permissions\"\u003e\u003ccode\u003enon-octal-permissions\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF064\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\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.15.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.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\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\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/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB171\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/astral-sh/ruff/commit/ce5f7b6127a5d684e96fd0f8e387f73c41c7a1b0\"\u003e\u003ccode\u003ece5f7b6\u003c/code\u003e\u003c/a\u003e Bump 0.15.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23055\"\u003e#23055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b4e40f539cdbafac8afd6e510994ca64c3b317b9\"\u003e\u003ccode\u003eb4e40f5\u003c/code\u003e\u003c/a\u003e [ty] Fix \u003ccode\u003e__contains__\u003c/code\u003e to respect descriptors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23056\"\u003e#23056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/848cb72dc14b4c9409bf08e8323b4119d6b90005\"\u003e\u003ccode\u003e848cb72\u003c/code\u003e\u003c/a\u003e [ty] Fix narrowing of nonlocal variables with conditional assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22966\"\u003e#22966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/da7f33af22c7da3f3cb9321f776dda4131dda3cb\"\u003e\u003ccode\u003eda7f33a\u003c/code\u003e\u003c/a\u003e [ty] Add a diagnostic for \u003ccode\u003eFinal\u003c/code\u003e without assignment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23001\"\u003e#23001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e65f9a6b039fa411e5609a7bda9bb7ffd11e9b1a\"\u003e\u003ccode\u003ee65f9a6\u003c/code\u003e\u003c/a\u003e Document markdown formatting feature (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22990\"\u003e#22990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c0c1b985c9ec4b3570b0a28af69ad6776a3ec401\"\u003e\u003ccode\u003ec0c1b98\u003c/code\u003e\u003c/a\u003e Format markdown code blocks with line-by-line regex parse (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22996\"\u003e#22996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9f8f3e196bd6d4f2c572075536dd38b769c48087\"\u003e\u003ccode\u003e9f8f3e1\u003c/code\u003e\u003c/a\u003e Allow positional-only params with defaults in method overrides (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23037\"\u003e#23037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ef83810e118e3e41aa6c63f87f8a8147363a3e56\"\u003e\u003ccode\u003eef83810\u003c/code\u003e\u003c/a\u003e [ty] ecosystem-analyzer: Support bare git repositories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23054\"\u003e#23054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54dfee4cb800c0b0890b2b2c74c64cc45584194c\"\u003e\u003ccode\u003e54dfee4\u003c/code\u003e\u003c/a\u003e Customize where the \u003ccode\u003efix_title\u003c/code\u003e sub-diagnostic appears (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23044\"\u003e#23044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b53460799b592e5276e1d148d8a48469f396032e\"\u003e\u003ccode\u003eb534607\u003c/code\u003e\u003c/a\u003e 2026 Ruff Formatter Style (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22735\"\u003e#22735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.11...0.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qnexus` from 0.37.1 to 0.39.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/CQCL/qnexus/releases\"\u003eqnexus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.39.0 (2026-01-09)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid starting login flow unless the tokens are expired (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/304\"\u003e#304\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate quantinuum-schemas with current HeliosErrorParams.\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/Quantinuum/qnexus/blob/main/CHANGELOG.md\"\u003eqnexus's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.39.0 (2026-01-09)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid starting login flow unless the tokens are expired (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/304\"\u003e#304\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate quantinuum-schemas with current HeliosErrorParams.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.38.0 (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance search functionality with exact and fuzzy name filters (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/300\"\u003e#300\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCircuitref.download_circuit() now supports scope (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/298\"\u003e#298\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCircuits.cost now uses a nexus execute job (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.38.0 (2025-11-20)\u003c/h2\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/Quantinuum/qnexus/commit/45bde4eceae4923049e3b773823121632d033dd2\"\u003e\u003ccode\u003e45bde4e\u003c/code\u003e\u003c/a\u003e docs: prepare CHANGELOG for v0.39.0 (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/856ad4dfbe9b1781820daa5e29946ecc27139ded\"\u003e\u003ccode\u003e856ad4d\u003c/code\u003e\u003c/a\u003e feat: avoid starting login flow unless the tokens are expired (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/304\"\u003e#304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/ab8e800f5495a4ba2d36dbbed39119d92fbfd8f7\"\u003e\u003ccode\u003eab8e800\u003c/code\u003e\u003c/a\u003e ci: Update hugrverse-actions location (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/303\"\u003e#303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/00ed6ac08a3c3dc6db3a59ba01be4bbe06bfcbb2\"\u003e\u003ccode\u003e00ed6ac\u003c/code\u003e\u003c/a\u003e docs: Update CHANGELOG for v0.38.0 (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/301\"\u003e#301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/1fe6b3b72e1fc9590e6b56fac660aa87c14fd537\"\u003e\u003ccode\u003e1fe6b3b\u003c/code\u003e\u003c/a\u003e feat: Enhance search functionality with exact and fuzzy name filters (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/300\"\u003e#300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/38832296c248462d0142c637ff2fc7772c5a1926\"\u003e\u003ccode\u003e3883229\u003c/code\u003e\u003c/a\u003e fix: CircuitRef.download_circuit() now supports scope (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/298\"\u003e#298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/22fff9fb5592340611408758e9ceca6afe0e42ea\"\u003e\u003ccode\u003e22fff9f\u003c/code\u003e\u003c/a\u003e fix: circuits.cost now uses a Nexus execute job (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/294\"\u003e#294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/e2428594404f278d74a1388c7e6524f99eab8f55\"\u003e\u003ccode\u003ee242859\u003c/code\u003e\u003c/a\u003e chore: fix python version badge (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/134eb56529fc1f726b647005e096e8a5f43f11eb\"\u003e\u003ccode\u003e134eb56\u003c/code\u003e\u003c/a\u003e chore: use ibm_torino instead of deprecated ibm_brisbane (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/296\"\u003e#296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/6ed3da53affc4d263fe52e610fe5b551c1059c19\"\u003e\u003ccode\u003e6ed3da5\u003c/code\u003e\u003c/a\u003e chore: fix qnexus version in uv.lock (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/CQCL/qnexus/compare/v0.37.1...v0.39.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMost Recent Ignore Conditions Applied to This Pull Request\u003c/summary\u003e\n\n| Dependency Name | Ignore Conditions |\n| --- | --- |\n| llvmlite | [\u003e= 0.46.dev0, \u003c 0.47] |\n\u003c/details\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Quantinuum/hugr-qir/pull/207","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quantinuum%2Fhugr-qir/issues/207","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/207/packages"},{"uuid":"3885097379","node_id":"PR_kwDOQxhlo87A3uTK","number":97,"state":"open","title":"chore(deps): Bump the patch-updates group across 1 directory with 4 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":"2026-02-02T10:13:58.000Z","updated_at":"2026-02-02T10:13:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"patch-updates","update_count":4,"packages":[{"name":"duckdb","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"sqlalchemy","old_version":"2.0.45","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"boto3","old_version":"1.42.30","new_version":"1.42.39","repository_url":"https://github.com/boto/boto3"},{"name":"ruff","old_version":"0.14.13","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the patch-updates group with 4 updates in the / directory: [duckdb](https://github.com/duckdb/duckdb-python), [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy), [boto3](https://github.com/boto/boto3) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `duckdb` from 1.4.3 to 1.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/duckdb/duckdb-python/releases\"\u003educkdb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.4.4 Bugfix Release\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDuckDB core v1.4.4 Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/duckdb/duckdb/compare/v1.4.3...v1.4.4\"\u003ehttps://github.com/duckdb/duckdb/compare/v1.4.3...v1.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed in the Python Extension\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix polars tests by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/218\"\u003educkdb/duckdb-python#218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests for string and binary views by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/221\"\u003educkdb/duckdb-python#221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuote view names in unregister by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/222\"\u003educkdb/duckdb-python#222\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLimit string nodes in Polars expressions to constant expressions by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/225\"\u003educkdb/duckdb-python#225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape identifiers in relation aggregations by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/272\"\u003educkdb/duckdb-python#272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix DECREF bug during interpreter shutdown by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/275\"\u003educkdb/duckdb-python#275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for Pandas 3.0.0 by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/277\"\u003educkdb/duckdb-python#277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for v1.4.4 by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/280\"\u003educkdb/duckdb-python#280\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.4.3...v1.4.4\"\u003ehttps://github.com/duckdb/duckdb-python/compare/v1.4.3...v1.4.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/a12f36ca411007f5eb48919448f61c7498112553\"\u003e\u003ccode\u003ea12f36c\u003c/code\u003e\u003c/a\u003e Prepare for v1.4.4 (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/280\"\u003e#280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/77a3f8d637982542f6e91569b9ecad3e96a02b32\"\u003e\u003ccode\u003e77a3f8d\u003c/code\u003e\u003c/a\u003e Set submodule to release hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/f1711b5616f64de43ef6da2034c81e00fa9b032d\"\u003e\u003ccode\u003ef1711b5\u003c/code\u003e\u003c/a\u003e Support for Pandas 3.0.0 (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/8361d73425cc7b6e53785ad2b76ed898342a768d\"\u003e\u003ccode\u003e8361d73\u003c/code\u003e\u003c/a\u003e Move slow tests to slow and fix test error when pyarrow is missing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/5d9b64ee2b77de72b53d741a355c20dcd239129a\"\u003e\u003ccode\u003e5d9b64e\u003c/code\u003e\u003c/a\u003e Add timedelta[s|ms|us|ns] numpy types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/5a654d338003a83ae03d8c954fb40ace7cbc6d4e\"\u003e\u003ccode\u003e5a654d3\u003c/code\u003e\u003c/a\u003e pandas default backend fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/9d6edb6ead36cae62fa65e223b374b5edfaa7731\"\u003e\u003ccode\u003e9d6edb6\u003c/code\u003e\u003c/a\u003e dependency updates and fix for lazy attribute accessors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/c2e65055824d2369e54412638a1478444ca7b6b5\"\u003e\u003ccode\u003ec2e6505\u003c/code\u003e\u003c/a\u003e Support Pandas' new str type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/e32ed3edd0f502b8215a3dc337217a65d9d9bb98\"\u003e\u003ccode\u003ee32ed3e\u003c/code\u003e\u003c/a\u003e Fix DECREF bug during interpreter shutdown (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/39c384bfc0adf6d44d99634e4e09a8b7af2e761c\"\u003e\u003ccode\u003e39c384b\u003c/code\u003e\u003c/a\u003e Fix DECREF bug during interpreter shutdown\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.4.3...v1.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.45 to 2.0.46\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.46\u003c/h1\u003e\n\u003cp\u003eReleased: January 21, 2026\u003c/p\u003e\n\u003ch2\u003etyping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[typing] [bug]\u003c/strong\u003e Fixed typing issues where ORM mapped classes and aliased entities could not\nbe used as keys in result row mappings or as join targets in select\nstatements. Patterns such as \u003ccode\u003erow._mapping[User]\u003c/code\u003e,\n\u003ccode\u003erow._mapping[aliased(User)]\u003c/code\u003e, \u003ccode\u003erow._mapping[with_polymorphic(...)]\u003c/code\u003e\n(rejected by both mypy and Pylance), and \u003ccode\u003e.join(aliased(User))\u003c/code\u003e\n(rejected by Pylance) are documented and fully supported at runtime but\nwere previously rejected by type checkers. The type definitions for\n\u003ccode\u003e_KeyType\u003c/code\u003e and \u003ccode\u003e_FromClauseArgument\u003c/code\u003e have been updated to\naccept these ORM entity types.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13075\"\u003e#13075\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Fixed issue where PostgreSQL JSONB operators\n\u003ccode\u003e_postgresql.JSONB.Comparator.path_match()\u003c/code\u003e and\n\u003ccode\u003e_postgresql.JSONB.Comparator.path_exists()\u003c/code\u003e were applying incorrect\n\u003ccode\u003eVARCHAR\u003c/code\u003e casts to the right-hand side operand when used with newer\nPostgreSQL drivers such as psycopg. The operators now indicate the\nright-hand type as \u003ccode\u003eJSONPATH\u003c/code\u003e, which currently results in no casting\ntaking place, but is also compatible with explicit casts if the\nimplementation were require it at a later point.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13059\"\u003e#13059\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Fixed regression in PostgreSQL dialect where JSONB subscription syntax\nwould generate incorrect SQL for \u003ccode\u003ecast()\u003c/code\u003e expressions returning JSONB,\ncausing syntax errors. The dialect now properly wraps cast expressions in\nparentheses when using the \u003ccode\u003e[]\u003c/code\u003e subscription syntax, generating\n\u003ccode\u003e(CAST(...))[index]\u003c/code\u003e instead of \u003ccode\u003eCAST(...)[index]\u003c/code\u003e to comply with\nPostgreSQL syntax requirements. This extends the fix from \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12778\"\u003e#12778\u003c/a\u003e\nwhich addressed the same issue for function calls.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13067\"\u003e#13067\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Improved the foreign key reflection regular expression pattern used by the\nPostgreSQL dialect to be more permissive in matching identifier characters,\nallowing it to correctly handle unicode characters in table and column\nnames. This change improves compatibility with PostgreSQL variants such as\nCockroachDB that may use different quoting patterns in combination with\nunicode characters in their identifiers.  Pull request courtesy Gord\nThompson.\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\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.42.30 to 1.42.39\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fd93dbb656cec791e048992bc24d78850e672c59\"\u003e\u003ccode\u003efd93dbb\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0a13ecc0c4b5993ea9eb7919074f5be4bef19e2e\"\u003e\u003ccode\u003e0a13ecc\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/e6b1f899842d00b31f5caccdff57efec22a8e69b\"\u003e\u003ccode\u003ee6b1f89\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f76522e1afd1cbd0902d999a5d0653f618652cd5\"\u003e\u003ccode\u003ef76522e\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.38'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c7ef3d310e9412dfe39c4389ba989f9c37193fc8\"\u003e\u003ccode\u003ec7ef3d3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.38' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/24e7223212b0e0ee74db6d2c553fed7d6567fd58\"\u003e\u003ccode\u003e24e7223\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.38\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0b29f3ab2ab844bdba5c2c15385d3e0b6cad961c\"\u003e\u003ccode\u003e0b29f3a\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/68bd84f8df188676623ad81deb3e8c90aab6ce0c\"\u003e\u003ccode\u003e68bd84f\u003c/code\u003e\u003c/a\u003e Update wheel to 0.46.3 (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4713\"\u003e#4713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/bae9979910c8ac4f22bc0e491560988355b0e1ce\"\u003e\u003ccode\u003ebae9979\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.37'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/be2fdc5fc97fc8ac179c5f261eda9c0ae99a5fe2\"\u003e\u003ccode\u003ebe2fdc5\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.37' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.42.30...1.42.39\"\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.13 to 0.14.14\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.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\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/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\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/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\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/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\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.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\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/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\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/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\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/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\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/8b2e7b36f246b990fe473a84eef25ff429e59ecf\"\u003e\u003ccode\u003e8b2e7b3\u003c/code\u003e\u003c/a\u003e Prepare release v0.14.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22813\"\u003e#22813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4c7d1f50fd8d1baf06a3c8885ecd0ded0113d383\"\u003e\u003ccode\u003e4c7d1f5\u003c/code\u003e\u003c/a\u003e [ty] Infer \u003ccode\u003eTypedDict\u003c/code\u003e types with \u0026gt;=1 required key as being always truthy (\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/b7de4341535ff2b299695335e0a7b9ebaf297348\"\u003e\u003ccode\u003eb7de434\u003c/code\u003e\u003c/a\u003e add CCfW hooks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22803\"\u003e#22803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b912dfc8788f8f8c351767899df6b72ce3366352\"\u003e\u003ccode\u003eb912dfc\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1ff062d1cccb8025de184a55c6dfe469a4293249\"\u003e\u003ccode\u003e1ff062d\u003c/code\u003e\u003c/a\u003e [ty] Improve completion rankings for raise-from/except contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22775\"\u003e#22775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7e408a51d24db2bca248bb90f2f7938f83efd22b\"\u003e\u003ccode\u003e7e408a5\u003c/code\u003e\u003c/a\u003e Update dependency wrangler to v4.59.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22793\"\u003e#22793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ceb876b82300bd237d11e3eb77c46fcf3d3afe85\"\u003e\u003ccode\u003eceb876b\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c5b4ee68c90faf0e609fa6553a171a7ba60ebdcb\"\u003e\u003ccode\u003ec5b4ee6\u003c/code\u003e\u003c/a\u003e [ty] Support solving generics involving PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22678\"\u003e#22678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9a61293153f43df9963c727539309b76ac4756d\"\u003e\u003ccode\u003eb9a6129\u003c/code\u003e\u003c/a\u003e [ty] Improve support for kwarg splats in dictionary literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22781\"\u003e#22781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f516d47ceb7f6a0c3a95eaaa2c7451a32b5d7120\"\u003e\u003ccode\u003ef516d47\u003c/code\u003e\u003c/a\u003e Update contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.13...0.14.14\"\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/Squrtech/datacheck/pull/97","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Squrtech%2Fdatacheck/issues/97","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/97/packages"},{"uuid":"3880490032","node_id":"PR_kwDOL2tAdc7AonfE","number":1326,"state":"open","title":"chore(deps)(deps): bump the python-dependencies group in /functional-tests with 3 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-01T00:12:02.000Z","updated_at":"2026-02-01T00:40:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-dependencies","update_count":3,"packages":[{"name":"locust","old_version":"2.42.6","new_version":"2.43.1","repository_url":"https://github.com/locustio/locust"},{"name":"ruff","old_version":"0.14.9","new_version":"0.14.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.2","new_version":"0.0.12","repository_url":"https://github.com/astral-sh/ty"}],"path":"/functional-tests","ecosystem":"conda"},"body":"Bumps the python-dependencies group in /functional-tests with 3 updates: [locust](https://github.com/locustio/locust), [ruff](https://github.com/astral-sh/ruff) and [ty](https://github.com/astral-sh/ty).\n\nUpdates `locust` from 2.42.6 to 2.43.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/locustio/locust/releases\"\u003elocust's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.43.1\u003c/h2\u003e\n\u003cp\u003eUpdate various WebUI dependencies, no other changes.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003e@​emotion/styled\u003c/code\u003e from 11.14.0 to 11.14.1 in /locust/webui in the emotion group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3322\"\u003elocustio/locust#3322\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the eslint group in /locust/webui with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3319\"\u003elocustio/locust#3319\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the all_dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3318\"\u003elocustio/locust#3318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize tests by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3325\"\u003elocustio/locust#3325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize tests by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3326\"\u003elocustio/locust#3326\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump packages by \u003ca href=\"https://github.com/andrewbaldwin44\"\u003e\u003ccode\u003e@​andrewbaldwin44\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3331\"\u003elocustio/locust#3331\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/locustio/locust/compare/2.43.0...2.43.1\"\u003ehttps://github.com/locustio/locust/compare/2.43.0...2.43.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.43.0\u003c/h2\u003e\n\u003cp\u003eHappy new year!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump glob from 10.4.5 to 10.5.0 in /locust/webui by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3304\"\u003elocustio/locust#3304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump js-yaml from 4.1.0 to 4.1.1 in /locust/webui by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3305\"\u003elocustio/locust#3305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture stacktrace on KeyboardInterrupt on greenlets by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3306\"\u003elocustio/locust#3306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor parse_options by \u003ca href=\"https://github.com/andrewbaldwin44\"\u003e\u003ccode\u003e@​andrewbaldwin44\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3310\"\u003elocustio/locust#3310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSolving the iter_lines problem by \u003ca href=\"https://github.com/MasterKey-Pro\"\u003e\u003ccode\u003e@​MasterKey-Pro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3311\"\u003elocustio/locust#3311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow users to stop test run by raising StopTest, use it on missing host in locustfile (and no --host param) by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3313\"\u003elocustio/locust#3313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove references to locust.cloud now that it is shutting down by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3314\"\u003elocustio/locust#3314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a better error message when spawn rate is set to zero by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3317\"\u003elocustio/locust#3317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport requests\u0026gt;=2.32.5, reimplement the fix previously there for only loading ssl certificates once by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3316\"\u003elocustio/locust#3316\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/locustio/locust/compare/2.42.6...2.43.0\"\u003ehttps://github.com/locustio/locust/compare/2.42.6...2.43.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/locustio/locust/blob/master/CHANGELOG.md\"\u003elocust's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/locustio/locust/tree/2.43.1\"\u003e2.43.1\u003c/a\u003e (2026-01-12)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/locustio/locust/compare/2.43.0...2.43.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMerged pull requests:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump packages \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3331\"\u003e#3331\u003c/a\u003e (\u003ca href=\"https://github.com/andrewbaldwin44\"\u003eandrewbaldwin44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize tests \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3326\"\u003e#3326\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize tests \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3325\"\u003e#3325\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003e@​emotion/styled\u003c/code\u003e from 11.14.0 to 11.14.1 in /locust/webui in the emotion group \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3322\"\u003e#3322\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the eslint group in /locust/webui with 5 updates \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3319\"\u003e#3319\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the all_dependencies group with 2 updates \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3318\"\u003e#3318\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/locustio/locust/tree/2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-12-30)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/locustio/locust/compare/2.42.6...2.43.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eClosed issues:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for requests \u0026gt;=2.32.5 (compatibility with LangChain/AI ecosystem) \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3307\"\u003e#3307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMultiple select in web UI for custom arguments \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3260\"\u003e#3260\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggestion to Add  \u0026quot;iter_lines\u0026quot;  Support for  \u0026quot;FastHttpUser\u0026quot;  in Locust \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3018\"\u003e#3018\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMerged pull requests:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProvide a better error message when spawn rate is set to zero \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3317\"\u003e#3317\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport requests\u0026gt;=2.32.5, reimplement the fix previously there for only loading ssl certificates once \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3316\"\u003e#3316\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove references to locust.cloud now that it is shutting down \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3314\"\u003e#3314\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow users to stop test run by raising StopTest, use it on missing host in locustfile (and no --host param) \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3313\"\u003e#3313\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLocust Cloud demo tab: update domain from auth.locust.cloud to app.locust.cloud \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3312\"\u003e#3312\u003c/a\u003e (\u003ca href=\"https://github.com/andrewbaldwin44\"\u003eandrewbaldwin44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSolving the iter_lines problem \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3311\"\u003e#3311\u003c/a\u003e (\u003ca href=\"https://github.com/MasterKey-Pro\"\u003eMasterKey-Pro\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor parse_options \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3310\"\u003e#3310\u003c/a\u003e (\u003ca href=\"https://github.com/andrewbaldwin44\"\u003eandrewbaldwin44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCapture stacktrace on KeyboardInterrupt on greenlets \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3306\"\u003e#3306\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump js-yaml from 4.1.0 to 4.1.1 in /locust/webui \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3305\"\u003e#3305\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump glob from 10.4.5 to 10.5.0 in /locust/webui \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3304\"\u003e#3304\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/locustio/locust/commit/220197088d32629bec1970f6a9aca871d0c4058e\"\u003e\u003ccode\u003e2201970\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/a4ba5eeb698b4a6ba55e1eb0b138e8872c3da18c\"\u003e\u003ccode\u003ea4ba5ee\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3331\"\u003e#3331\u003c/a\u003e from andrewbaldwin44/task/bump-webui-packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/4019cd7b96eabe37da97547cabba72308573824c\"\u003e\u003ccode\u003e4019cd7\u003c/code\u003e\u003c/a\u003e Bump packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/3059b6c2356ca1ba610ea79538f1be618c0b6669\"\u003e\u003ccode\u003e3059b6c\u003c/code\u003e\u003c/a\u003e docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/7026a2e7688129819fbaf20c7c54dc81e5ebfc4a\"\u003e\u003ccode\u003e7026a2e\u003c/code\u003e\u003c/a\u003e add GH actions example to docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/509248fe1bbeb3f7db76c45dad34404359d29ece\"\u003e\u003ccode\u003e509248f\u003c/code\u003e\u003c/a\u003e docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/b927bd138b73c786e8ae2e72186325ad35d4a8db\"\u003e\u003ccode\u003eb927bd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3326\"\u003e#3326\u003c/a\u003e from amadeuppereira/stabilize-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/48ecc28fd51333434611f8ba61e35fdd64c5e1e7\"\u003e\u003ccode\u003e48ecc28\u003c/code\u003e\u003c/a\u003e Stabilize tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/e9cd29df513041ea211a0da3d63861c39bad0ad8\"\u003e\u003ccode\u003ee9cd29d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3325\"\u003e#3325\u003c/a\u003e from amadeuppereira/stabilize-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/caab1b8fdc391b3231c5d3d9ab0d4935b0ccb4f5\"\u003e\u003ccode\u003ecaab1b8\u003c/code\u003e\u003c/a\u003e Stabilize tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/locustio/locust/compare/2.42.6...2.43.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.14.9 to 0.14.13\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.13\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-15.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.14.12. Because of an issue publishing the WASM packages, there is no GitHub release or Git tag for 0.14.12, although the package was published to PyPI. The contents of the 0.14.13 release are identical to 0.14.12.\u003c/p\u003e\n\u003ch2\u003e0.14.12\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-blind-except\u003c/code\u003e] Allow more logging methods (\u003ccode\u003eBLE001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22057\"\u003e#22057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Respect \u003ccode\u003elint.pydocstyle.property-decorators\u003c/code\u003e in \u003ccode\u003eRUF066\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22515\"\u003e#22515\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix configuration path in \u003ccode\u003e--show-settings\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22478\"\u003e#22478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for multiple statements on the same logical line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22119\"\u003e#22119\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] Update Rust crate imperative to v1.0.7 (\u003ccode\u003eD401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22519\"\u003e#22519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Insert imports in alphabetical order (\u003ccode\u003eI002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22493\"\u003e#22493\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd llms.txt support for documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22463\"\u003e#22463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse prek in documentation and CI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22505\"\u003e#22505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Add \u003ccode\u003echeck\u003c/code\u003e parameter example to \u003ccode\u003ePT017\u003c/code\u003e docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22546\"\u003e#22546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003eRUF103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22558\"\u003e#22558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] document \u003ccode\u003eRUF100\u003c/code\u003e trailing comment fix behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22479\"\u003e#22479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewasm: Require explicit logging initialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22587\"\u003e#22587\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/terror\"\u003e\u003ccode\u003e@​terror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Jkhall81\"\u003e\u003ccode\u003e@​Jkhall81\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/lubaskinc0de\"\u003e\u003ccode\u003e@​lubaskinc0de\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\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/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\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/11happy\"\u003e\u003ccode\u003e@​11happy\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.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-15.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.14.12. Because of an issue publishing the WASM packages, there is no GitHub release or Git tag for 0.14.12, although the package was published to PyPI. The contents of the 0.14.13 release are identical to 0.14.12.\u003c/p\u003e\n\u003ch2\u003e0.14.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-15.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-blind-except\u003c/code\u003e] Allow more logging methods (\u003ccode\u003eBLE001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22057\"\u003e#22057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Respect \u003ccode\u003elint.pydocstyle.property-decorators\u003c/code\u003e in \u003ccode\u003eRUF066\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22515\"\u003e#22515\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix configuration path in \u003ccode\u003e--show-settings\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22478\"\u003e#22478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for multiple statements on the same logical line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22119\"\u003e#22119\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] Update Rust crate imperative to v1.0.7 (\u003ccode\u003eD401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22519\"\u003e#22519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Insert imports in alphabetical order (\u003ccode\u003eI002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22493\"\u003e#22493\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd llms.txt support for documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22463\"\u003e#22463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse prek in documentation and CI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22505\"\u003e#22505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Add \u003ccode\u003echeck\u003c/code\u003e parameter example to \u003ccode\u003ePT017\u003c/code\u003e docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22546\"\u003e#22546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003eRUF103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22558\"\u003e#22558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] document \u003ccode\u003eRUF100\u003c/code\u003e trailing comment fix behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22479\"\u003e#22479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewasm: Require explicit logging initialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22587\"\u003e#22587\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/terror\"\u003e\u003ccode\u003e@​terror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Jkhall81\"\u003e\u003ccode\u003e@​Jkhall81\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/lubaskinc0de\"\u003e\u003ccode\u003e@​lubaskinc0de\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\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/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\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/b4b8299d6cc3db6fd6125a30d58d58ef3d3069bf\"\u003e\u003ccode\u003eb4b8299\u003c/code\u003e\u003c/a\u003e [ty] Make \u003ccode\u003eNamedTuple(...)\u003c/code\u003e and \u003ccode\u003enamedtuple(...)\u003c/code\u003e calls stricter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22601\"\u003e#22601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fd9f87d02d25ddda3e38fa0d1912ac40375f4845\"\u003e\u003ccode\u003efd9f87d\u003c/code\u003e\u003c/a\u003e Bump 0.14.13 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22604\"\u003e#22604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/048f02fb6b939b12a0b73d3c63af2f5dc76362db\"\u003e\u003ccode\u003e048f02f\u003c/code\u003e\u003c/a\u003e [ty] Remove redundant re-exports that share the same top-most module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a72af10cf8fa49f79eb5233bc0bf552faa153c2b\"\u003e\u003ccode\u003ea72af10\u003c/code\u003e\u003c/a\u003e [ty] Add \u003ccode\u003eModuleName::top\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2f348363184a0ae7ce5e02c0b1e442069252da01\"\u003e\u003ccode\u003e2f34836\u003c/code\u003e\u003c/a\u003e [ty] Add test capturing redundant re-exports from pandas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/db9eee7b06ae7b220b1425cdb2db0641ca7d1705\"\u003e\u003ccode\u003edb9eee7\u003c/code\u003e\u003c/a\u003e [ty] Attach origin module on to re-exported symbols\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2cbd68ab7056b3b798adc5904febe63de5119485\"\u003e\u003ccode\u003e2cbd68a\u003c/code\u003e\u003c/a\u003e [ty] Move fully qualified name into auto-import implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2a0946760fcd39a007f597d1340300c324d242b2\"\u003e\u003ccode\u003e2a09467\u003c/code\u003e\u003c/a\u003e Add trailing slashes to \u003ccode\u003enpm publish\u003c/code\u003e paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22603\"\u003e#22603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eca58ca1d3c752f154d0e9f146892155b23ebb61\"\u003e\u003ccode\u003eeca58ca\u003c/code\u003e\u003c/a\u003e [ty] Override \u003ccode\u003e__file__\u003c/code\u003e to str when applicable on imported modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22333\"\u003e#22333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aa9f1b27fc95cce58397c3b2b9e31f7c808a53c8\"\u003e\u003ccode\u003eaa9f1b2\u003c/code\u003e\u003c/a\u003e Further improvements to typing conformance script (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22596\"\u003e#22596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.9...0.14.13\"\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.2 to 0.0.12\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.12\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-14.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panic that could occur when \u003ccode\u003ecast\u003c/code\u003eing an object to a TypedDict or union of TypedDicts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22509\"\u003e#22509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect narrowing for \u003ccode\u003eif type(x) == y\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22531\"\u003e#22531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow with recursive type aliases containing tuple types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22543\"\u003e#22543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efunctools.total_ordering\u003c/code\u003e: ensure the signatures of generated methods reflect the signature of the user-provided method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22496\"\u003e#22496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003edataclass_transform\u003c/code\u003e as a function call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22378\"\u003e#22378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the top materialization of classes for \u003ccode\u003eif type(x) is y\u003c/code\u003e narrowing. For example, \u003ccode\u003eif type(x) is tuple\u003c/code\u003e will cause the type of \u003ccode\u003ex\u003c/code\u003e to be intersected with \u003ccode\u003etuple[object, ...]\u003c/code\u003e rather than \u003ccode\u003etuple[Unknown, ...]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22553\"\u003e#22553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid emitting Liskov violations with respect to a grandparent class if such violations could not be fixed without introducing Liskov violations with respect to a parent class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22484\"\u003e#22484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix interaction between classmethod, contextmanager, and Self (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22407\"\u003e#22407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCheck contravariant type variable bounds contravariantly in specialization inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22488\"\u003e#22488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix false positive for bounded type parameters with NewType (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22542\"\u003e#22542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for dynamic \u003ccode\u003etype()\u003c/code\u003e classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22291\"\u003e#22291\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22499\"\u003e#22499\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22537\"\u003e#22537\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22480\"\u003e#22480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for functional \u003ccode\u003enamedtuple\u003c/code\u003e creation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22327\"\u003e#22327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22573\"\u003e#22573\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22575\"\u003e#22575\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22574\"\u003e#22574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a diagnostic for non-decorator uses of \u003ccode\u003efinal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22555\"\u003e#22555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostic to catch generic enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22482\"\u003e#22482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostics for \u003ccode\u003e__init_subclass__\u003c/code\u003e argument mismatch (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22185\"\u003e#22185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostics to validate \u003ccode\u003eTypeIs\u003c/code\u003e and \u003ccode\u003eTypeGuard\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22300\"\u003e#22300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply type narrowing to walrus targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22369\"\u003e#22369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid \u003ccode\u003e@total_ordering\u003c/code\u003e applications in non-decorator contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22486\"\u003e#22486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e@Todo\u003c/code\u003e type for starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22503\"\u003e#22503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove disambiguation of types in diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22547\"\u003e#22547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude type parameters in the display for generic \u003ccode\u003eCallable\u003c/code\u003e types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22435\"\u003e#22435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003etype[Unknown]\u003c/code\u003e for calls to \u003ccode\u003etype()\u003c/code\u003e when overload evaluation is ambiguous (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22569\"\u003e#22569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport assignment to unions of \u003ccode\u003eTypedDict\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22294\"\u003e#22294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the key and value parameter types as type context for \u003ccode\u003e__setitem__\u003c/code\u003e dunder calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22148\"\u003e#22148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow the right-hand side of \u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e, \u003ccode\u003eis\u003c/code\u003e and \u003ccode\u003eis not\u003c/code\u003e conditions when the left-hand side is not narrowable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22511\"\u003e#22511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e__file__\u003c/code\u003e type in completions to show \u003ccode\u003estr\u003c/code\u003e instead of \u003ccode\u003estr | None\u003c/code\u003e when the inferred type is \u003ccode\u003estr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22510\"\u003e#22510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove rendering of ReST directives in docstrings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22512\"\u003e#22512\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/eclbg\"\u003e\u003ccode\u003e@​eclbg\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/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drbh\"\u003e\u003ccode\u003e@​drbh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AryanBagade\"\u003e\u003ccode\u003e@​AryanBagade\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bxff\"\u003e\u003ccode\u003e@​bxff\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-14.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panic that could occur when \u003ccode\u003ecast\u003c/code\u003eing an object to a TypedDict or union of TypedDicts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22509\"\u003e#22509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect narrowing for \u003ccode\u003eif type(x) == y\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22531\"\u003e#22531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow with recursive type aliases containing tuple types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22543\"\u003e#22543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efunctools.total_ordering\u003c/code\u003e: ensure the signatures of generated methods reflect the signature of the user-provided method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22496\"\u003e#22496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003edataclass_transform\u003c/code\u003e as a function call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22378\"\u003e#22378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the top materialization of classes for \u003ccode\u003eif type(x) is y\u003c/code\u003e narrowing. For example, \u003ccode\u003eif type(x) is tuple\u003c/code\u003e will cause the type of \u003ccode\u003ex\u003c/code\u003e to be intersected with \u003ccode\u003etuple[object, ...]\u003c/code\u003e rather than \u003ccode\u003etuple[Unknown, ...]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22553\"\u003e#22553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid emitting Liskov violations with respect to a grandparent class if such violations could not be fixed without introducing Liskov violations with respect to a parent class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22484\"\u003e#22484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix interaction between classmethod, contextmanager, and Self (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22407\"\u003e#22407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCheck contravariant type variable bounds contravariantly in specialization inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22488\"\u003e#22488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix false positive for bounded type parameters with NewType (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22542\"\u003e#22542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for dynamic \u003ccode\u003etype()\u003c/code\u003e classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22291\"\u003e#22291\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22499\"\u003e#22499\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22537\"\u003e#22537\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22480\"\u003e#22480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for functional \u003ccode\u003enamedtuple\u003c/code\u003e creation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22327\"\u003e#22327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22573\"\u003e#22573\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22575\"\u003e#22575\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22574\"\u003e#22574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a diagnostic for non-decorator uses of \u003ccode\u003efinal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22555\"\u003e#22555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostic to catch generic enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22482\"\u003e#22482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostics for \u003ccode\u003e__init_subclass__\u003c/code\u003e argument mismatch (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22185\"\u003e#22185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostics to validate \u003ccode\u003eTypeIs\u003c/code\u003e and \u003ccode\u003eTypeGuard\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22300\"\u003e#22300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply type narrowing to walrus targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22369\"\u003e#22369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid \u003ccode\u003e@total_ordering\u003c/code\u003e applications in non-decorator contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22486\"\u003e#22486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e@Todo\u003c/code\u003e type for starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22503\"\u003e#22503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove disambiguation of types in diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22547\"\u003e#22547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude type parameters in the display for generic \u003ccode\u003eCallable\u003c/code\u003e types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22435\"\u003e#22435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003etype[Unknown]\u003c/code\u003e for calls to \u003ccode\u003etype()\u003c/code\u003e when overload evaluation is ambiguous (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22569\"\u003e#22569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport assignment to unions of \u003ccode\u003eTypedDict\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22294\"\u003e#22294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the key and value parameter types as type context for \u003ccode\u003e__setitem__\u003c/code\u003e dunder calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22148\"\u003e#22148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow the right-hand side of \u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e, \u003ccode\u003eis\u003c/code\u003e and \u003ccode\u003eis not\u003c/code\u003e conditions when the left-hand side is not narrowable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22511\"\u003e#22511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e__file__\u003c/code\u003e type in completions to show \u003ccode\u003estr\u003c/code\u003e instead of \u003ccode\u003estr | None\u003c/code\u003e when the inferred type is \u003ccode\u003estr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22510\"\u003e#22510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove rendering of ReST directives in docstrings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22512\"\u003e#22512\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/eclbg\"\u003e\u003ccode\u003e@​eclbg\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/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drbh\"\u003e\u003ccode\u003e@​drbh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AryanBagade\"\u003e\u003ccode\u003e@​AryanBagade\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bxff\"\u003e\u003ccode\u003e@​bxff\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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\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/4b74e4ded20b6ea1a6ff7d06de867c64324c6d8d\"\u003e\u003ccode\u003e4b74e4d\u003c/code\u003e\u003c/a\u003e Bump to 0.0.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2500\"\u003e#2500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/3b83666f7b3c90da384d0a0d9a198e2743ed04c5\"\u003e\u003ccode\u003e3b83666\u003c/code\u003e\u003c/a\u003e Re-add fixed-width size for image (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2485\"\u003e#2485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/11540c5a2fc88cebee8378e6016a81e3a19db1e5\"\u003e\u003ccode\u003e11540c5\u003c/code\u003e\u003c/a\u003e Update VS Code extension docs (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2475\"\u003e#2475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c7f64046ddf88346dc024d544f2afb2236f631da\"\u003e\u003ccode\u003ec7f6404\u003c/code\u003e\u003c/a\u003e Fix the docs links to the benchmark results (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2459\"\u003e#2459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5264371179dddb087e27ac16f95453e6be1a4ee9\"\u003e\u003ccode\u003e5264371\u003c/code\u003e\u003c/a\u003e Use prek in documentation and CI (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2469\"\u003e#2469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/29072a56f4c109f35d53ec27ff6cdea2d3098cba\"\u003e\u003ccode\u003e29072a5\u003c/code\u003e\u003c/a\u003e Fix changelog typo (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2461\"\u003e#2461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/6b5938a5cbff201f1a6bebad991df9095ee76cbf\"\u003e\u003ccode\u003e6b5938a\u003c/code\u003e\u003c/a\u003e Stylize 'ty' correctly in zed configuration docs (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2458\"\u003e#2458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2ebb37cf605437231fa7fa1c555df4db93270998\"\u003e\u003ccode\u003e2ebb37c\u003c/code\u003e\u003c/a\u003e Update actions/checkout digest to 0c366fd (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2452\"\u003e#2452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5fbc4728ef2403ecbc597421394aa9ff253145e4\"\u003e\u003ccode\u003e5fbc472\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2453\"\u003e#2453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/d2176ebf749f952e1882741736c31bf6ff413a41\"\u003e\u003ccode\u003ed2176eb\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v7.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2454\"\u003e#2454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.2...0.0.12\"\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/alpenlabs/alpen/pull/1326","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alpenlabs%2Falpen/issues/1326","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1326/packages"},{"uuid":"2793343909","node_id":"PR_kwDODbOMVM6mfwul","number":138,"state":"closed","title":"Bump the uv group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-01T17:26:36.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-02T16:43:58.000Z","updated_at":"2025-10-01T17:26:36.000Z","time_to_close":2508158,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv","update_count":6,"packages":[{"name":"discord-py","old_version":"2.5.2","new_version":"2.6.3","repository_url":"https://github.com/Rapptz/discord.py"},{"name":"mysql-connector-python","old_version":"9.3.0","new_version":"9.4.0","repository_url":"https://github.com/mysql/mysql-connector-python"},{"name":"pandas","old_version":"2.3.1","new_version":"2.3.2","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"sentry-sdk","old_version":"2.33.0","new_version":"2.35.2","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"ruff","old_version":"0.12.3","new_version":"0.12.11","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the uv group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [discord-py](https://github.com/Rapptz/discord.py) | `2.5.2` | `2.6.3` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.3.0` | `9.4.0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.1` | `2.3.2` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.33.0` | `2.35.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.3` | `0.12.11` |\n\n\nUpdates `discord-py` from 2.5.2 to 2.6.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/5b1fd672ac8866799d23ab8c75a43b77490de221\"\u003e\u003ccode\u003e5b1fd67\u003c/code\u003e\u003c/a\u003e Version bump to v2.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/1d6a147b0f43c9c319eb85cc1d3571ddf55c7784\"\u003e\u003ccode\u003e1d6a147\u003c/code\u003e\u003c/a\u003e Move v2 item check from BaseView to View\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/0b29a56c553e342c0a89b7176e31054119583ec5\"\u003e\u003ccode\u003e0b29a56\u003c/code\u003e\u003c/a\u003e Add changelog for v2.6.2 and v2.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/8a7ba6b5b1c282620acd8a113f27d1c36a429eeb\"\u003e\u003ccode\u003e8a7ba6b\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix context install decorators to correctly restrict commands\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/f79f41c37cf4926002dc7c9c87ef5e622726cbcf\"\u003e\u003ccode\u003ef79f41c\u003c/code\u003e\u003c/a\u003e Add accessory to Section.\u003cstrong\u003erepr\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/cbcea19e4402ad04e52a849d784146ed2b5161a6\"\u003e\u003ccode\u003ecbcea19\u003c/code\u003e\u003c/a\u003e Fix spelling mistake in LabelComponent slots\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/d0863e056bf241e53f0fa74be9cbdb62e6a625b5\"\u003e\u003ccode\u003ed0863e0\u003c/code\u003e\u003c/a\u003e Fix Select.required not being applied\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/748ab04674c3ebddb5656efee280e4a4017c60e8\"\u003e\u003ccode\u003e748ab04\u003c/code\u003e\u003c/a\u003e Fix bounds for TextInput and Label generic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/7d2cb68f18f6efb94f06d44ad727369dfe48abe5\"\u003e\u003ccode\u003e7d2cb68\u003c/code\u003e\u003c/a\u003e Version bump to v2.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/b2a8a98e0ec5ca3ec69c674acce9a347a831879f\"\u003e\u003ccode\u003eb2a8a98\u003c/code\u003e\u003c/a\u003e Add missing versionadded to some BaseView items\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Rapptz/discord.py/compare/v2.5.2...v2.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mysql-connector-python` from 9.3.0 to 9.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mysql/mysql-connector-python/blob/trunk/CHANGES.txt\"\u003emysql-connector-python's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev9.4.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eWL#16966: Upgrade Python lz4 version\u003c/li\u003e\n\u003cli\u003eWL#16963: Update the OpenTelemetry version\u003c/li\u003e\n\u003cli\u003eWL#16962: Update the Python Protobuf version\u003c/li\u003e\n\u003cli\u003eWL#16954: Make sdist packages pip installable\u003c/li\u003e\n\u003cli\u003eBUG#38072835: Authentication OCI plugin option parameters not being supported by the aio connector\u003c/li\u003e\n\u003cli\u003eBUG#37868219: RPM packages have incorrect copyright year in their metadata\u003c/li\u003e\n\u003cli\u003eBUG#37859771: mysql/connector python version 9.3.0 has a regression which cannot persist binary data with percent signs in it\u003c/li\u003e\n\u003cli\u003eBUG#37820231: Text based django ORM filters doesn't work with Connector/Python\u003c/li\u003e\n\u003cli\u003eBUG#37806057: Rename extra option (when installing wheel package) to install webauthn functionality dependencies\u003c/li\u003e\n\u003cli\u003eBUG#37774513: Inconsistent conversion to_sql for cext vs pure python\u003c/li\u003e\n\u003cli\u003eBUG#37642447: The license type is missing from RPM package\u003c/li\u003e\n\u003cli\u003eBUG#37627508: mysql/connector python fetchmany() has an off by one bug when argument given as 1\u003c/li\u003e\n\u003cli\u003eBUG#37047789: Python connector does not support Django enum\u003c/li\u003e\n\u003cli\u003eBUG#36733242: Contribution: Add Connection Pooling Support for AsyncIO Connector\u003c/li\u003e\n\u003cli\u003eBUG#36452514: Missing version info resources\u003c/li\u003e\n\u003cli\u003eBUG#34950958: MySQL Python Connector doesn't work with ssh in the same process\u003c/li\u003e\n\u003cli\u003eBUG#34844347: Freezes on connection via sshtunnel\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/mysql/mysql-connector-python/commit/ca251cf833e5697b59b2d10fb77b6b445be176ec\"\u003e\u003ccode\u003eca251cf\u003c/code\u003e\u003c/a\u003e BUG#37848073: Installation of mysqlx-python-9.3.0 package fails in EL10 due t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/00027e53e46a431ef83125828bee37ec2bb6de38\"\u003e\u003ccode\u003e00027e5\u003c/code\u003e\u003c/a\u003e Updated the LICENSE files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/7bf2cc41b4b70f61218d02721ddb0389248747ff\"\u003e\u003ccode\u003e7bf2cc4\u003c/code\u003e\u003c/a\u003e BUG#36733242: Contribution: Add Connection Pooling Support for AsyncIO Connector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/43263cd0c9224a9a593d83cd76f92eda9085b816\"\u003e\u003ccode\u003e43263cd\u003c/code\u003e\u003c/a\u003e BUG#38072835: Authentication OCI plugin option parameters not being supported...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/73b60b05fd69399a31030a4b318a431aab53e612\"\u003e\u003ccode\u003e73b60b0\u003c/code\u003e\u003c/a\u003e WL#16954: Make sdist packages pip installable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/7dd0f81963a6667d71e616a613270d02e7f2e277\"\u003e\u003ccode\u003e7dd0f81\u003c/code\u003e\u003c/a\u003e Update version to 9.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/38c32ccfb9ab8b37bb5bbe95288e3f1b9aa67f09\"\u003e\u003ccode\u003e38c32cc\u003c/code\u003e\u003c/a\u003e Deactivate test_connection_uri\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/13f5cd56dcecaa06179e86d2714bf671f19e8b54\"\u003e\u003ccode\u003e13f5cd5\u003c/code\u003e\u003c/a\u003e BUG#37774513: Inconsistent conversion to_sql for cext vs pure python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/9b86b2926e5531558fc1875b10ba2a3fbe4419ac\"\u003e\u003ccode\u003e9b86b29\u003c/code\u003e\u003c/a\u003e BUG#37859771 - mysql/connector python version 9.3.0 has a regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/83a5d2418b6cd4901656c688b030c2e77ffbcc90\"\u003e\u003ccode\u003e83a5d24\u003c/code\u003e\u003c/a\u003e BUG#37868219: RPM packages have incorrect copyright year in their metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mysql/mysql-connector-python/compare/9.3.0...9.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.1 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePandas 2.3.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.2.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.2 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\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/pandas-dev/pandas/commit/4665c10899bc413b639194f6fb8665a5c70f7db5\"\u003e\u003ccode\u003e4665c10\u003c/code\u003e\u003c/a\u003e RLS: 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/633c68b91808441eba7d73b630a82b713ba19da8\"\u003e\u003ccode\u003e633c68b\u003c/code\u003e\u003c/a\u003e DOC: fix syntax in whatsnew file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/456ad4702cb017aab36e2d09a4029b1b085198f5\"\u003e\u003ccode\u003e456ad47\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62152\"\u003e#62152\u003c/a\u003e on branch 2.3.x (DOC: prepare 2.3.2 whatsnew notes for rel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6cae6444444ed7943ceffbd5990cd8249dd5b47c\"\u003e\u003ccode\u003e6cae644\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DOC: move and reword whatsnew note for replace fix (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/57865\"\u003eGH-57865\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/a91c50a58c372cddf104fd60241c7284bbf8fc80\"\u003e\u003ccode\u003ea91c50a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62147\"\u003e#62147\u003c/a\u003e on branch 2.3.x (DOC: correct and rewrite string migration...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/f7a2cfdf2ed08016167ae6c5e577c54949a849b2\"\u003e\u003ccode\u003ef7a2cfd\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG/DEPR: logical operation with bool and string (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/61995\"\u003e#61995\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/7981a43db4339826a3ce5020e9b1b931e604e5bd\"\u003e\u003ccode\u003e7981a43\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62124\"\u003e#62124\u003c/a\u003e on branch 2.3.x (CI/BLD: don't use strict xfail for '%m.%Y...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/fafbcbd03d1721830f4df8255abdab341db2a583\"\u003e\u003ccode\u003efafbcbd\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG(CoW): also raise for chained assignment for .at / .iat (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/3ac64a714886d917ca24ba637a85c4aaf563fc1b\"\u003e\u003ccode\u003e3ac64a7\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: Fix Series.str.contains with compiled regex on Arrow st...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/1f2dc4fd8a2503773b6f90cb5e8cc5c3172c3c11\"\u003e\u003ccode\u003e1f2dc4f\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: fix Series.str.fullmatch() and Series.str.match() with ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.1...v2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\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/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\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/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sdk` from 2.33.0 to 2.35.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/releases\"\u003esentry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.35.2\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(logs): Do not attach template if there are no parameters (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4728\"\u003e#4728\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.35.1\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAI Agents: Isolate agent run (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4720\"\u003e#4720\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Do not attach stacktrace to transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4713\"\u003e#4713\u003c/a\u003e) by \u003ca href=\"https://github.com/Zylphrex\"\u003e\u003ccode\u003e@​Zylphrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.35.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.sentry.io/platforms/python/integrations/langchain/\"\u003eLangchain Integration\u003c/a\u003e now supports the Sentry \u003ca href=\"https://docs.sentry.io/product/insights/ai/agents/dashboard/\"\u003eAI dashboard\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4678\"\u003e#4678\u003c/a\u003e) by \u003ca href=\"https://github.com/shellmayr\"\u003e\u003ccode\u003e@​shellmayr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.sentry.io/platforms/python/integrations/anthropic/\"\u003eAnthropic Integration\u003c/a\u003e now supports the Sentry \u003ca href=\"https://docs.sentry.io/product/insights/ai/agents/dashboard/\"\u003eAI dashboard\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4674\"\u003e#4674\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAI Agents templates for \u003ccode\u003e@trace\u003c/code\u003e decorator (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4676\"\u003e#4676\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSentry Logs: Add \u003ccode\u003eenable_logs\u003c/code\u003e, \u003ccode\u003ebefore_send_log\u003c/code\u003e as top-level \u003ccode\u003esentry_sdk.init()\u003c/code\u003e options (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4644\"\u003e#4644\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Improve \u003ccode\u003e@trace\u003c/code\u003e decorator. Allows to set \u003ccode\u003espan.op\u003c/code\u003e, \u003ccode\u003espan.name\u003c/code\u003e, and \u003ccode\u003espan.attributes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4648\"\u003e#4648\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Add convenience function \u003ccode\u003esentry_sdk.update_current_span\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4673\"\u003e#4673\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Add \u003ccode\u003eSpan.update_data()\u003c/code\u003e to update multiple \u003ccode\u003espan.data\u003c/code\u003e items at once. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4666\"\u003e#4666\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGNU-integration: make path optional (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4688\"\u003e#4688\u003c/a\u003e) by \u003ca href=\"https://github.com/MeredithAnya\"\u003e\u003ccode\u003e@​MeredithAnya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClickhouse: Don't eat the generator data (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4669\"\u003e#4669\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClickhouse: List \u003ccode\u003esend_data\u003c/code\u003e parameters (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4667\"\u003e#4667\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003egen_ai.*\u003c/code\u003e and \u003ccode\u003eai.*\u003c/code\u003e attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4665\"\u003e#4665\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter checking for empty tools list (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4647\"\u003e#4647\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove performance paper cuts (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4675\"\u003e#4675\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHelp for debugging Cron problems (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4686\"\u003e#4686\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Redis CI (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4691\"\u003e#4691\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix plugins key codecov (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4655\"\u003e#4655\u003c/a\u003e) by \u003ca href=\"https://github.com/sl0thentr0py\"\u003e\u003ccode\u003e@​sl0thentr0py\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Mypy (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4649\"\u003e#4649\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tox.ini (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4689\"\u003e#4689\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/create-github-app-token from 2.0.6 to 2.1.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4684\"\u003e#4684\u003c/a\u003e) by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.1\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Make sure Span data in AI instrumentations is always a primitive data type (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4643\"\u003e#4643\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Typo in CHANGELOG.md (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4640\"\u003e#4640\u003c/a\u003e) by \u003ca href=\"https://github.com/jgillard\"\u003e\u003ccode\u003e@​jgillard\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eConsiderably raise \u003ccode\u003eDEFAULT_MAX_VALUE_LENGTH\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4632\"\u003e#4632\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe have increased the string trimming limit considerably, allowing you to see more data\nwithout it being truncated. Note that this might, in rare cases, result in issue regrouping,\nfor example if you're capturing message events with very long messages (longer than the\ndefault 1024 characters/bytes).\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md\"\u003esentry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.35.2\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(logs): Do not attach template if there are no parameters (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4728\"\u003e#4728\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.35.1\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAI Agents: Isolate agent run (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4720\"\u003e#4720\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Do not attach stacktrace to transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4713\"\u003e#4713\u003c/a\u003e) by \u003ca href=\"https://github.com/Zylphrex\"\u003e\u003ccode\u003e@​Zylphrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.35.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.sentry.io/platforms/python/integrations/langchain/\"\u003eLangchain Integration\u003c/a\u003e now supports the Sentry \u003ca href=\"https://docs.sentry.io/product/insights/ai/agents/dashboard/\"\u003eAI dashboard\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4678\"\u003e#4678\u003c/a\u003e) by \u003ca href=\"https://github.com/shellmayr\"\u003e\u003ccode\u003e@​shellmayr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.sentry.io/platforms/python/integrations/anthropic/\"\u003eAnthropic Integration\u003c/a\u003e now supports the Sentry \u003ca href=\"https://docs.sentry.io/product/insights/ai/agents/dashboard/\"\u003eAI dashboard\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4674\"\u003e#4674\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAI Agents templates for \u003ccode\u003e@trace\u003c/code\u003e decorator (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4676\"\u003e#4676\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSentry Logs: Add \u003ccode\u003eenable_logs\u003c/code\u003e, \u003ccode\u003ebefore_send_log\u003c/code\u003e as top-level \u003ccode\u003esentry_sdk.init()\u003c/code\u003e options (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4644\"\u003e#4644\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Improve \u003ccode\u003e@trace\u003c/code\u003e decorator. Allows to set \u003ccode\u003espan.op\u003c/code\u003e, \u003ccode\u003espan.name\u003c/code\u003e, and \u003ccode\u003espan.attributes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4648\"\u003e#4648\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Add convenience function \u003ccode\u003esentry_sdk.update_current_span\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4673\"\u003e#4673\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Add \u003ccode\u003eSpan.update_data()\u003c/code\u003e to update multiple \u003ccode\u003espan.data\u003c/code\u003e items at once. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4666\"\u003e#4666\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGNU-integration: make path optional (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4688\"\u003e#4688\u003c/a\u003e) by \u003ca href=\"https://github.com/MeredithAnya\"\u003e\u003ccode\u003e@​MeredithAnya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClickhouse: Don't eat the generator data (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4669\"\u003e#4669\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClickhouse: List \u003ccode\u003esend_data\u003c/code\u003e parameters (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4667\"\u003e#4667\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003egen_ai.*\u003c/code\u003e and \u003ccode\u003eai.*\u003c/code\u003e attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4665\"\u003e#4665\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter checking for empty tools list (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4647\"\u003e#4647\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove performance paper cuts (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4675\"\u003e#4675\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHelp for debugging Cron problems (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4686\"\u003e#4686\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Redis CI (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4691\"\u003e#4691\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix plugins key codecov (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4655\"\u003e#4655\u003c/a\u003e) by \u003ca href=\"https://github.com/sl0thentr0py\"\u003e\u003ccode\u003e@​sl0thentr0py\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Mypy (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4649\"\u003e#4649\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tox.ini (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4689\"\u003e#4689\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/create-github-app-token from 2.0.6 to 2.1.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4684\"\u003e#4684\u003c/a\u003e) by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.1\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Make sure Span data in AI instrumentations is always a primitive data type (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4643\"\u003e#4643\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Typo in CHANGELOG.md (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4640\"\u003e#4640\u003c/a\u003e) by \u003ca href=\"https://github.com/jgillard\"\u003e\u003ccode\u003e@​jgillard\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsiderably raise \u003ccode\u003eDEFAULT_MAX_VALUE_LENGTH\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4632\"\u003e#4632\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\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/getsentry/sentry-python/commit/814cd5959b58350cb81fa8b21502fcdfe3adf960\"\u003e\u003ccode\u003e814cd59\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/d2cb532459b3e954edbee3605af5e631749c547d\"\u003e\u003ccode\u003ed2cb532\u003c/code\u003e\u003c/a\u003e release: 2.35.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/bf4d921a5d779076e693545652359b4c0668f384\"\u003e\u003ccode\u003ebf4d921\u003c/code\u003e\u003c/a\u003e fix(logs): Do not attach template if there are no parameters (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4728\"\u003e#4728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/57a340568fddd0c566ba59d01f80d747e6c19a7f\"\u003e\u003ccode\u003e57a3405\u003c/code\u003e\u003c/a\u003e Update tox.ini (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4721\"\u003e#4721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/d46f802ef010daf9f6d813ccfc3546fd9782c8e7\"\u003e\u003ccode\u003ed46f802\u003c/code\u003e\u003c/a\u003e Merge branch 'release/2.35.1'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/fb4faf6090bae29000a1b8c4cd07dee0d25a59f4\"\u003e\u003ccode\u003efb4faf6\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/c2a21aada390aa28ca4ccf7880fe1e5fde31ac52\"\u003e\u003ccode\u003ec2a21aa\u003c/code\u003e\u003c/a\u003e release: 2.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/eee4c4b0186c8aed964151a8e2af56420b7ad288\"\u003e\u003ccode\u003eeee4c4b\u003c/code\u003e\u003c/a\u003e fix(openai-agents): Isolate agent run (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/28d0dddf41b7c10f9ba056aee659d2da4d490fbe\"\u003e\u003ccode\u003e28d0ddd\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/getsentry/sentry-python/issues/4709\"\u003e#4709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/a2a9413372130a90247a59fe1b275d508258f926\"\u003e\u003ccode\u003ea2a9413\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-java from 4 to 5 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4716\"\u003e#4716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-python/compare/2.33.0...2.35.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.12.3 to 0.12.11\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.12.11\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eAIR311\u003c/code\u003e and \u003ccode\u003eAIR312\u003c/code\u003e rules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20082\"\u003e#20082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Replace wrong path \u003ccode\u003eairflow.io.storage\u003c/code\u003e with \u003ccode\u003eairflow.io.store\u003c/code\u003e (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20081\"\u003e#20081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20091\"\u003e#20091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-logging-format\u003c/code\u003e] Add auto-fix for f-string logging calls (\u003ccode\u003eG004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19303\"\u003e#19303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add autofix for \u003ccode\u003ePTH211\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20009\"\u003e#20009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH100\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20100\"\u003e#20100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e, \u003ccode\u003epylint\u003c/code\u003e] Fix false positives caused by \u003ccode\u003e__class__\u003c/code\u003e cell handling (\u003ccode\u003eF841\u003c/code\u003e, \u003ccode\u003ePLE0117\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20048\"\u003e#20048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix \u003ccode\u003eallowed-unused-imports\u003c/code\u003e matching for top-level modules (\u003ccode\u003eF401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20115\"\u003e#20115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for t-strings in \u003ccode\u003edefault-factory-kwarg\u003c/code\u003e (\u003ccode\u003eRUF026\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20032\"\u003e#20032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Preserve relative whitespace in multi-line expressions (\u003ccode\u003eRUF033\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19647\"\u003e#19647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Handle empty t-strings in \u003ccode\u003eunnecessary-empty-iterable-within-deque-call\u003c/code\u003e (\u003ccode\u003eRUF037\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20045\"\u003e#20045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eD413\u003c/code\u003e links in docstrings convention FAQ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20089\"\u003e#20089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Update links to the table showing the correspondence between \u003ccode\u003eos\u003c/code\u003e and \u003ccode\u003epathlib\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20103\"\u003e#20103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\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/Avasam\"\u003e\u003ccode\u003e@​Avasam\u003c/code\u003e\u003c/a\u003e\u003c/li\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/Gankra\"\u003e\u003ccode\u003e@​Gankra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Glyphack\"\u003e\u003ccode\u003e@​Glyphack\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Lee-W\"\u003e\u003ccode\u003e@​Lee-W\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatthewMckee4\"\u003e\u003ccode\u003e@​MatthewMckee4\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/PrettyWood\"\u003e\u003ccode\u003e@​PrettyWood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Renkai\"\u003e\u003ccode\u003e@​Renkai\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TaKO8Ki\"\u003e\u003ccode\u003e@​TaKO8Ki\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/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\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/dhruvmanila\"\u003e\u003ccode\u003e@​dhruvmanila\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hamirmahal\"\u003e\u003ccode\u003e@​hamirmahal\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.12.11\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eAIR311\u003c/code\u003e and \u003ccode\u003eAIR312\u003c/code\u003e rules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20082\"\u003e#20082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Replace wrong path \u003ccode\u003eairflow.io.storage\u003c/code\u003e with \u003ccode\u003eairflow.io.store\u003c/code\u003e (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20081\"\u003e#20081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20091\"\u003e#20091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-logging-format\u003c/code\u003e] Add auto-fix for f-string logging calls (\u003ccode\u003eG004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19303\"\u003e#19303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add autofix for \u003ccode\u003ePTH211\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20009\"\u003e#20009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH100\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20100\"\u003e#20100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e, \u003ccode\u003epylint\u003c/code\u003e] Fix false positives caused by \u003ccode\u003e__class__\u003c/code\u003e cell handling (\u003ccode\u003eF841\u003c/code\u003e, \u003ccode\u003ePLE0117\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20048\"\u003e#20048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix \u003ccode\u003eallowed-unused-imports\u003c/code\u003e matching for top-level modules (\u003ccode\u003eF401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20115\"\u003e#20115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for t-strings in \u003ccode\u003edefault-factory-kwarg\u003c/code\u003e (\u003ccode\u003eRUF026\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20032\"\u003e#20032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Preserve relative whitespace in multi-line expressions (\u003ccode\u003eRUF033\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19647\"\u003e#19647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Handle empty t-strings in \u003ccode\u003eunnecessary-empty-iterable-within-deque-call\u003c/code\u003e (\u003ccode\u003eRUF037\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20045\"\u003e#20045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eD413\u003c/code\u003e links in docstrings convention FAQ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20089\"\u003e#20089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Update links to the table showing the correspondence between \u003ccode\u003eos\u003c/code\u003e and \u003ccode\u003epathlib\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20103\"\u003e#20103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.12.10\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Implement fix for \u003ccode\u003emaxsplit\u003c/code\u003e without separator (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19851\"\u003e#19851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fixes for \u003ccode\u003ePTH102\u003c/code\u003e and \u003ccode\u003ePTH103\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19514\"\u003e#19514\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Handle multiple continuation lines after module docstring (\u003ccode\u003eI002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19818\"\u003e#19818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid reporting \u003ccode\u003e__future__\u003c/code\u003e features as unnecessary when they are used (\u003ccode\u003eUP010\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Handle nested \u003ccode\u003eOptional\u003c/code\u003es (\u003ccode\u003eUP045\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19770\"\u003e#19770\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Make \u003ccode\u003eE731\u003c/code\u003e fix unsafe instead of display-only for class assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19700\"\u003e#19700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Add secondary annotation showing previous definition (\u003ccode\u003eF811\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19900\"\u003e#19900\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix description of global config file discovery strategy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19188\"\u003e#19188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate outdated links to \u003ca href=\"https://typing.python.org/en/latest/source/stubs.html\"\u003ehttps://typing.python.org/en/latest/source/stubs.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19992\"\u003e#19992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Remove unused import in example (\u003ccode\u003eANN401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20000\"\u003e#20000\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/c2bc15bc15103f46b55b6f35b1d0ce815fdfc547\"\u003e\u003ccode\u003ec2bc15b\u003c/code\u003e\u003c/a\u003e Bump 0.12.11 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20136\"\u003e#20136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e586f6dcc426bdceddf43e811aaace460e4f56f9\"\u003e\u003ccode\u003ee586f6d\u003c/code\u003e\u003c/a\u003e [ty] Benchmarks for problematic implicit instance attributes cases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20133\"\u003e#20133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/76a6b7e3e2061de320a17ab7513708809019aecc\"\u003e\u003ccode\u003e76a6b7e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyflakes\u003c/code\u003e] Fix \u003ccode\u003eallowed-unused-imports\u003c/code\u003e matching for top-level modules (`F4...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1ce65714c05faa85b177d5be8d16814820e23032\"\u003e\u003ccode\u003e1ce6571\u003c/code\u003e\u003c/a\u003e Move GitLab output rendering to \u003ccode\u003eruff_db\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20117\"\u003e#20117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d9aaacd01f9da1219013c5413a94db7d487298d7\"\u003e\u003ccode\u003ed9aaacd\u003c/code\u003e\u003c/a\u003e [ty] Evaluate reachability of non-definitely-bound to Ambiguous (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19579\"\u003e#19579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/18eaa659c1ea9a03bee798e161d2f2db454e154f\"\u003e\u003ccode\u003e18eaa65\u003c/code\u003e\u003c/a\u003e [ty] Introduce a representation for the top/bottom materialization of an inva...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/af259faed57f2428da4fa09aab03dbb96b0f160e\"\u003e\u003ccode\u003eaf259fa\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eblocking-http-call-httpx\u003c/code\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20091\"\u003e#20091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d75ef3823c7dc7c6a0dc38dbc42ab9f8075424b6\"\u003e\u003ccode\u003ed75ef38\u003c/code\u003e\u003c/a\u003e [ty] print diagnostics with fully qualified name to disambiguate some cases (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/89ca493fd963bb3ba875b170989d9468d2d1a5bd\"\u003e\u003ccode\u003e89ca493\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eruff\u003c/code\u003e] Preserve relative whitespace in multi-line expressions (\u003ccode\u003eRUF033\u003c/code\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4b80f5fa4f08dd0948761e15e36f5138658793e4\"\u003e\u003ccode\u003e4b80f5f\u003c/code\u003e\u003c/a\u003e [ty] Optimize TDD atom ordering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20098\"\u003e#20098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.12.3...0.12.11\"\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/twohoursonelife/dictator/pull/138","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/twohoursonelife%2Fdictator/issues/138","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/138/packages"},{"uuid":"2773822305","node_id":"PR_kwDOBablg86lVSth","number":665,"state":"closed","title":"Bump the pip-deps group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["patch","bumpless"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-08-26T19:39:07.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-26T05:08:53.000Z","updated_at":"2025-08-26T19:39:08.000Z","time_to_close":52214,"merged_at":"2025-08-26T19:39:07.000Z","merged_by":"jtherrmann","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-deps","update_count":4,"packages":[{"name":"hyp3lib","old_version":"4.0.0","new_version":"4.0.1","repository_url":"https://github.com/ASFHyP3/hyp3-lib"},{"name":"lxml","old_version":"6.0.0","new_version":"6.0.1","repository_url":"https://github.com/lxml/lxml"},{"name":"rtree","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/Toblerity/rtree"},{"name":"ruff","old_version":"0.12.7","new_version":"0.12.10","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the pip-deps group with 4 updates in the / directory: [hyp3lib](https://github.com/ASFHyP3/hyp3-lib), [lxml](https://github.com/lxml/lxml), [rtree](https://github.com/Toblerity/rtree) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `hyp3lib` from 4.0.0 to 4.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/releases\"\u003ehyp3lib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHyP3-lib v4.0.1\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echunk_size\u003c/code\u003e parameter to \u003ccode\u003eaws.upload_file_to_s3\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/blob/develop/CHANGELOG.md\"\u003ehyp3lib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.1]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echunk_size\u003c/code\u003e parameter to \u003ccode\u003eaws.upload_file_to_s3\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/77235328ae7c45f7514ca180b3e13d0d25277ab0\"\u003e\u003ccode\u003e7723532\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/379\"\u003e#379\u003c/a\u003e from ASFHyP3/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/71ee0c80a6a73341e554b2b4c8b5272a33256ddf\"\u003e\u003ccode\u003e71ee0c8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/380\"\u003e#380\u003c/a\u003e from ASFHyP3/chunk-size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/d0c730626b0f237ef54909d9b1dae251d2721e8f\"\u003e\u003ccode\u003ed0c7306\u003c/code\u003e\u003c/a\u003e generalize test to avoid failure if part2 happens to execute before part1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/d4b895de22ccd9e5079020e9272b2561bf231023\"\u003e\u003ccode\u003ed4b895d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/377\"\u003e#377\u003c/a\u003e from ASFHyP3/dependabot/pip/pip-deps-c95e428ad8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/b08e9d7e91e6b0882ccf05d3a40ed733a59151b8\"\u003e\u003ccode\u003eb08e9d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/378\"\u003e#378\u003c/a\u003e from ASFHyP3/chunk-size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/2f0e9b300c1dab6bab47fed57204019912243a36\"\u003e\u003ccode\u003e2f0e9b3\u003c/code\u003e\u003c/a\u003e add configurable chunk_size paramter to aws.upload_file_to_s3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/55001ee7acc6a79dd772a3b166c807a27293ad12\"\u003e\u003ccode\u003e55001ee\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.12.7 to 0.12.8 in the pip-deps group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/7d8348cfbed1f1b92bf3c08b4df78e3e691731fa\"\u003e\u003ccode\u003e7d8348c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/376\"\u003e#376\u003c/a\u003e from ASFHyP3/dependabot/pip/pip-deps-0aaee5b8c0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/a8f8fc2db87fbf3cb084a07fbc29fcb82b995dd7\"\u003e\u003ccode\u003ea8f8fc2\u003c/code\u003e\u003c/a\u003e Bump the pip-deps group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/dabc37932c87983e54abfa7bc0d9f8aaba22940a\"\u003e\u003ccode\u003edabc379\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/375\"\u003e#375\u003c/a\u003e from ASFHyP3/dependabot/pip/pip-deps-e80dcac413\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/compare/v4.0.0...v4.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lxml` from 6.0.0 to 6.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lxml/lxml/blob/master/CHANGES.txt\"\u003elxml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e6.0.1 (2025-08-22)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2116333: \u003ccode\u003elxml.sax._getNsTag()\u003c/code\u003e could fail with an exception on malformed input.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#467: Some test adaptations were made for libxml2 2.15.\nPatch by Nick Wellnhofer.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLP2119510, GH#473: A Python compatibility test was fixed for Python 3.14+.\nPatch by Lumír Balhar.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#471: Wheels for \u0026quot;riscv64\u0026quot; on recent Python versions were added.\nPatch by ffgan.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#469: The wheel build no longer requires the \u003ccode\u003ewheel\u003c/code\u003e package unconditionally.\nPatch by Miro Hrončok.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels use the library version libxml2 2.14.5.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWindows binary wheels continue to use a security patched library version libxml2 2.11.9.\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/lxml/lxml/commit/5aca07dac191316a8d7da314c283ac7bc9c36f54\"\u003e\u003ccode\u003e5aca07d\u003c/code\u003e\u003c/a\u003e Prepare release of lxml 6.0.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/f0e555a07a35e03207ad401c0b71efc2bb88caa9\"\u003e\u003ccode\u003ef0e555a\u003c/code\u003e\u003c/a\u003e Build: Add Py3.14 also to tox.ini.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/afc745a5e064225414af71b1a39406ee0c7e0d9a\"\u003e\u003ccode\u003eafc745a\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/25242c69f7b554f5508e4c92a61e47b15819723b\"\u003e\u003ccode\u003e25242c6\u003c/code\u003e\u003c/a\u003e Build: Add \u0026quot;riscv64\u0026quot; wheels for Py3.12+.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/457c56428d63e470fe0e679f2232545d6da8e7da\"\u003e\u003ccode\u003e457c564\u003c/code\u003e\u003c/a\u003e Build: Mark Py3.14 as officially supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/66a3cc3065db3dcc809aa79a925486a5cb8f0910\"\u003e\u003ccode\u003e66a3cc3\u003c/code\u003e\u003c/a\u003e Remove Py2 test code.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/6e8883808918cf3ff2cb0efb82898ffc10610ed6\"\u003e\u003ccode\u003e6e88838\u003c/code\u003e\u003c/a\u003e CI: Fix version usage in cache keys.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/fe5df4689d1fbdf46184387d24c8d173513b65de\"\u003e\u003ccode\u003efe5df46\u003c/code\u003e\u003c/a\u003e Build: bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/lxml/lxml/issues/476\"\u003e#476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/91771210eb8dd575c8e08bf00703d82ad9c6c32a\"\u003e\u003ccode\u003e9177121\u003c/code\u003e\u003c/a\u003e CI: Configure library versions centrally in pyproject.toml to prevent build t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/525c6b91b6aa7a9eca37410316437a11dc391ee5\"\u003e\u003ccode\u003e525c6b9\u003c/code\u003e\u003c/a\u003e Build: Separate libs cache by CPU architecture.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lxml/lxml/compare/lxml-6.0.0...lxml-6.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rtree` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Toblerity/rtree/releases\"\u003ertree's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.1b3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efire CI when a pre-release is published by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/381\"\u003eToblerity/rtree#381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eonly publish to pypi on released event by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/382\"\u003eToblerity/rtree#382\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Toblerity/rtree/compare/1.4.1b1...1.4.1b3\"\u003ehttps://github.com/Toblerity/rtree/compare/1.4.1b1...1.4.1b3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.1b1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename main branch references by \u003ca href=\"https://github.com/mwtoews\"\u003e\u003ccode\u003e@​mwtoews\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/356\"\u003eToblerity/rtree#356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixing an incorrect reassignment in nearest_v and intersection_v by \u003ca href=\"https://github.com/Atilleusz\"\u003e\u003ccode\u003e@​Atilleusz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/358\"\u003eToblerity/rtree#358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/cibuildwheel from 2.23.0 to 2.23.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/359\"\u003eToblerity/rtree#359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spatialindex version to tests, add common pytest configuration by \u003ca href=\"https://github.com/mwtoews\"\u003e\u003ccode\u003e@​mwtoews\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/360\"\u003eToblerity/rtree#360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor array-loading methods, add tests by \u003ca href=\"https://github.com/mwtoews\"\u003e\u003ccode\u003e@​mwtoews\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/361\"\u003eToblerity/rtree#361\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/cibuildwheel from 2.23.1 to 2.23.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/363\"\u003eToblerity/rtree#363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor refactor of code blocks in docs by \u003ca href=\"https://github.com/mwtoews\"\u003e\u003ccode\u003e@​mwtoews\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/362\"\u003eToblerity/rtree#362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/364\"\u003eToblerity/rtree#364\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve some issues in the batch API by \u003ca href=\"https://github.com/FreddieWitherden\"\u003e\u003ccode\u003e@​FreddieWitherden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/367\"\u003eToblerity/rtree#367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/cibuildwheel from 2.23.2 to 2.23.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/365\"\u003eToblerity/rtree#365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/373\"\u003eToblerity/rtree#373\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/cibuildwheel from 2.23.3 to 3.1.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/374\"\u003eToblerity/rtree#374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/cibuildwheel from 3.1.1 to 3.1.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/375\"\u003eToblerity/rtree#375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/369\"\u003e#369\u003c/a\u003e (load libspatialindex without changing cwd) by \u003ca href=\"https://github.com/remicres\"\u003e\u003ccode\u003e@​remicres\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/370\"\u003eToblerity/rtree#370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust CI build by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/376\"\u003eToblerity/rtree#376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI Refactor by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/377\"\u003eToblerity/rtree#377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003earm64 wheels on windows by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/378\"\u003eToblerity/rtree#378\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-artifact from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/379\"\u003eToblerity/rtree#379\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003egenerate a pre-release when a tag is pushed by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/380\"\u003eToblerity/rtree#380\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/Atilleusz\"\u003e\u003ccode\u003e@​Atilleusz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/358\"\u003eToblerity/rtree#358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remicres\"\u003e\u003ccode\u003e@​remicres\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/370\"\u003eToblerity/rtree#370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Toblerity/rtree/compare/1.4.0...1.4.1b1\"\u003ehttps://github.com/Toblerity/rtree/compare/1.4.0...1.4.1b1\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/Toblerity/rtree/blob/main/CHANGES.rst\"\u003ertree's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.4.1: 2025-08-13\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRename main branch references by :user:\u003ccode\u003emwtoews\u003c/code\u003e in :PR:\u003ccode\u003e356\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixing an incorrect reassignment in nearest_v and intersection_v by :user:\u003ccode\u003eAtilleusz\u003c/code\u003e in :PR:\u003ccode\u003e358\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd spatialindex version to tests, add common pytest configuration by :user:\u003ccode\u003emwtoews\u003c/code\u003e in :PR:\u003ccode\u003e360\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRefactor array-loading methods, add tests by :user:\u003ccode\u003emwtoews\u003c/code\u003e in :PR:\u003ccode\u003e361\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMinor refactor of code blocks in docs by :user:\u003ccode\u003emwtoews\u003c/code\u003e in :PR:\u003ccode\u003e362\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eResolve some issues in the batch API by :user:\u003ccode\u003eFreddieWitherden\u003c/code\u003e in :PR:\u003ccode\u003e367\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/369\"\u003e#369\u003c/a\u003e (load libspatialindex without changing cwd) by :user:\u003ccode\u003eremicres\u003c/code\u003e in :PR:\u003ccode\u003e370\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003earm64 wheels on windows by \u003ca href=\"https://github.com/w8sl\"\u003e\u003ccode\u003e@​w8sl\u003c/code\u003e\u003c/a\u003e in :PR:\u003ccode\u003e378\u003c/code\u003e and :PR:\u003ccode\u003e371\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003eFull Changelog \u0026lt;https://github.com/Toblerity/rtree/compare/1.4.0...1.4.1\u0026gt;\u003c/code\u003e__\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/4a46e61ae96067e7929965e11d93c386435e6723\"\u003e\u003ccode\u003e4a46e61\u003c/code\u003e\u003c/a\u003e add release notes and bump to 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/34c6efe1ec97f70fdae98b3196a46e9955f12a9b\"\u003e\u003ccode\u003e34c6efe\u003c/code\u003e\u003c/a\u003e only publish to pypi on released event (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/c29b7e71665d1c0c5b25bdc2d63085448744cb91\"\u003e\u003ccode\u003ec29b7e7\u003c/code\u003e\u003c/a\u003e fire CI when a pre-release is published (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/cc24560aa5021a7869bf6bbcb14ad35b2aaa2bb8\"\u003e\u003ccode\u003ecc24560\u003c/code\u003e\u003c/a\u003e generate a pre-release when a tag is pushed (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/380\"\u003e#380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/a057863814964081b4ffaea339ec61fec72a5e3b\"\u003e\u003ccode\u003ea057863\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/379\"\u003e#379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/e202aef456ab91d7ba3d723ba9daabaae22acefe\"\u003e\u003ccode\u003ee202aef\u003c/code\u003e\u003c/a\u003e bump to 1.4.1b1 for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/0ec34f3b5ef55eea15b3ba755886d99e880ecb2f\"\u003e\u003ccode\u003e0ec34f3\u003c/code\u003e\u003c/a\u003e silence warning about conda-remove-defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/02af863ce89198f654f15ebfadbfbbca6e6044e1\"\u003e\u003ccode\u003e02af863\u003c/code\u003e\u003c/a\u003e adapt \u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/371\"\u003e#371\u003c/a\u003e for arm64 wheels on windows (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/febd2bb667f8cf29f1b5422e39d46b5975b36b64\"\u003e\u003ccode\u003efebd2bb\u003c/code\u003e\u003c/a\u003e CI Refactor (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/18db6dc91cbba3156dc8114d6f1008ef30406906\"\u003e\u003ccode\u003e18db6dc\u003c/code\u003e\u003c/a\u003e Adjust CI build (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/376\"\u003e#376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Toblerity/rtree/compare/1.4.0...1.4.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.12.7 to 0.12.10\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.12.10\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Implement fix for \u003ccode\u003emaxsplit\u003c/code\u003e without separator (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19851\"\u003e#19851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fixes for \u003ccode\u003ePTH102\u003c/code\u003e and \u003ccode\u003ePTH103\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19514\"\u003e#19514\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Handle multiple continuation lines after module docstring (\u003ccode\u003eI002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19818\"\u003e#19818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid reporting \u003ccode\u003e__future__\u003c/code\u003e features as unnecessary when they are used (\u003ccode\u003eUP010\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Handle nested \u003ccode\u003eOptional\u003c/code\u003es (\u003ccode\u003eUP045\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19770\"\u003e#19770\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Make \u003ccode\u003eE731\u003c/code\u003e fix unsafe instead of display-only for class assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19700\"\u003e#19700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Add secondary annotation showing previous definition (\u003ccode\u003eF811\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19900\"\u003e#19900\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix description of global config file discovery strategy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19188\"\u003e#19188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate outdated links to \u003ca href=\"https://typing.python.org/en/latest/source/stubs.html\"\u003ehttps://typing.python.org/en/latest/source/stubs.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19992\"\u003e#19992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Remove unused import in example (\u003ccode\u003eANN401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20000\"\u003e#20000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\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/Avasam\"\u003e\u003ccode\u003e@​Avasam\u003c/code\u003e\u003c/a\u003e\u003c/li\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/Cjkjvfnby\"\u003e\u003ccode\u003e@​Cjkjvfnby\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/IDrokin117\"\u003e\u003ccode\u003e@​IDrokin117\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatthewMckee4\"\u003e\u003ccode\u003e@​MatthewMckee4\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/PrettyWood\"\u003e\u003ccode\u003e@​PrettyWood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RazerM\"\u003e\u003ccode\u003e@​RazerM\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/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/dcreager\"\u003e\u003ccode\u003e@​dcreager\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/ericmarkmartin\"\u003e\u003ccode\u003e@​ericmarkmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gkowzan\"\u003e\u003ccode\u003e@​gkowzan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshiba\"\u003e\u003ccode\u003e@​mtshiba\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/renovate\"\u003e\u003ccode\u003e@​renovate\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/theammir\"\u003e\u003ccode\u003e@​theammir\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.12.10\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Implement fix for \u003ccode\u003emaxsplit\u003c/code\u003e without separator (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19851\"\u003e#19851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fixes for \u003ccode\u003ePTH102\u003c/code\u003e and \u003ccode\u003ePTH103\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19514\"\u003e#19514\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Handle multiple continuation lines after module docstring (\u003ccode\u003eI002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19818\"\u003e#19818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid reporting \u003ccode\u003e__future__\u003c/code\u003e features as unnecessary when they are used (\u003ccode\u003eUP010\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Handle nested \u003ccode\u003eOptional\u003c/code\u003es (\u003ccode\u003eUP045\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19770\"\u003e#19770\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Make \u003ccode\u003eE731\u003c/code\u003e fix unsafe instead of display-only for class assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19700\"\u003e#19700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Add secondary annotation showing previous definition (\u003ccode\u003eF811\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19900\"\u003e#19900\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix description of global config file discovery strategy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19188\"\u003e#19188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate outdated links to \u003ca href=\"https://typing.python.org/en/latest/source/stubs.html\"\u003ehttps://typing.python.org/en/latest/source/stubs.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19992\"\u003e#19992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Remove unused import in example (\u003ccode\u003eANN401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20000\"\u003e#20000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.12.9\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Add check for \u003ccode\u003eairflow.secrets.cache.SecretCache\u003c/code\u003e (\u003ccode\u003eAIR301\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/17707\"\u003e#17707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Offer a safe fix for multi-digit zeros (\u003ccode\u003eRUF064\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19847\"\u003e#19847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-blind-except\u003c/code\u003e] Fix \u003ccode\u003eBLE001\u003c/code\u003e false-positive on \u003ccode\u003eraise ... from None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19755\"\u003e#19755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Fix false positive for \u003ccode\u003eC420\u003c/code\u003e with attribute, subscript, or slice assignment targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19513\"\u003e#19513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix handling of U+001C..U+001F whitespace (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19849\"\u003e#19849\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Use lowercase hex characters to match the formatter (\u003ccode\u003ePLE2513\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19808\"\u003e#19808\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elint.future-annotations\u003c/code\u003e link (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19876\"\u003e#19876\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBuild \u003ccode\u003eriscv64\u003c/code\u003e binaries for release (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19819\"\u003e#19819\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd rule code to error description in GitLab output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19896\"\u003e#19896\u003c/a\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/astral-sh/ruff/commit/c68ff8d90b57e2fc525d905527c1e9e0919802b0\"\u003e\u003ccode\u003ec68ff8d\u003c/code\u003e\u003c/a\u003e Bump 0.12.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20025\"\u003e#20025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5931a5207de19583484e53b5b5d9583690f22f6e\"\u003e\u003ccode\u003e5931a52\u003c/code\u003e\u003c/a\u003e [ty] Stop running every mdtest twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/692be72f5aff65bfea504504c54d82112657c98a\"\u003e\u003ccode\u003e692be72\u003c/code\u003e\u003c/a\u003e Move diff rendering to \u003ccode\u003eruff_db\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20006\"\u003e#20006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fe1228e72dca90db6b3dbb7e07f973d175ea0e\"\u003e\u003ccode\u003e14fe122\u003c/code\u003e\u003c/a\u003e [ty] Perform assignability etc checks using new \u003ccode\u003eConstraints\u003c/code\u003e trait (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19838\"\u003e#19838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/045cba382ad4ba019146192d3124f99fe1deb752\"\u003e\u003ccode\u003e045cba3\u003c/code\u003e\u003c/a\u003e [ty] Use \u003ccode\u003ededent\u003c/code\u003e in cursor tests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a5cbca156ccba18900f95d5597db9ed2935a31d6\"\u003e\u003ccode\u003ea5cbca1\u003c/code\u003e\u003c/a\u003e Fix rust feature activation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20012\"\u003e#20012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d43a3d34dda1c9d90114955ffb4dc8039c5ecfae\"\u003e\u003ccode\u003ed43a3d3\u003c/code\u003e\u003c/a\u003e [ty] Avoid unnecessary argument type expansion (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19999\"\u003e#19999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/99111961c05a92d2fac4f1b93e0b27eb391cf891\"\u003e\u003ccode\u003e9911196\u003c/code\u003e\u003c/a\u003e [ty] Add link for namespaces being partial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/859475f017c3295ba2dbac144dcefdb2a2318250\"\u003e\u003ccode\u003e859475f\u003c/code\u003e\u003c/a\u003e [ty] add docstrings to completions based on type (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20008\"\u003e#20008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7b75aee21d45bb84e6bb4d747cd5715dd0d03c95\"\u003e\u003ccode\u003e7b75aee\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid reporting \u003ccode\u003e__future__\u003c/code\u003e features as unnecessary when they ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.12.7...0.12.10\"\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/ASFHyP3/hyp3-gamma/pull/665","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ASFHyP3%2Fhyp3-gamma/issues/665","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/665/packages"},{"uuid":"2717771799","node_id":"PR_kwDOM_QUS86h_egX","number":777,"state":"closed","title":"build(deps): bump the minor-and-patch group with 4 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-08-05T06:27:57.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-04T12:20:15.000Z","updated_at":"2025-08-05T06:27:57.000Z","time_to_close":65262,"merged_at":"2025-08-05T06:27:57.000Z","merged_by":"tgvashworth","closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"minor-and-patch","update_count":4,"packages":[{"name":"docutils","old_version":"0.21.2","new_version":"0.22","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"jsonschema","old_version":"4.24.0","new_version":"4.25.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"playwright","old_version":"1.53.0","new_version":"1.54.0","repository_url":"https://github.com/microsoft/playwright-python"},{"name":"ruff","old_version":"0.12.3","new_version":"0.12.7","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the minor-and-patch group with 4 updates: [docutils](https://github.com/rtfd/recommonmark), [jsonschema](https://github.com/python-jsonschema/jsonschema), [playwright](https://github.com/microsoft/playwright-python) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `docutils` from 0.21.2 to 0.22\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rtfd/recommonmark/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsonschema` from 4.24.0 to 4.25.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003eiri\u003c/code\u003e and \u003ccode\u003eiri-reference\u003c/code\u003e formats to the \u003ccode\u003eformat-nongpl\u003c/code\u003e extra by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1388\"\u003epython-jsonschema/jsonschema#1388\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/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1388\"\u003epython-jsonschema/jsonschema#1388\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.24.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUnambiguously quote and escape properties in JSON path rendering by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1390\"\u003epython-jsonschema/jsonschema#1390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop python\u0026lt;3.9 backports by \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1367\"\u003epython-jsonschema/jsonschema#1367\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/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1367\"\u003epython-jsonschema/jsonschema#1367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1390\"\u003epython-jsonschema/jsonschema#1390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.24.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.24.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003eiri\u003c/code\u003e and \u003ccode\u003eiri-reference\u003c/code\u003e formats to the \u003ccode\u003eformat-nongpl\u003c/code\u003e extra via the MIT-licensed \u003ccode\u003erfc3987-syntax\u003c/code\u003e.\nThey were alread supported by the \u003ccode\u003eformat\u003c/code\u003e extra. (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1388\"\u003e#1388\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.24.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly escape segments in \u003ccode\u003eValidationError.json_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/139\"\u003e#139\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/python-jsonschema/jsonschema/commit/9889f69eb5ccb532e2147465697f30c82b2a8bb0\"\u003e\u003ccode\u003e9889f69\u003c/code\u003e\u003c/a\u003e Add the new functionality to the CHANGELOG.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/18855d01f7839083efc5bad1ca67688a7177be42\"\u003e\u003ccode\u003e18855d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1388\"\u003e#1388\u003c/a\u003e from jkowalleck/feat/validate_rfc3987_non-gpl/rfc398...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1a6067fc441177d1911446c7325eee7c776007ae\"\u003e\u003ccode\u003e1a6067f\u003c/code\u003e\u003c/a\u003e adjust rfc3987-syntax min-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6aadb8b7ad7f9d5eee58eed73df5a7d865dad34c\"\u003e\u003ccode\u003e6aadb8b\u003c/code\u003e\u003c/a\u003e Add the fix to the CHANGELOG.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/785741e73b63d97eda3973442b109df3f8aa5892\"\u003e\u003ccode\u003e785741e\u003c/code\u003e\u003c/a\u003e Add a dependency group for our new test dependency.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/dc547341f2a3304d73114b1d18da063be7fc43e0\"\u003e\u003ccode\u003edc54734\u003c/code\u003e\u003c/a\u003e Add a uv.lock.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/b5572c9971358be547bbcf614a304f85886c1627\"\u003e\u003ccode\u003eb5572c9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1390\"\u003e#1390\u003c/a\u003e from kurtmckee/fix-json_path-str-rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/4cf45b95de90191b02396bd04d41760d9798ecd6\"\u003e\u003ccode\u003e4cf45b9\u003c/code\u003e\u003c/a\u003e Feedback: Use jsonpath-ng to re-parse the rendered JSON path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/2680f6ab44d6fe36d321fef6ee626608a5f0ec7a\"\u003e\u003ccode\u003e2680f6a\u003c/code\u003e\u003c/a\u003e Feedback: Make a compiled regex pattern private\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/9a957d770d6e63646f4fc874bf8df6be4593f8c8\"\u003e\u003ccode\u003e9a957d7\u003c/code\u003e\u003c/a\u003e Unambiguously quote and escape properties in JSON path rendering\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.25.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `playwright` from 1.53.0 to 1.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright-python/releases\"\u003eplaywright's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.54.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNew cookie property \u003ccode\u003epartition_key\u003c/code\u003e in \u003ca href=\"https://playwright.dev/python/docs/api/class-browsercontext#browser-context-cookies\"\u003eBrowserContext.cookies()\u003c/a\u003e and \u003ca href=\"https://playwright.dev/python/docs/api/class-browsercontext#browser-context-add-cookies\"\u003ebrowserContext.add_cookies()\u003c/a\u003e. This property allows to save and restore partitioned cookies. See \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/Privacy/Guides/Privacy_sandbox/Partitioned_cookies\"\u003eCHIPS MDN article\u003c/a\u003e for more information. Note that browsers have different support and defaults for cookie partitioning.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew option \u003ccode\u003e--user-data-dir\u003c/code\u003e in multiple commands. You can specify the same user data dir to reuse browsing state, like authentication, between sessions.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eplaywright codegen --user-data-dir=./user-data\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eplaywright open\u003c/code\u003e does not open the test recorder anymore. Use \u003ccode\u003eplaywright codegen\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBrowser Versions\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChromium 139.0.7258.5\u003c/li\u003e\n\u003cli\u003eMozilla Firefox 140.0.2\u003c/li\u003e\n\u003cli\u003eWebKit 26.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis version was also tested against the following stable channels:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGoogle Chrome 140\u003c/li\u003e\n\u003cli\u003eMicrosoft Edge 140\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/microsoft/playwright-python/commit/cc27d2512920d9bc7208722d3293815f3f2e6139\"\u003e\u003ccode\u003ecc27d25\u003c/code\u003e\u003c/a\u003e test: update client certificate test certs (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2923\"\u003e#2923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/bd5b0331e67ed22bc75417092e87a456dd73c832\"\u003e\u003ccode\u003ebd5b033\u003c/code\u003e\u003c/a\u003e chore: roll to 1.54.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/6af4fb2ac5951576b8a47ce553aacf84f2ef5561\"\u003e\u003ccode\u003e6af4fb2\u003c/code\u003e\u003c/a\u003e chore: roll to 1.54.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2913\"\u003e#2913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/3f957528af49f6c5314b0fdb5317e15eeb87bb5e\"\u003e\u003ccode\u003e3f95752\u003c/code\u003e\u003c/a\u003e build(deps): bump pytest from 8.4.0 to 8.4.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/8cd92566bc6724d54216c4aa333546c3906c81b4\"\u003e\u003ccode\u003e8cd9256\u003c/code\u003e\u003c/a\u003e fix: Make context manager \u003cstrong\u003eexit\u003c/strong\u003e/\u003cstrong\u003eaexit\u003c/strong\u003e signatures compatible with typin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/6157d89ed543719a7e149f1debf0d0fd1de73a1d\"\u003e\u003ccode\u003e6157d89\u003c/code\u003e\u003c/a\u003e build(deps): bump typing-extensions from 4.13.2 to 4.14.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/b7882d99feae7d5b31bb83c814c55abf2090461d\"\u003e\u003ccode\u003eb7882d9\u003c/code\u003e\u003c/a\u003e fix(api): ignore deprecated timeout arg provided to is_visible/hidden (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2905\"\u003e#2905\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/playwright-python/compare/v1.53.0...v1.54.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.12.3 to 0.12.7\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.12.7\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eThis is a follow-up release to 0.12.6. Because of an issue in the package metadata, 0.12.6 failed to publish fully to PyPI and has been yanked. Similarly, there is no GitHub release or Git tag for 0.12.6. The contents of the 0.12.7 release are identical to 0.12.6, except for the updated metadata.\u003c/p\u003e\n\u003ch2\u003e0.12.6 Release Notes\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-commas\u003c/code\u003e] Add support for trailing comma checks in type parameter lists (\u003ccode\u003eCOM812\u003c/code\u003e, \u003ccode\u003eCOM819\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19390\"\u003e#19390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement auto-fix for \u003ccode\u003emissing-maxsplit-arg\u003c/code\u003e (\u003ccode\u003ePLC0207\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19387\"\u003e#19387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Offer fixes for \u003ccode\u003eRUF039\u003c/code\u003e in more cases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19065\"\u003e#19065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003e.pyi\u003c/code\u003e files in ruff analyze graph (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19611\"\u003e#19611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Preserve inline comment in ellipsis removal (\u003ccode\u003ePYI013\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19399\"\u003e#19399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eperflint\u003c/code\u003e] Ignore rule if target is \u003ccode\u003eglobal\u003c/code\u003e or \u003ccode\u003enonlocal\u003c/code\u003e (\u003ccode\u003ePERF401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19539\"\u003e#19539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP030\u003c/code\u003e to avoid modifying double curly braces in format strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19378\"\u003e#19378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Ignore decorated functions for \u003ccode\u003eFURB118\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19339\"\u003e#19339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003eint\u003c/code\u003e and \u003ccode\u003ebool\u003c/code\u003e cases for \u003ccode\u003eDecimal.from_float\u003c/code\u003e as safe fixes (\u003ccode\u003eFURB164\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19468\"\u003e#19468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix \u003ccode\u003eRUF033\u003c/code\u003e for named default expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19115\"\u003e#19115\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-blind-except\u003c/code\u003e] Change \u003ccode\u003eBLE001\u003c/code\u003e to permit \u003ccode\u003elogging.critical(..., exc_info=True)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19520\"\u003e#19520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for specifying minimum dots in detected string imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19538\"\u003e#19538\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\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/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CodeMan62\"\u003e\u003ccode\u003e@​CodeMan62\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\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/Luunynliny\"\u003e\u003ccode\u003e@​Luunynliny\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/UnboundVariable\"\u003e\u003ccode\u003e@​UnboundVariable\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clockback\"\u003e\u003ccode\u003e@​clockback\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/dcreager\"\u003e\u003ccode\u003e@​dcreager\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/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junhsonjb\"\u003e\u003ccode\u003e@​junhsonjb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshiba\"\u003e\u003ccode\u003e@​mtshiba\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.12.7\u003c/h2\u003e\n\u003cp\u003eThis is a follow-up release to 0.12.6. Because of an issue in the package metadata, 0.12.6 failed to publish fully to PyPI and has been yanked. Similarly, there is no GitHub release or Git tag for 0.12.6. The contents of the 0.12.7 release are identical to 0.12.6, except for the updated metadata.\u003c/p\u003e\n\u003ch2\u003e0.12.6\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-commas\u003c/code\u003e] Add support for trailing comma checks in type parameter lists (\u003ccode\u003eCOM812\u003c/code\u003e, \u003ccode\u003eCOM819\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19390\"\u003e#19390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement auto-fix for \u003ccode\u003emissing-maxsplit-arg\u003c/code\u003e (\u003ccode\u003ePLC0207\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19387\"\u003e#19387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Offer fixes for \u003ccode\u003eRUF039\u003c/code\u003e in more cases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19065\"\u003e#19065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003e.pyi\u003c/code\u003e files in ruff analyze graph (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19611\"\u003e#19611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Preserve inline comment in ellipsis removal (\u003ccode\u003ePYI013\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19399\"\u003e#19399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eperflint\u003c/code\u003e] Ignore rule if target is \u003ccode\u003eglobal\u003c/code\u003e or \u003ccode\u003enonlocal\u003c/code\u003e (\u003ccode\u003ePERF401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19539\"\u003e#19539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP030\u003c/code\u003e to avoid modifying double curly braces in format strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19378\"\u003e#19378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Ignore decorated functions for \u003ccode\u003eFURB118\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19339\"\u003e#19339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003eint\u003c/code\u003e and \u003ccode\u003ebool\u003c/code\u003e cases for \u003ccode\u003eDecimal.from_float\u003c/code\u003e as safe fixes (\u003ccode\u003eFURB164\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19468\"\u003e#19468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix \u003ccode\u003eRUF033\u003c/code\u003e for named default expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19115\"\u003e#19115\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-blind-except\u003c/code\u003e] Change \u003ccode\u003eBLE001\u003c/code\u003e to permit \u003ccode\u003elogging.critical(..., exc_info=True)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19520\"\u003e#19520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for specifying minimum dots in detected string imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19538\"\u003e#19538\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.12.5\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add autofix for \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19404\"\u003e#19404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Support byte strings (\u003ccode\u003eRUF055\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/18926\"\u003e#18926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eunreachable\u003c/code\u003e panic in parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19183\"\u003e#19183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Skip fix if all \u003ccode\u003eUnion\u003c/code\u003e members are \u003ccode\u003eNone\u003c/code\u003e (\u003ccode\u003ePYI016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19416\"\u003e#19416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eperflint\u003c/code\u003e] Parenthesize generator expressions (\u003ccode\u003ePERF401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19325\"\u003e#19325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Handle empty comments after line continuation (\u003ccode\u003ePLR2044\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19405\"\u003e#19405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epep8-naming\u003c/code\u003e] Fix \u003ccode\u003eN802\u003c/code\u003e false positives for \u003ccode\u003eCGIHTTPRequestHandler\u003c/code\u003e and \u003ccode\u003eSimpleHTTPRequestHandler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19432\"\u003e#19432\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.12.4\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/astral-sh/ruff/commit/c5ac998892a339be0304c7f9e69a5318b371deb8\"\u003e\u003ccode\u003ec5ac998\u003c/code\u003e\u003c/a\u003e Bump 0.12.7 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19627\"\u003e#19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/04a8f64cd731580c77a4e444f02c8eb873c673ac\"\u003e\u003ccode\u003e04a8f64\u003c/code\u003e\u003c/a\u003e Revert \u003ccode\u003elicense\u003c/code\u003e and \u003ccode\u003elicense-files\u003c/code\u003e changes in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19624\"\u003e#19624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6e00adf308c9aa8681930d2498b0efc87f6da2a2\"\u003e\u003ccode\u003e6e00adf\u003c/code\u003e\u003c/a\u003e Bump 0.12.6 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19622\"\u003e#19622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/864196b988a4f1d783eb40477fac4e2cea8334a2\"\u003e\u003ccode\u003e864196b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eChecker::context\u003c/code\u003e method, deduplicate Unicode checks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19609\"\u003e#19609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ae26fa020c0a1fc90f45281fd2b2ebbd86d6c647\"\u003e\u003ccode\u003eae26fa0\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-pyi\u003c/code\u003e] Preserve inline comment in ellipsis removal (\u003ccode\u003ePYI013\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19399\"\u003e#19399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/88a679945ce405c5de8ed819aadad97e65abd2e0\"\u003e\u003ccode\u003e88a6799\u003c/code\u003e\u003c/a\u003e [ty] Add flow diagram for import resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/941be523583aafecea6f88e454e092fe5d97ee28\"\u003e\u003ccode\u003e941be52\u003c/code\u003e\u003c/a\u003e [ty] Add comments to some core resolver functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/13624ce17fba2be4788ed090dd3112357f4e896b\"\u003e\u003ccode\u003e13624ce\u003c/code\u003e\u003c/a\u003e [ty] Add missing ticks and use consistent quoting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/edb2f8e997fa0ca79eb73d30f513843cb9e94d70\"\u003e\u003ccode\u003eedb2f8e\u003c/code\u003e\u003c/a\u003e [ty] Reflow some long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5e6ad849ff164893ce78101234cc3a168b46735a\"\u003e\u003ccode\u003e5e6ad84\u003c/code\u003e\u003c/a\u003e [ty] Unexport helper function\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.12.3...0.12.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/gyrinx-app/gyrinx/pull/777","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gyrinx-app%2Fgyrinx/issues/777","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/777/packages"}],"issue_packages":[{"old_version":"0.15.13","new_version":"0.15.14","update_type":"patch","path":null,"pr_created_at":"2026-05-27T07:57:53.000Z","version_change":"0.15.13 → 0.15.14","issue":{"uuid":"4530618020","node_id":"PR_kwDOR1-gk87fu1El","number":37,"state":"closed","title":"Bump the conda-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","conda"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-04T01:31:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-27T07:57:53.000Z","updated_at":"2026-06-04T01:31:11.000Z","time_to_close":667996,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"conda-dependencies","update_count":5,"packages":[{"name":"python","old_version":"3.14.4","new_version":"3.14.5"},{"name":"numpy","old_version":"2.4.5","new_version":"2.4.6"},{"name":"nutpie","old_version":"0.16.8","new_version":"0.16.10"},{"name":"duckdb","old_version":"1.5.2","new_version":"1.5.3","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the conda-dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| python | `3.14.4` | `3.14.5` |\n| numpy | `2.4.5` | `2.4.6` |\n| nutpie | `0.16.8` | `0.16.10` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.5.2` | `1.5.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.14` |\n\n\nUpdates `python` from 3.14.4 to 3.14.5\n\nUpdates `numpy` from 2.4.5 to 2.4.6\n\nUpdates `nutpie` from 0.16.8 to 0.16.10\n\nUpdates `duckdb` from 1.5.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/duckdb/duckdb-python/releases\"\u003educkdb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.3 Bugfix Release\u003c/h2\u003e\n\u003cp\u003eSee the DuckDB core release notes here: \u003ca href=\"https://github.com/duckdb/duckdb/releases/tag/v1.5.3\"\u003ehttps://github.com/duckdb/duckdb/releases/tag/v1.5.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed in DuckDB Python\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExport all symbols by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/445\"\u003educkdb/duckdb-python#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix concjunction OR by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/465\"\u003educkdb/duckdb-python#465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse recursive mutex to deal with GIL \u0026lt;-\u0026gt; internal lock deadlocks by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/462\"\u003educkdb/duckdb-python#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow self-joining of Polars lazyframes by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/466\"\u003educkdb/duckdb-python#466\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.5.2...v1.5.3\"\u003ehttps://github.com/duckdb/duckdb-python/compare/v1.5.2...v1.5.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/811b135ee5a0449378ab9635e0284b96485d58d6\"\u003e\u003ccode\u003e811b135\u003c/code\u003e\u003c/a\u003e DuckDB submodule pinned at v1.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/289bfbdc2914894ccbb41028a84abef34448126e\"\u003e\u003ccode\u003e289bfbd\u003c/code\u003e\u003c/a\u003e Bump submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/f87d6d938fca2d7b1ae713396e77c86622d17e79\"\u003e\u003ccode\u003ef87d6d9\u003c/code\u003e\u003c/a\u003e Allow self-joining of Polars lazyframes (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/c88229d86bf8e5ff266abc06cc620dc13d9d3529\"\u003e\u003ccode\u003ec88229d\u003c/code\u003e\u003c/a\u003e Allow self-joining of Polars lazyframes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/559f6af94b5c10e863b5e09b318c5c9f6d6c6dda\"\u003e\u003ccode\u003e559f6af\u003c/code\u003e\u003c/a\u003e Only disable unity builds for editable installs on OSX\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/97df04987ffd69a0c5a94b4e8802b78c0302023e\"\u003e\u003ccode\u003e97df049\u003c/code\u003e\u003c/a\u003e fix .clangd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/fd8889e3024da05d7afe90f4e20d6b9bd2b3e9c0\"\u003e\u003ccode\u003efd8889e\u003c/code\u003e\u003c/a\u003e Use recursive mutex to deal with GIL \u0026lt;-\u0026gt; internal lock deadlocks (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/462\"\u003e#462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/7b77328d1bbcf1a95726c332a47eb8ca817222c4\"\u003e\u003ccode\u003e7b77328\u003c/code\u003e\u003c/a\u003e [duckdb-labs bot] Bump DuckDB submodule (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/464\"\u003e#464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/9a866338302f8b7d31acde303cec9e3238cb2874\"\u003e\u003ccode\u003e9a86633\u003c/code\u003e\u003c/a\u003e Fix concjunction OR (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/3d778deea42aab1eccce0693538805b9d6183b44\"\u003e\u003ccode\u003e3d778de\u003c/code\u003e\u003c/a\u003e Fix concjunction OR\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.5.2...v1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.13 to 0.15.14\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.15.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\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/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\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.15.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\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/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\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/9ad2da3015e5faf73bdc5f1d09df3e47238e3edf\"\u003e\u003ccode\u003e9ad2da3\u003c/code\u003e\u003c/a\u003e Bump 0.15.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25295\"\u003e#25295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c714e84952510696c05ec21b0158a3548898f594\"\u003e\u003ccode\u003ec714e84\u003c/code\u003e\u003c/a\u003e [ty] Modernize setup of union types in mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25291\"\u003e#25291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8a8e35ebfe318e2467a0f276e5d1a3a9032a55ad\"\u003e\u003ccode\u003e8a8e35e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parame...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aea5ed4d278017057c2e842c6c3a2e92ad71495f\"\u003e\u003ccode\u003eaea5ed4\u003c/code\u003e\u003c/a\u003e Avoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9d72bb420f26c23e6660bfce4dfa0028b931bff\"\u003e\u003ccode\u003ee9d72bb\u003c/code\u003e\u003c/a\u003e [ty] Allow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6cbd59b511a92d5f408db57bde33367c0d47b672\"\u003e\u003ccode\u003e6cbd59b\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eexclude-newer = \u0026quot;7 days\u0026quot;\u003c/code\u003e in our PEP-723 scripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25285\"\u003e#25285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9999a3967ae28fe3295131e8883b6947f272a076\"\u003e\u003ccode\u003e9999a39\u003c/code\u003e\u003c/a\u003e Update code example on how to update Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67d8c544f0d1c526a2fc60d4bb1358fd7956d178\"\u003e\u003ccode\u003e67d8c54\u003c/code\u003e\u003c/a\u003e [ty] Retain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/25a3191140dc0467f9d196f35c128fefde269261\"\u003e\u003ccode\u003e25a3191\u003c/code\u003e\u003c/a\u003e [ty] Refine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c423054dc09e5b644c926b6b527b6accfbe693e9\"\u003e\u003ccode\u003ec423054\u003c/code\u003e\u003c/a\u003e Add a recursion limit to the parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.13...0.15.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/dseinternational/vocabulary-growth/pull/37","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dseinternational%2Fvocabulary-growth/issues/37","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/37/packages"}},{"old_version":"0.15.6","new_version":"0.15.13","update_type":"patch","path":null,"pr_created_at":"2026-05-21T01:44:29.000Z","version_change":"0.15.6 → 0.15.13","issue":{"uuid":"4491043963","node_id":"PR_kwDODyew6s7dwX6M","number":334,"state":"open","title":"Bump the lockfile-bumps group with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-21T01:44:29.000Z","updated_at":"2026-05-21T01:46:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"lockfile-bumps","update_count":12,"packages":[{"name":"llvmlite","old_version":"0.45.1","new_version":"0.47.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"click","old_version":"8.3.1","new_version":"8.4.0","repository_url":"https://github.com/pallets/click"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pre-commit","old_version":"4.5.1","new_version":"4.6.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pyright","old_version":"1.1.408","new_version":"1.1.409","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"ruff","old_version":"0.15.6","new_version":"0.15.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"plotly","old_version":"6.6.0","new_version":"6.7.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"matplotlib","old_version":"3.10.8","new_version":"3.10.9","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"sphinx-autoapi","old_version":"3.6.0","new_version":"3.8.0","repository_url":"https://github.com/readthedocs/sphinx-autoapi"},{"name":"sphinx-tabs","old_version":"3.4.7","new_version":"3.5.0","repository_url":"https://github.com/executablebooks/sphinx-tabs"},{"name":"nbsphinx","old_version":"0.9.7","new_version":"0.9.8","repository_url":"https://github.com/spatialaudio/nbsphinx"},{"name":"sphinx-togglebutton","old_version":"0.3.2","new_version":"0.4.5","repository_url":"https://github.com/executablebooks/sphinx-togglebutton"}],"path":null,"ecosystem":"conda"},"body":"Bumps the lockfile-bumps group with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.45.1` | `0.47.0` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.4.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.1` | `4.6.0` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.408` | `1.1.409` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.6` | `0.15.13` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.6.0` | `6.7.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.8` | `3.10.9` |\n| [sphinx-autoapi](https://github.com/readthedocs/sphinx-autoapi) | `3.6.0` | `3.8.0` |\n| [sphinx-tabs](https://github.com/executablebooks/sphinx-tabs) | `3.4.7` | `3.5.0` |\n| [nbsphinx](https://github.com/spatialaudio/nbsphinx) | `0.9.7` | `0.9.8` |\n| [sphinx-togglebutton](https://github.com/executablebooks/sphinx-togglebutton) | `0.3.2` | `0.4.5` |\n\nUpdates `llvmlite` from 0.45.1 to 0.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numba/llvmlite/releases\"\u003ellvmlite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.47.0\u003c/h2\u003e\n\u003cp\u003eFor detailed release notes, see: \u003ca href=\"https://llvmlite.readthedocs.io/en/v0.47.0/\"\u003ehttps://llvmlite.readthedocs.io/en/v0.47.0/\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.46.0\u003c/h2\u003e\n\u003cp\u003eFor detailed release notes, see: \u003ca href=\"https://llvmlite.readthedocs.io/en/v0.46.0\"\u003ehttps://llvmlite.readthedocs.io/en/v0.46.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/a1b33d2c2dac939a6263c544afd46eb66189b740\"\u003e\u003ccode\u003ea1b33d2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1412\"\u003e#1412\u003c/a\u003e from swap357/release0.47\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/908fd0e36e1e8f0be1a36d66394b5bc838853106\"\u003e\u003ccode\u003e908fd0e\u003c/code\u003e\u003c/a\u003e add final changelog entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/f4f904208aec1d1516946f5f38a2737a61a8087e\"\u003e\u003ccode\u003ef4f9042\u003c/code\u003e\u003c/a\u003e update CHANGE_LOG for v0.47.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/01d2b0401d1a5e19b185c582c69421e15f166561\"\u003e\u003ccode\u003e01d2b04\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1406\"\u003e#1406\u003c/a\u003e from swap357/release0.47\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/2b62a94af24c109bfd9213422363f3e42e6b8070\"\u003e\u003ccode\u003e2b62a94\u003c/code\u003e\u003c/a\u003e update changelog for 0.47.0rc1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/fafaa85470bd70aa31711f075f8fee7f3e5d3dee\"\u003e\u003ccode\u003efafaa85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1403\"\u003e#1403\u003c/a\u003e from numba/renovate/major-github-artifact-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/ec1375e4ba338a7960050260d6599c3549e48891\"\u003e\u003ccode\u003eec1375e\u003c/code\u003e\u003c/a\u003e chore(deps): update github artifact actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/d869142f16105eee20353379e65a4e6805d34c9d\"\u003e\u003ccode\u003ed869142\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/569\"\u003e#569\u003c/a\u003e from ARF1/wip/fix_setup_clean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/dd23d71d1ec24bb56ba266937a52cabd886774c9\"\u003e\u003ccode\u003edd23d71\u003c/code\u003e\u003c/a\u003e refactor cleanup logic to restrict removal to llvmlite directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/37586b026abd5df51b730ac26650ba6331371615\"\u003e\u003ccode\u003e37586b0\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/main' into wip/fix_setup_clean\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numba/llvmlite/compare/v0.45.1...v0.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.3.1 to 8.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.4.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.4.0/\"\u003ehttps://pypi.org/project/click/8.4.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-4-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-4-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/30\"\u003ehttps://github.com/pallets/click/milestone/30\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eParamType\u003c/code\u003e typing improvements. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3371\"\u003e#3371\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:class:\u003ccode\u003eParamType\u003c/code\u003e is now a generic abstract base class,\nparameterized by its converted value type.\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~ParamType.convert\u003c/code\u003e return types are narrowed on all\nconcrete types (\u003ccode\u003estr\u003c/code\u003e for :class:\u003ccode\u003eSTRING\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e for\n:class:\u003ccode\u003eINT\u003c/code\u003e, etc.).\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~ParamType.to_info_dict\u003c/code\u003e returns specific\n:class:\u003ccode\u003e~typing.TypedDict\u003c/code\u003e subclasses instead of\n\u003ccode\u003edict[str, Any]\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003eCompositeParamType\u003c/code\u003e and the number-range base are now\ngeneric with abstract methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor \u003ccode\u003econvert_type\u003c/code\u003e to extract type inference into a private\n\u003ccode\u003e_guess_type\u003c/code\u003e helper, and add :func:\u003ccode\u003etyping.overload\u003c/code\u003e signatures.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3372\"\u003e#3372\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eParameter\u003c/code\u003e typing improvements. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2805\"\u003e#2805\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:class:\u003ccode\u003eParameter\u003c/code\u003e is now an abstract base class, making explicit\nthat it cannot be instantiated directly.\u003c/li\u003e\n\u003cli\u003e:attr:\u003ccode\u003eParameter.name\u003c/code\u003e is now \u003ccode\u003estr\u003c/code\u003e instead of \u003ccode\u003estr | None\u003c/code\u003e.\nWhen \u003ccode\u003eexpose_value=False\u003c/code\u003e, the name is set to \u003ccode\u003e\u0026quot;\u0026quot;\u003c/code\u003e instead\nof \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ectx\u003c/code\u003e parameter of :meth:\u003ccode\u003eParameter.get_error_hint\u003c/code\u003e is now\ntyped as \u003ccode\u003eContext | None\u003c/code\u003e, matching the runtime behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSplit string values from \u003ccode\u003edefault_map\u003c/code\u003e for parameters with \u003ccode\u003enargs \u0026gt; 1\u003c/code\u003e\nor :class:\u003ccode\u003eTuple\u003c/code\u003e type, matching environment variable behavior.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2745\"\u003e#2745\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3364\"\u003e#3364\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAuto-detect \u003ccode\u003etype=UNPROCESSED\u003c/code\u003e for \u003ccode\u003eflag_value\u003c/code\u003e of non-basic types\n(not \u003ccode\u003estr\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e, \u003ccode\u003efloat\u003c/code\u003e, or \u003ccode\u003ebool\u003c/code\u003e), so programmer-provided\nPython objects like classes and enum members are passed through unchanged\ninstead of being stringified. Previously \u003ccode\u003etype=click.UNPROCESSED\u003c/code\u003e had\nto be set explicitly. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2012\"\u003e#2012\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3363\"\u003e#3363\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe error hint now uses \u003ccode\u003eCommand.get_help_option_names\u003c/code\u003e to pick\nnon-shadowed help option names, so \u003ccode\u003eTry '... -h'\u003c/code\u003e no longer points to a\nsubcommand option that shadows \u003ccode\u003e-h\u003c/code\u003e. All surviving names are shown\n(\u003ccode\u003e-h/--help\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/pallets/click/issues/2790\"\u003e#2790\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3208\"\u003e#3208\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix readline functionality on non-Windows platforms. Prompt text is now\npassed directly to readline instead of being printed separately, allowing\nproper backspace, line editing, and line wrapping behavior. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2968\"\u003e#2968\u003c/a\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.4.0\u003c/h2\u003e\n\u003cp\u003eReleased 2026-05-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e:class:\u003ccode\u003eParamType\u003c/code\u003e typing improvements. :pr:\u003ccode\u003e3371\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:class:\u003ccode\u003eParamType\u003c/code\u003e is now a generic abstract base class,\nparameterized by its converted value type.\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~ParamType.convert\u003c/code\u003e return types are narrowed on all\nconcrete types (\u003ccode\u003estr\u003c/code\u003e for :class:\u003ccode\u003eSTRING\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e for\n:class:\u003ccode\u003eINT\u003c/code\u003e, etc.).\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~ParamType.to_info_dict\u003c/code\u003e returns specific\n:class:\u003ccode\u003e~typing.TypedDict\u003c/code\u003e subclasses instead of\n\u003ccode\u003edict[str, Any]\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003eCompositeParamType\u003c/code\u003e and the number-range base are now\ngeneric with abstract methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor \u003ccode\u003econvert_type\u003c/code\u003e to extract type inference into a private\n\u003ccode\u003e_guess_type\u003c/code\u003e helper, and add :func:\u003ccode\u003etyping.overload\u003c/code\u003e signatures.\n:pr:\u003ccode\u003e3372\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e:class:\u003ccode\u003eParameter\u003c/code\u003e typing improvements. :pr:\u003ccode\u003e2805\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:class:\u003ccode\u003eParameter\u003c/code\u003e is now an abstract base class, making explicit\nthat it cannot be instantiated directly.\u003c/li\u003e\n\u003cli\u003e:attr:\u003ccode\u003eParameter.name\u003c/code\u003e is now \u003ccode\u003estr\u003c/code\u003e instead of \u003ccode\u003estr | None\u003c/code\u003e.\nWhen \u003ccode\u003eexpose_value=False\u003c/code\u003e, the name is set to \u003ccode\u003e\u0026quot;\u0026quot;\u003c/code\u003e instead\nof \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ectx\u003c/code\u003e parameter of :meth:\u003ccode\u003eParameter.get_error_hint\u003c/code\u003e is now\ntyped as \u003ccode\u003eContext | None\u003c/code\u003e, matching the runtime behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSplit string values from \u003ccode\u003edefault_map\u003c/code\u003e for parameters with \u003ccode\u003enargs \u0026gt; 1\u003c/code\u003e\nor :class:\u003ccode\u003eTuple\u003c/code\u003e type, matching environment variable behavior.\n:issue:\u003ccode\u003e2745\u003c/code\u003e :pr:\u003ccode\u003e3364\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAuto-detect \u003ccode\u003etype=UNPROCESSED\u003c/code\u003e for \u003ccode\u003eflag_value\u003c/code\u003e of non-basic types\n(not \u003ccode\u003estr\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e, \u003ccode\u003efloat\u003c/code\u003e, or \u003ccode\u003ebool\u003c/code\u003e), so programmer-provided\nPython objects like classes and enum members are passed through unchanged\ninstead of being stringified. Previously \u003ccode\u003etype=click.UNPROCESSED\u003c/code\u003e had\nto be set explicitly. :issue:\u003ccode\u003e2012\u003c/code\u003e :pr:\u003ccode\u003e3363\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe error hint now uses :meth:\u003ccode\u003eCommand.get_help_option_names\u003c/code\u003e to pick\nnon-shadowed help option names, so \u003ccode\u003eTry '... -h'\u003c/code\u003e no longer points to a\nsubcommand option that shadows \u003ccode\u003e-h\u003c/code\u003e. All surviving names are shown\n(\u003ccode\u003e-h/--help\u003c/code\u003e). :issue:\u003ccode\u003e2790\u003c/code\u003e :pr:\u003ccode\u003e3208\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix readline functionality on non-Windows platforms. Prompt text is now\npassed directly to readline instead of being printed separately, allowing\nproper backspace, line editing, and line wrapping behavior. :issue:\u003ccode\u003e2968\u003c/code\u003e\n:pr:\u003ccode\u003e2969\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse :func:\u003ccode\u003eos.startfile\u003c/code\u003e on Windows to open URLs in :func:\u003ccode\u003eopen_url\u003c/code\u003e,\nreplacing the \u003ccode\u003estart\u003c/code\u003e built-in which cannot be invoked without\n\u003ccode\u003eshell=True\u003c/code\u003e. :issue:\u003ccode\u003e3164\u003c/code\u003e :pr:\u003ccode\u003e3186\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Fish shell completion errors when option help text contains newlines.\n:issue:\u003ccode\u003e3043\u003c/code\u003e :pr:\u003ccode\u003e3126\u003c/code\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/pallets/click/commit/41f410fb7528305d7e87c8cfa704f6c2456f57fc\"\u003e\u003ccode\u003e41f410f\u003c/code\u003e\u003c/a\u003e Release 8.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e3e69e3bf8d749ac1a632f2ece4d38ec7f6588f5\"\u003e\u003ccode\u003ee3e69e3\u003c/code\u003e\u003c/a\u003e Add type annotations for instance attributes in \u003ccode\u003eutils\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3422\"\u003e#3422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3bb230dcd5d751f8605b46e9df5a541639d5fd4e\"\u003e\u003ccode\u003e3bb230d\u003c/code\u003e\u003c/a\u003e WIP: Fix \u003ccode\u003eHelpFormatter.write_usage\u003c/code\u003e producing spurious characters (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3434\"\u003e#3434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/63274a79d08fdc5c19220696144489f7144a8547\"\u003e\u003ccode\u003e63274a7\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclick.get_pager_file\u003c/code\u003e: add tests (\u003ca href=\"https://redirect.github.com/pallets/click/issues/1572\"\u003e#1572\u003c/a\u003e followup) (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3405\"\u003e#3405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0551bf53588ae87f462d336f24f853a156fefe3a\"\u003e\u003ccode\u003e0551bf5\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eHelpFormatter.write_usage\u003c/code\u003e producing spurious characters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/fc41aa1d0b62494eb93e92ff3929601221e3abf4\"\u003e\u003ccode\u003efc41aa1\u003c/code\u003e\u003c/a\u003e Apply class-body annotations to \u003ccode\u003eKeepOpenFile\u003c/code\u003e for consistency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b761eda3bad977ec2f485451d85fd8ec365f0bf4\"\u003e\u003ccode\u003eb761eda\u003c/code\u003e\u003c/a\u003e Skip some tests on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/98302ac4f49e443a48abd3fbb95c86202b89547d\"\u003e\u003ccode\u003e98302ac\u003c/code\u003e\u003c/a\u003e Check \u003ccode\u003ePAGER\u003c/code\u003e usage, color preservation and edge-cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/dbdae170879d460e78963f8af35c5cb9c5b86e89\"\u003e\u003ccode\u003edbdae17\u003c/code\u003e\u003c/a\u003e Fix documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1aa2d53d63ff68bf14b35931177aac9270e39713\"\u003e\u003ccode\u003e1aa2d53\u003c/code\u003e\u003c/a\u003e Redesigned tests and get_pager_file branching to be more clear and not set color\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.1...8.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 7.0.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 (2026-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed total coverage computation to always be consistent, regardless of reporting settings.\nPreviously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on\nreporting options.\nSee \u003ccode\u003e[#641](https://github.com/pytest-dev/pytest-cov/issues/641) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/641\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove handling of ResourceWarning from sqlite3.\u003c/p\u003e\n\u003cp\u003eThe plugin adds warning filter for sqlite3 \u003ccode\u003eResourceWarning\u003c/code\u003e unclosed database (since 6.2.0).\nIt checks if there is already existing plugin for this message by comparing filter regular expression.\nWhen filter is specified on command line the message is escaped and does not match an expected message.\nA check for an escaped regular expression is added to handle this case.\u003c/p\u003e\n\u003cp\u003eWith this fix one can suppress \u003ccode\u003eResourceWarning\u003c/code\u003e from sqlite3 from command line::\u003c/p\u003e\n\u003cp\u003epytest -W \u0026quot;ignore:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\u0026quot; ...\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious improvements to documentation.\nContributed by Art Pelling in \u003ccode\u003e[#718](https://github.com/pytest-dev/pytest-cov/issues/718) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/718\u0026gt;\u003c/code\u003e_ and\n\u0026quot;vivodi\u0026quot; in \u003ccode\u003e[#738](https://github.com/pytest-dev/pytest-cov/issues/738) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/738\u0026gt;\u003c/code\u003e\u003cem\u003e.\nAlso closed \u003ccode\u003e[#736](https://github.com/pytest-dev/pytest-cov/issues/736) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/736\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed some assertions in tests.\nContributed by in Markéta Machová in \u003ccode\u003e[#722](https://github.com/pytest-dev/pytest-cov/issues/722) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/722\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).\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-cov/commit/66c8a526b1246b5eb8fb1bc218878131bc628622\"\u003e\u003ccode\u003e66c8a52\u003c/code\u003e\u003c/a\u003e Bump version: 7.0.0 → 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f7076624784332594aa4cb3585d4757d295db15e\"\u003e\u003ccode\u003ef707662\u003c/code\u003e\u003c/a\u003e Make the examples use pypy 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/6049a7847872e3139e6c82e93787123df5dc8672\"\u003e\u003ccode\u003e6049a78\u003c/code\u003e\u003c/a\u003e Make context test use the old ctracer (seems the new sysmon tracer behaves di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/8ebf20bbbc73478b3f8fd36d30237d9ea083f06b\"\u003e\u003ccode\u003e8ebf20b\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/861d30e60d571f97259c6b718b71c819d5dbc3b9\"\u003e\u003ccode\u003e861d30e\u003c/code\u003e\u003c/a\u003e Remove the backup context manager  - shouldn't be needed since coverage 5.0, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/fd4c956014035527f0c3c8d7faef3f8cfdadac7f\"\u003e\u003ccode\u003efd4c956\u003c/code\u003e\u003c/a\u003e Pass the precision on the nulled total (seems that there's some caching goion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/78c9c4ecb005faf4962fd86ff7bf9c9cce9554d6\"\u003e\u003ccode\u003e78c9c4e\u003c/code\u003e\u003c/a\u003e Only run the 3.9 on older deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/4849a922e8be725c662a3d9175da571ace6545dc\"\u003e\u003ccode\u003e4849a92\u003c/code\u003e\u003c/a\u003e Punctuation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/197c35e2f37031fd1927715307ab6eed7cb3d2b7\"\u003e\u003ccode\u003e197c35e\u003c/code\u003e\u003c/a\u003e Update changelog and hopefully I don't forget to publish release again :))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/14dc1c92d44108384e39803888635fdbfc578b7f\"\u003e\u003ccode\u003e14dc1c9\u003c/code\u003e\u003c/a\u003e Update examples to use 3.11 and make the adhoc layout example look a bit more...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v7.0.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.5.1 to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.6.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier usage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.6.0 - 2026-04-21\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier\nusage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f35134b05028ec938ac605ae500fdf95462655d3\"\u003e\u003ccode\u003ef35134b\u003c/code\u003e\u003c/a\u003e v4.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2a51ffcb81f6c8ed2e6467913c3343a8800f3ab9\"\u003e\u003ccode\u003e2a51ffc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e from pre-commit/hook-impl-optional-hook-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/d7dee322abfc765b042f2e3b872aab3c3a867610\"\u003e\u003ccode\u003ed7dee32\u003c/code\u003e\u003c/a\u003e make --hook-dir optional for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/965aeb1c680e8b526342153547f0ec014484c63d\"\u003e\u003ccode\u003e965aeb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e from pre-commit/hook-impl-required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2eacc064aa9b5bb33d3a0d84a234b475e34f3096\"\u003e\u003ccode\u003e2eacc06\u003c/code\u003e\u003c/a\u003e --hook-type is required for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f5678bf4ac35cffc0ff7174ad85f7fdc2a5c977e\"\u003e\u003ccode\u003ef5678bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3657\"\u003e#3657\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/054cc5bd6bb1b20faa1eefe09f0de3b68fceee94\"\u003e\u003ccode\u003e054cc5b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/5c0f3024d2524f6e029a4c333392fd9be9fb27f6\"\u003e\u003ccode\u003e5c0f302\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3652\"\u003e#3652\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/a5d91142676630f8130020b35e166e0c0e92b8f4\"\u003e\u003ccode\u003ea5d9114\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/129a1f5ca1eaee0c952a5e7a07faae305c5e15bc\"\u003e\u003ccode\u003e129a1f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3641\"\u003e#3641\u003c/a\u003e from pre-commit/mxr-patch-1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.5.1...v4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyright` from 1.1.408 to 1.1.409\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RobertCraigie/pyright-python/commit/d7508e5425d3d02761d70dab1f9a2086573af429\"\u003e\u003ccode\u003ed7508e5\u003c/code\u003e\u003c/a\u003e [pyright updated to 1.1.409] Update Version (\u003ca href=\"https://redirect.github.com/RobertCraigie/pyright-python/issues/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RobertCraigie/pyright-python/compare/v1.1.408...v1.1.409\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.6 to 0.15.13\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.15.13\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a rule to flag lazy imports that are eagerly evaluated (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25016\"\u003e#25016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Standardize diagnostic message (\u003ccode\u003ePLR0914\u003c/code\u003e, \u003ccode\u003ePLR0917\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24996\"\u003e#24996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eF811\u003c/code\u003e false positive for class methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24933\"\u003e#24933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix setting selection for multi-folder workspace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24819\"\u003e#24819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix false positive for lines with leading whitespace (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25122\"\u003e#25122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix false positive for f-string debug specifier (\u003ccode\u003ePYI016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24098\"\u003e#24098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways include panic payload in panic diagnostic message (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24873\"\u003e#24873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict \u003ccode\u003ePYI034\u003c/code\u003e for in-place operations to enclosing class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24511\"\u003e#24511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for parameters that are declared \u003ccode\u003eglobal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24902\"\u003e#24902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate known stdlib (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25103\"\u003e#25103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML examples to \u003ccode\u003e--config\u003c/code\u003e help text (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25013\"\u003e#25013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColorize ruff check 'All checks passed' (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25085\"\u003e#25085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease max allowed value of \u003ccode\u003eline-length\u003c/code\u003e setting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24962\"\u003e#24962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eD203\u003c/code\u003e to rules that conflict with the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25044\"\u003e#25044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify \u003ccode\u003eCOM819\u003c/code\u003e and formatter interaction (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25045\"\u003e#25045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify that \u003ccode\u003eNotImplemented\u003c/code\u003e is a value, not an exception (\u003ccode\u003eF901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25054\"\u003e#25054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate number of lint rules supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24942\"\u003e#24942\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify the playground's markdown template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24924\"\u003e#24924\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\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\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.15.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a rule to flag lazy imports that are eagerly evaluated (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25016\"\u003e#25016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Standardize diagnostic message (\u003ccode\u003ePLR0914\u003c/code\u003e, \u003ccode\u003ePLR0917\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24996\"\u003e#24996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eF811\u003c/code\u003e false positive for class methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24933\"\u003e#24933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix setting selection for multi-folder workspace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24819\"\u003e#24819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix false positive for lines with leading whitespace (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25122\"\u003e#25122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix false positive for f-string debug specifier (\u003ccode\u003ePYI016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24098\"\u003e#24098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways include panic payload in panic diagnostic message (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24873\"\u003e#24873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict \u003ccode\u003ePYI034\u003c/code\u003e for in-place operations to enclosing class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24511\"\u003e#24511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for parameters that are declared \u003ccode\u003eglobal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24902\"\u003e#24902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate known stdlib (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25103\"\u003e#25103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML examples to \u003ccode\u003e--config\u003c/code\u003e help text (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25013\"\u003e#25013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColorize ruff check 'All checks passed' (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25085\"\u003e#25085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease max allowed value of \u003ccode\u003eline-length\u003c/code\u003e setting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24962\"\u003e#24962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eD203\u003c/code\u003e to rules that conflict with the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25044\"\u003e#25044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify \u003ccode\u003eCOM819\u003c/code\u003e and formatter interaction (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25045\"\u003e#25045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify that \u003ccode\u003eNotImplemented\u003c/code\u003e is a value, not an exception (\u003ccode\u003eF901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25054\"\u003e#25054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate number of lint rules supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24942\"\u003e#24942\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify the playground's markdown template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24924\"\u003e#24924\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/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/2afb467ce397e4a89c13a0a814c62cfecb0e9e49\"\u003e\u003ccode\u003e2afb467\u003c/code\u003e\u003c/a\u003e Bump 0.15.13 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25157\"\u003e#25157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/300879600fa3af7cde1e675c63de6ad9d0797d1b\"\u003e\u003ccode\u003e3008796\u003c/code\u003e\u003c/a\u003e [ty] classify TypeVar semantic tokens as type parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24891\"\u003e#24891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/79470e31877acb6074f3bbff2a49e508822ae4e8\"\u003e\u003ccode\u003e79470e3\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2522549901d50f18775999f0fb802b19229417f0\"\u003e\u003ccode\u003e2522549\u003c/code\u003e\u003c/a\u003e Remove shellcheck from prek (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25154\"\u003e#25154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7db7170020f539d6d2bc01dbd0b0c09fab91dc06\"\u003e\u003ccode\u003e7db7170\u003c/code\u003e\u003c/a\u003e [ty] Support TypedDict key completions in incomplete, anonymous contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25\"\u003e#25\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bb3dd535f1c5a83e2e56ac93a771fadbeeceebd0\"\u003e\u003ccode\u003ebb3dd53\u003c/code\u003e\u003c/a\u003e [ty] Run full iteration analysis on narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25143\"\u003e#25143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/828cdb7732efcb16a53f4ee5f011cf653b834d1a\"\u003e\u003ccode\u003e828cdb7\u003c/code\u003e\u003c/a\u003e [ty] Isolate file-watching test environment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25151\"\u003e#25151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/89e1d8670ea4d3af60c8143ee552dc750200718d\"\u003e\u003ccode\u003e89e1d86\u003c/code\u003e\u003c/a\u003e [ty] Preserve TypedDict keys through dict unpacking (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24523\"\u003e#24523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/86f3064d6fffa5697d174f26b840bd6857b381da\"\u003e\u003ccode\u003e86f3064\u003c/code\u003e\u003c/a\u003e [ty] Avoid accessing \u003ccode\u003eargs[0]\u003c/code\u003e for \u003ccode\u003estatic_assert\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25149\"\u003e#25149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ed819f947dc27e36eac8bb3134153c4668d76a3a\"\u003e\u003ccode\u003eed819f9\u003c/code\u003e\u003c/a\u003e [ty] Treat custom enum \u003ccode\u003e__new__\u003c/code\u003e values as dynamic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25136\"\u003e#25136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.6...0.15.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.6.0 to 6.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003efacet_row\u003c/code\u003e support to \u003ccode\u003epx.imshow\u003c/code\u003e for creating subplots along an additional dimension [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5445\"\u003e#5445\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/FBumann\"\u003e\u003ccode\u003e@​FBumann\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003enumpy.percentile\u003c/code\u003e syntax to stop using deprecated alias [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5483\"\u003e#5483\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Mr-Neutr0n\"\u003e\u003ccode\u003e@​Mr-Neutr0n\u003c/code\u003e\u003c/a\u003e for the contribution!\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enumpy\u003c/code\u003e with a version less than 1.22 is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHandle empty \u003ccode\u003epx.histogram\u003c/code\u003e by skipping \u003ccode\u003eNone\u003c/code\u003e label in hover template [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5535\"\u003e#5535\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/tysoncung\"\u003e\u003ccode\u003e@​tysoncung\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.4.0 to version 3.5.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.5.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5565\"\u003e#5565\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoveranywhere\u003c/code\u003e and \u003ccode\u003eclickanywhere\u003c/code\u003e layout attributes to enable emitting hover and click events anywhere in the plot area, not just over traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7707\"\u003e#7707\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edisplayNotifier\u003c/code\u003e configuration property to set the display of notifier in the top right area of the viewport [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7730\"\u003e#7730\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate USA location lookup for \u003ccode\u003escattergeo\u003c/code\u003e and \u003ccode\u003echoropleth\u003c/code\u003e traces to use both location names and abbreviations [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7731\"\u003e#7731\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.7.0] - 2026-04-09\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003efacet_row\u003c/code\u003e support to \u003ccode\u003epx.imshow\u003c/code\u003e for creating subplots along an additional dimension [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5445\"\u003e#5445\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/FBumann\"\u003e\u003ccode\u003e@​FBumann\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003enumpy.percentile\u003c/code\u003e syntax to stop using deprecated alias [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5483\"\u003e#5483\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Mr-Neutr0n\"\u003e\u003ccode\u003e@​Mr-Neutr0n\u003c/code\u003e\u003c/a\u003e for the contribution!\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enumpy\u003c/code\u003e with a version less than 1.22 is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHandle empty \u003ccode\u003epx.histogram\u003c/code\u003e by skipping \u003ccode\u003eNone\u003c/code\u003e label in hover template [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5535\"\u003e#5535\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/tysoncung\"\u003e\u003ccode\u003e@​tysoncung\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.4.0 to version 3.5.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.5.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5565\"\u003e#5565\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoveranywhere\u003c/code\u003e and \u003ccode\u003eclickanywhere\u003c/code\u003e layout attributes to enable emitting hover and click events anywhere in the plot area, not just over traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7707\"\u003e#7707\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edisplayNotifier\u003c/code\u003e configuration property to set the display of notifier in the top right area of the viewport [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7730\"\u003e#7730\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate USA location lookup for \u003ccode\u003escattergeo\u003c/code\u003e and \u003ccode\u003echoropleth\u003c/code\u003e traces to use both location names and abbreviations [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7731\"\u003e#7731\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1a2065a6ac1eabf8c3125bcb735fbc04d7cd8441\"\u003e\u003ccode\u003e1a2065a\u003c/code\u003e\u003c/a\u003e Add missing attributions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/8422e175d40bb24277c2ab65db91fab2e2c60c20\"\u003e\u003ccode\u003e8422e17\u003c/code\u003e\u003c/a\u003e Add missing octothorpes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/fa9116fd56cff6377a40c76b77b538fbe4931751\"\u003e\u003ccode\u003efa9116f\u003c/code\u003e\u003c/a\u003e Update Jupyter Lab extension files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/c771ad5c15d0b0773171d212d1b79836616076f1\"\u003e\u003ccode\u003ec771ad5\u003c/code\u003e\u003c/a\u003e Version changes for v6.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/067b95421c00a03023b43b6faca8112652b26379\"\u003e\u003ccode\u003e067b954\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5565\"\u003e#5565\u003c/a\u003e from plotly/cam/update-plotly.js-v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1b7de492ead91eb28bfa3bd9208078ff453a1657\"\u003e\u003ccode\u003e1b7de49\u003c/code\u003e\u003c/a\u003e Update Jupyter support files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/d605d3e9978928d111b3e2b5a10c70810b44a10d\"\u003e\u003ccode\u003ed605d3e\u003c/code\u003e\u003c/a\u003e chore: Update plotly.js to v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/600f86527341bc5f1809725e2831d846c3e054b4\"\u003e\u003ccode\u003e600f865\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5541\"\u003e#5541\u003c/a\u003e from plotly/migrate-to-gh-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/10c7c5611ca04639313674cca3814f742cac523d\"\u003e\u003ccode\u003e10c7c56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5518\"\u003e#5518\u003c/a\u003e from mosh3eb/fix/broken-license-link-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/ea813dd062be4918dc35944fc62226d809e9fc65\"\u003e\u003ccode\u003eea813dd\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix/broken-license-link-readme\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.6.0...v6.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.8 to 3.10.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.9\u003c/h2\u003e\n\u003cp\u003eThis is a micro release of the v3.10.x series.\nHighlights of this release include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious minor bug and doc fixes\u003c/li\u003e\n\u003cli\u003eSecurity hardening validation of cyclers - Removing eval usage\u003c/li\u003e\n\u003cli\u003eSecurity hardening in Latex and PS calls - Removing shell escapes\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/matplotlib/matplotlib/commit/dd8d78b8dce60b6c8db86132892577a0b9dbe469\"\u003e\u003ccode\u003edd8d78b\u003c/code\u003e\u003c/a\u003e REL: v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/2fb18915bcfe69a188832c776fe18d88337de9bc\"\u003e\u003ccode\u003e2fb1891\u003c/code\u003e\u003c/a\u003e REL: Release prep v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/d0e923abfa016c04901fe4e315b9d215949f6fc5\"\u003e\u003ccode\u003ed0e923a\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.8-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/163793248a5fc9f23a560e45551c44351a8bd716\"\u003e\u003ccode\u003e1637932\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31558\"\u003e#31558\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31556-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a83faacb0dbe7edd1bae38e1e715b77b6aaebb84\"\u003e\u003ccode\u003ea83faac\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31556\"\u003e#31556\u003c/a\u003e: FIX: Inverted PyErr_Occurred check in enum type caster (_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a4f57ab0623f9d26be29e0a3b0de904667c7eeb7\"\u003e\u003ccode\u003ea4f57ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31545\"\u003e#31545\u003c/a\u003e from ksunden/backport-of-pr-31282-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/063288d0cc912aa2af5cc1b7e7ca3d228d9f8976\"\u003e\u003ccode\u003e063288d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31544\"\u003e#31544\u003c/a\u003e from ksunden/backport-of-pr-31248-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/b2ed1969191a03ec8927f96573664474662ab4c1\"\u003e\u003ccode\u003eb2ed196\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31248\"\u003e#31248\u003c/a\u003e: SEC: Remove eval() from validate_cycler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/acc60241a70b920eaf04fce41a8cf0a77010fb7d\"\u003e\u003ccode\u003eacc6024\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31282\"\u003e#31282\u003c/a\u003e from scottshambaugh/tex_no_shell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/e3fb54163b1ce9dbc1a9e8e0973289dc14e366c2\"\u003e\u003ccode\u003ee3fb541\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31078\"\u003e#31078\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31075-on-v...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.8...v3.10.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-autoapi` from 3.6.0 to 3.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/releases\"\u003esphinx-autoapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.8.0\u003c/h2\u003e\n\u003ch1\u003eFeatures\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAutodoc-style directives can access members excluded by autoapi_options\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eMisc\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/553\"\u003e#553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.7.0\u003c/h2\u003e\n\u003ch1\u003eFeatures\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded autoapi.import warning for when AutoAPI directives are given non-existent objects\u003c/li\u003e\n\u003cli\u003eAdding autoapi_follow_symlinks, which allows api to traverse into symlinked directories when generating the API documentation.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 and officially support Python 3.14\u003c/li\u003e\n\u003cli\u003eSupport rendering PEP-695 type parameters\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBugfixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRender typing_extensions.TypeAlias like other type aliases (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix PythonFunction.overloads typing when source code overload(s) do not provide a return type (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eMisc\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix deprecation warnings raised by astroid and sphinx\u003c/li\u003e\n\u003cli\u003eHandling case where match returns None to fix mypy unit test.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.6.1\u003c/h2\u003e\n\u003ch1\u003eBugfixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the supported versions of astroid. Fix the breaking change to Import and pass in the AstroidManager to the AstroidBuilder (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/536\"\u003e#536\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/readthedocs/sphinx-autoapi/blob/main/CHANGELOG.rst\"\u003esphinx-autoapi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.8.0 (2026-03-07)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAutodoc-style directives can access members excluded by autoapi_options\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMisc\n^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/553\"\u003e#553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.7.0 (2026-02-10)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded autoapi.import warning for when AutoAPI directives are given non-existent objects\u003c/li\u003e\n\u003cli\u003eAdding \u003ccode\u003eautoapi_follow_symlinks\u003c/code\u003e, which allows api to traverse into symlinked directories when generating the API documentation.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 and officially support Python 3.14\u003c/li\u003e\n\u003cli\u003eSupport rendering PEP-695 type parameters\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRender typing_extensions.TypeAlias like other type aliases (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePythonFunction.overloads\u003c/code\u003e typing when source code overload(s) do not provide a return type (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMisc\n^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix deprecation warnings raised by astroid and sphinx\u003c/li\u003e\n\u003cli\u003eHandling case where match returns None to fix mypy unit test.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.6.1 (2025-10-06)\u003c/h2\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the supported versions of astroid.\nFix the breaking change to Import and pass in the AstroidManager to the AstroidBuilder (\u003ca href=\"https://redirect.github.com/readthedocs/sphinx-autoapi/issues/536\"\u003e#536\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/readthedocs/sphinx-autoapi/commit/75cbffdea08771a0c574814053359b28dc7dfe85\"\u003e\u003ccode\u003e75cbffd\u003c/code\u003e\u003c/a\u003e Version 3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/7838cf6937000a84ca8cb13a7d76e03b0084a7f3\"\u003e\u003ccode\u003e7838cf6\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/f1cdd302336455bee67a6dbc9ea2742fad17a756\"\u003e\u003ccode\u003ef1cdd30\u003c/code\u003e\u003c/a\u003e Attempt to fix macos-latest build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/34bb24ccc9de3be61c63a9c8b38458d06ea11eb3\"\u003e\u003ccode\u003e34bb24c\u003c/code\u003e\u003c/a\u003e Autodoc-style directives can access members excluded by autoapi_options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/ccb2e898cb8b3becf04eba76f5449e29d336215e\"\u003e\u003ccode\u003eccb2e89\u003c/code\u003e\u003c/a\u003e astroid requirement is consistent across all versions of Python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/0917ed2d4a42fa4ddd3668247d10ca6d902d7ada\"\u003e\u003ccode\u003e0917ed2\u003c/code\u003e\u003c/a\u003e Version 3.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/394beb453256c9c15a30cb5851682fed2a844fc4\"\u003e\u003ccode\u003e394beb4\u003c/code\u003e\u003c/a\u003e Add warning for missing import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/96cd74d1a015a05bf4409a73b173dcdf8421902a\"\u003e\u003ccode\u003e96cd74d\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/c248b85d66c233a4673c64944bdeeb394be5116a\"\u003e\u003ccode\u003ec248b85\u003c/code\u003e\u003c/a\u003e Render typing_extensions.TypeAlias like other type aliases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/commit/a2f49c9689ba76d5518c33fb509c57b5141342df\"\u003e\u003ccode\u003ea2f49c9\u003c/code\u003e\u003c/a\u003e Fix deprecation warnings raised by astroid and sphinx\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/readthedocs/sphinx-autoapi/compare/v3.6.0...v3.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-tabs` from 3.4.7 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/executablebooks/sphinx-tabs/releases\"\u003esphinx-tabs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the tests for Sphinx 8.1 by \u003ca href=\"https://github.com/mitya57\"\u003e\u003ccode\u003e@​mitya57\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/200\"\u003eexecutablebooks/sphinx-tabs#200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding sphinx configuration to RTD config by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/210\"\u003eexecutablebooks/sphinx-tabs#210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake the tests pass with Docutils 0.22 by \u003ca href=\"https://github.com/mitya57\"\u003e\u003ccode\u003e@​mitya57\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/207\"\u003eexecutablebooks/sphinx-tabs#207\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: adding new python versions to testing by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/216\"\u003eexecutablebooks/sphinx-tabs#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: adding dependabot by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/215\"\u003eexecutablebooks/sphinx-tabs#215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: dropping sphinx\u0026lt;7 and python\u0026lt;3.10 versions by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/218\"\u003eexecutablebooks/sphinx-tabs#218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: renaming the default branch to main by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/219\"\u003eexecutablebooks/sphinx-tabs#219\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/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/210\"\u003eexecutablebooks/sphinx-tabs#210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/pull/205\"\u003eexecutablebooks/sphinx-tabs#205\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-tabs/compare/v3.4.7...v3.5.0\"\u003ehttps://github.com/executablebooks/sphinx-tabs/compare/v3.4.7...v3.5.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/executablebooks/sphinx-tabs/blob/main/CHANGELOG.md\"\u003esphinx-tabs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0 - 2026-03-02\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding support for up to Sphinx 9.1 and dropped support for versions \u0026lt;7.\u003c/li\u003e\n\u003cli\u003eAdding support for docutils 0.22.\u003c/li\u003e\n\u003cli\u003eAdding support for up to Python 3.14 and dropped support for versions \u0026lt;3.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.5 - 2024-01-21\u003c/h2\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocutils version pin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2 - 2023-19-22\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTesting for Python 3.11 and 3.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency on unsupported sphinx_testing package\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2 - 2023-19-22\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etests for sphinx 7.2\u003c/li\u003e\n\u003cli\u003eslice assignment in update_context(), which was removing JS scripts from other sphinx extensions/themes on pages where tabs were not used\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNote in docs to clarify that include directive can't be used within a code-tab\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1 - 2022-07-02\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWeekly scheduled testing, to catch breaking changes in unpinned dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocutils version pin to allow use of verison 0.18.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esphinx version pinning - only the latest version of sphinx will now be fully supported, but previous versions will work if sphinx dependencies (i.e. jinja2) are managed correctly. This is inline with the approach at sphinx\u003c/li\u003e\n\u003cli\u003etests that were specific to older versions of sphinx and pygments\u003c/li\u003e\n\u003cli\u003ejinja2 version pinning, as this is now pinned in latest version of sphinx\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.0 - 2022-06-26\u003c/h2\u003e\n\u003ch3\u003eAdded\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/executablebooks/sphinx-tabs/commit/4ee56c638af1f28b8cd20da253bfc34333ea232c\"\u003e\u003ccode\u003e4ee56c6\u003c/code\u003e\u003c/a\u003e Release v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/eeb478f7c52ee70bfa33bc56a9083b9585a2353e\"\u003e\u003ccode\u003eeeb478f\u003c/code\u003e\u003c/a\u003e Update packaging command in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/505d7760d25b525468b88047d4ff31977bf9cab0\"\u003e\u003ccode\u003e505d776\u003c/code\u003e\u003c/a\u003e MAINT: adding basic build-system\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/1af2528689f5be7e4cd30a5202068a3ed1fec5da\"\u003e\u003ccode\u003e1af2528\u003c/code\u003e\u003c/a\u003e Finalizing changelog for v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/f6822292d4b9b7fd155ad997985124c670dc5a32\"\u003e\u003ccode\u003ef682229\u003c/code\u003e\u003c/a\u003e MAINT: ignoring bots for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/40f50ad057d7db087ea2fbb044688533705ab769\"\u003e\u003ccode\u003e40f50ad\u003c/code\u003e\u003c/a\u003e MAINT: renaming the default branch to main (\u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/fcb455c8f46fcab3859d2ddbc1523b4b52469511\"\u003e\u003ccode\u003efcb455c\u003c/code\u003e\u003c/a\u003e MAINT: dropping sphinx\u0026lt;7 and python\u0026lt;3.10 versions (\u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/bb0be8295bf6c74e6051c73013c7f095a5a17871\"\u003e\u003ccode\u003ebb0be82\u003c/code\u003e\u003c/a\u003e Bump the actions group in /.github/workflows with 3 updates (\u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/issues/217\"\u003e#217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/853e580678d6c3b735bc0244c1c4ca1688e2ffdf\"\u003e\u003ccode\u003e853e580\u003c/code\u003e\u003c/a\u003e MAINT: adding dependabot (\u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/issues/215\"\u003e#215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/executablebooks/sphinx-tabs/commit/3bab12d667e10a870f3a8c26a27e9f97b469dc21\"\u003e\u003ccode\u003e3bab12d\u003c/code\u003e\u003c/a\u003e MAINT: adding new python versions to testing (\u003ca href=\"https://redirect.github.com/executablebooks/sphinx-tabs/issues/216\"\u003e#216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/executablebooks/sphinx-tabs/compare/v3.4.7...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nbsphinx` from 0.9.7 to 0.9.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spatialaudio/nbsphinx/releases\"\u003enbsphinx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003enbsphinx 0.9.8\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/nbsphinx/0.9.8/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.8/\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRe-enable Sphinx 8.2+\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etext/x-rst\u003c/code\u003e MIME type in raw cells\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003emathjax4_config\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spatialaudio/nbsphinx/blob/master/NEWS.rst\"\u003enbsphinx's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 0.9.8 -- 2025-11-28 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRe-enable Sphinx 8.2+\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etext/x-rst\u003c/code\u003e MIME type in raw cells\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003emathjax4_config\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.8/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.8/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.7...0.9.8\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.7...0.9.8\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.7 -- 2025-03-03 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDisable Sphinx 8.2+ (for now)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.7/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.7/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.6...0.9.7\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.6...0.9.7\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.6 -- 2024-12-24 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: allow lists without leading blank line\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.6/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.6/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.5...0.9.6\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.5...0.9.6\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.5 -- 2024-08-13 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMiscellaneous fixes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.5/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.5/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.4...0.9.5\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.4...0.9.5\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.4 -- 2024-05-06 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire \u003ccode\u003edocutils \u0026gt;= 0.18.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMinor fixes, documentation and CI updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.4/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.4/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.3...0.9.4\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.3...0.9.4\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.3 -- 2023-08-27 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix gallery regression in Sphinx 7.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.3/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.3/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.2...0.9.3\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.2...0.9.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.2 -- 2023-05-24 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove support for \u003ccode\u003esphinx_immaterial\u003c/code\u003e theme\u003c/li\u003e\n\u003cli\u003eImprove support for links starting with \u003ccode\u003e#\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for in-text citations\u003c/li\u003e\n\u003cli\u003eLaTeX: Add support for admonition titles\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e__ \u003ca href=\"https://pypi.org/project/nbsphinx/0.9.2/\"\u003ehttps://pypi.org/project/nbsphinx/0.9.2/\u003c/a\u003e\n__ \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.1...0.9.2\"\u003ehttps://github.com/spatialaudio/nbsphinx/compare/0.9.1...0.9.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eVersion 0.9.1 -- 2023-03-14 -- PyPI__ -- diff__\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epandoc: disable \u0026quot;smart\u0026quot; option only for version 2.0+\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/spatialaudio/nbsphinx/commit/4f07420639de321d63681ee8c560f73cb0c4a85f\"\u003e\u003ccode\u003e4f07420\u003c/code\u003e\u003c/a\u003e Release 0.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/75d6770733a5ef44553759449309a769c0329609\"\u003e\u003ccode\u003e75d6770\u003c/code\u003e\u003c/a\u003e Avoid a logging error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/dd96f11edb14f7c2027c7ef50663f8c05a014278\"\u003e\u003ccode\u003edd96f11\u003c/code\u003e\u003c/a\u003e DOC: Update URL for the \u0026lt;img\u0026gt; element\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/d97c0111c4af0423216d217234d87ed73013958d\"\u003e\u003ccode\u003ed97c011\u003c/code\u003e\u003c/a\u003e Add support for mathjax4_config (\u003ca href=\"https://redirect.github.com/spatialaudio/nbsphinx/issues/854\"\u003e#854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/4882668244e8c0d7b36d0743f9fbc1a48d3160da\"\u003e\u003ccode\u003e4882668\u003c/code\u003e\u003c/a\u003e Fix nbsphinx_assume_equations to work with newer versions of Sphinx\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/95372a74c543565b5e02357db5e248fb865a8326\"\u003e\u003ccode\u003e95372a7\u003c/code\u003e\u003c/a\u003e CI: use \u0026quot;uv\u0026quot; for \u0026quot;publish\u0026quot; workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/9ce8c26cfa363a357b760ed1b0cc45ecb92de1f4\"\u003e\u003ccode\u003e9ce8c26\u003c/code\u003e\u003c/a\u003e setup.py -\u0026gt; pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/394b9ee5611109db6b234e44e2b61da8e939ac8d\"\u003e\u003ccode\u003e394b9ee\u003c/code\u003e\u003c/a\u003e DOC: use anonymous hyperlinks for embedded URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/ab8592199d6637045b6f77992f10138590130d6b\"\u003e\u003ccode\u003eab85921\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spatialaudio/nbsphinx/commit/76122c23c9568305eb6da15abd5278981e8960b1\"\u003e\u003ccode\u003e76122c2\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4 to 6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spatialaudio/nbsphinx/compare/0.9.7...0.9.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-togglebutton` from 0.3.2 to 0.4.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/releases\"\u003esphinx-togglebutton's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.4.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix selector for admonition title in togglebutton.js by \u003ca href=\"https://github.com/douden\"\u003e\u003ccode\u003e@​douden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/77\"\u003eexecutablebooks/sphinx-togglebutton#77\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.4...v0.4.5\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.4...v0.4.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.4.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate release workflow and bump version to 0.4.4 by \u003ca href=\"https://github.com/douden\"\u003e\u003ccode\u003e@​douden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/73\"\u003eexecutablebooks/sphinx-togglebutton#73\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.3...v0.4.4\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.3...v0.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.4.3\u003c/h2\u003e\n\u003ch2\u003e0.4.3 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing information in \u003ccode\u003etests.yml\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.2...v0.4.3\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.2...v0.4.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.4.2\u003c/h2\u003e\n\u003ch2\u003e0.4.2 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced \u003ccode\u003esetup.cfg\u003c/code\u003e with complete metadata.\u003c/li\u003e\n\u003cli\u003eSimplified \u003ccode\u003esetup.py\u003c/code\u003e to just call \u003ccode\u003esetup()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.1...v0.4.2\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.1...v0.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.4.1\u003c/h2\u003e\n\u003ch2\u003e0.4.1 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the release workflow to use a recent Python version.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.0...v0.4.1\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.4.0...v0.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.4.0\u003c/h2\u003e\n\u003ch2\u003e0.4.0 - 2026-01-14\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/executablebooks/sphinx-togglebutton/compare/v0.3.2...v0.4.0\"\u003ehttps://github.com/executablebooks/sphinx-togglebutton/compare/v0.3.2...v0.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for more languages in toggle button text (see README for full list) \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/66\"\u003e#66\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/executablebooks/sphinx-togglebutton/blob/master/CHANGELOG.md\"\u003esphinx-togglebutton's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.5 - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix selector for admonition title in togglebutton.js.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.4 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade used version in release workflow to the latest available.\u003c/li\u003e\n\u003cli\u003eCorrect build command in \u003ccode\u003etests.yml\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.3 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing information in \u003ccode\u003etests.yml\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced \u003ccode\u003esetup.cfg\u003c/code\u003e with complete metadata.\u003c/li\u003e\n\u003cli\u003eSimplified \u003ccode\u003esetup.py\u003c/code\u003e to just call \u003ccode\u003esetup()\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the release workflow to use a recent Python version.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for more languages in toggle button text (see README for full list) \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/66\"\u003e#66\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded new functions (syncToggleHint, syncAllToggleHints) to dynamically update toggle button hints based on the current state  \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/66\"\u003e#66\u003c/a\u003e. This allows developers to change the open or closed state of an element and have the button hint text update accordingly automatically.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate togglebutton.js to use an admonition's existing ID if present, instead of always generating a new one \u003ca href=\"https://redirect.github.com/executablebooks/sphinx-togglebutton/pull/66\"\u003e#66\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/executablebooks/sphinx-togglebutton/commit/76bb31f8824428cf66acc864ad6506dcbf90051a\"\u003e\u003ccode\u003e76bb31f\u003c/code\u003e\u003c/a\u003e ...\n\n_Description has been truncated_","html_url":"https://github.com/ekiefl/pooltool/pull/334","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekiefl%2Fpooltool/issues/334","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/334/packages"}},{"old_version":"0.15.12","new_version":"0.15.14","update_type":"patch","path":null,"pr_created_at":"2026-05-19T14:48:26.000Z","version_change":"0.15.12 → 0.15.14","issue":{"uuid":"4478389157","node_id":"PR_kwDORcvlw87dHgWn","number":20,"state":"closed","title":"deps: bump the python-minor-patch group across 1 directory with 3 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-31T01:29:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T14:48:26.000Z","updated_at":"2026-05-31T01:29:38.000Z","time_to_close":988870,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor-patch","update_count":3,"packages":[{"name":"tomlkit","old_version":"0.14.0","new_version":"0.15.0","repository_url":"https://github.com/python-poetry/tomlkit"},{"name":"hypothesis","old_version":"6.152.4","new_version":"6.153.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ruff","old_version":"0.15.12","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the python-minor-patch group with 3 updates in the / directory: [tomlkit](https://github.com/python-poetry/tomlkit), [hypothesis](https://github.com/HypothesisWorks/hypothesis) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `tomlkit` from 0.14.0 to 0.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-poetry/tomlkit/releases\"\u003etomlkit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(spec): update to toml spec v1.1 by \u003ca href=\"https://github.com/frostming\"\u003e\u003ccode\u003e@​frostming\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/456\"\u003epython-poetry/tomlkit#456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/455\"\u003epython-poetry/tomlkit#455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump virtualenv from 20.26.6 to 20.36.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/454\"\u003epython-poetry/tomlkit#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/458\"\u003epython-poetry/tomlkit#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump pygments from 2.18.0 to 2.20.0 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/464\"\u003epython-poetry/tomlkit#464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump pygments from 2.17.2 to 2.20.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/463\"\u003epython-poetry/tomlkit#463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump requests from 2.32.4 to 2.33.0 in /docs by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/462\"\u003epython-poetry/tomlkit#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/461\"\u003epython-poetry/tomlkit#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eType annotations by \u003ca href=\"https://github.com/dimbleby\"\u003e\u003ccode\u003e@​dimbleby\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/460\"\u003epython-poetry/tomlkit#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor sort_keys for parsed TOML documents by \u003ca href=\"https://github.com/ShipItAndPray\"\u003e\u003ccode\u003e@​ShipItAndPray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/471\"\u003epython-poetry/tomlkit#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/469\"\u003epython-poetry/tomlkit#469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: fix a parser hang by \u003ca href=\"https://github.com/dimbleby\"\u003e\u003ccode\u003e@​dimbleby\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/470\"\u003epython-poetry/tomlkit#470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/472\"\u003epython-poetry/tomlkit#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump version to 0.15.0 and update changelog for release by \u003ca href=\"https://github.com/frostming\"\u003e\u003ccode\u003e@​frostming\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/473\"\u003epython-poetry/tomlkit#473\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/dimbleby\"\u003e\u003ccode\u003e@​dimbleby\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/460\"\u003epython-poetry/tomlkit#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShipItAndPray\"\u003e\u003ccode\u003e@​ShipItAndPray\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/471\"\u003epython-poetry/tomlkit#471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-poetry/tomlkit/compare/0.14.0...0.15.0\"\u003ehttps://github.com/python-poetry/tomlkit/compare/0.14.0...0.15.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/python-poetry/tomlkit/blob/master/CHANGELOG.md\"\u003etomlkit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.15.0] - 2026-05-10\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate parser to support TOML spec v1.1.0. (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/pull/456\"\u003e#456\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/python-poetry/tomlkit/commit/8694e4d3323df68eb325bf3d5ab7caa66f8c206a\"\u003e\u003ccode\u003e8694e4d\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.15.0 and update changelog for release (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/e636a5121260e811dba9fd1c33656021f6855490\"\u003e\u003ccode\u003ee636a51\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/96a4d22fdd07e25742009a6bcd8a2d23e9b5574a\"\u003e\u003ccode\u003e96a4d22\u003c/code\u003e\u003c/a\u003e fix: fix a parser hang (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/470\"\u003e#470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/843f79992139ec56266f52161b27a3eadd1f6a35\"\u003e\u003ccode\u003e843f799\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/2c87eafe7c852d19c1b91a1c9bed4d47bd03816f\"\u003e\u003ccode\u003e2c87eaf\u003c/code\u003e\u003c/a\u003e Honor sort_keys for parsed TOML documents (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/471\"\u003e#471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/8e32f9cb7fcfbc45e893c34e0e9a590a26675fd6\"\u003e\u003ccode\u003e8e32f9c\u003c/code\u003e\u003c/a\u003e Type annotations (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/df98af48778f865d270d2f53e816d3b0948c8927\"\u003e\u003ccode\u003edf98af4\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/461\"\u003e#461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/4bd97db2c8fda5cbffc01acc586e3328168bac36\"\u003e\u003ccode\u003e4bd97db\u003c/code\u003e\u003c/a\u003e chore(deps): bump requests from 2.32.4 to 2.33.0 in /docs (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/462\"\u003e#462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/b2d703032bf2e44e680b67f2897c3a7c67be55eb\"\u003e\u003ccode\u003eb2d7030\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump pygments from 2.17.2 to 2.20.0 (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/463\"\u003e#463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-poetry/tomlkit/commit/87d98b1d0100c5bd39736eda4cd9cc3d8e24bf48\"\u003e\u003ccode\u003e87d98b1\u003c/code\u003e\u003c/a\u003e chore(deps): bump pygments from 2.18.0 to 2.20.0 in /docs (\u003ca href=\"https://redirect.github.com/python-poetry/tomlkit/issues/464\"\u003e#464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-poetry/tomlkit/compare/0.14.0...0.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.152.4 to 6.153.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.9\u003c/h2\u003e\n\u003cp\u003eThis release substantially improves our internal distribution for\ngenerating integers. This release has the most visible effect on\n\u0026quot;integers()\u0026quot;, but may incidentally improve other strategies which draw\nintegers internally.\u003c/p\u003e\n\u003cp\u003eOur integers distribution had two problems. First, it had jagged\ndiscontinuities at certain values where we switched sampling\napproaches. Second, it used a different distribution for bounded and\nunbounded ranges, which resulted in \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(-2\u003cstrong\u003e64, 2\u003c/strong\u003e64)\u0026quot; producing very different distributions\ndespite being semantically similar.\u003c/p\u003e\n\u003cp\u003eWe now use a smooth distribution for both \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(a, b)\u0026quot;, which fixes both of these issues. This should\nsubstantially improve our testing power in certain cases.\u003c/p\u003e\n\u003cp\u003eThe only way this release should be user-visible is that it finds more\nbugs! If this release is user-visible in other ways - for example,\nbecause it is slower, or produces a worse distribution in some cases -\nplease open an issue.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-9\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.8\u003c/h2\u003e\n\u003cp\u003eThis release drops support for end-of-life Django 4.2.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-8\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.7\u003c/h2\u003e\n\u003cp\u003eThis patch improves our type hints for \u0026quot;.filter()\u0026quot; to work with\n\u0026quot;typing.TypeGuard\u0026quot;. For example:\u003c/p\u003e\n\u003cp\u003efrom typing import TypeGuard\u003c/p\u003e\n\u003cp\u003efrom hypothesis import strategies as st\u003c/p\u003e\n\u003cp\u003edef is_str(x: object) -\u0026gt; TypeGuard[str]:\nreturn isinstance(x, str)\u003c/p\u003e\n\u003cp\u003es = st.from_type(object).filter(is_str)\u003c/p\u003e\n\u003ch1\u003epreviously: SearchStrategy[object]\u003c/h1\u003e\n\u003ch1\u003enow: SearchStrategy[str]\u003c/h1\u003e\n\u003cp\u003ereveal_type(s)\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-7\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.6\u003c/h2\u003e\n\u003cp\u003eThis patch adds a shrinking pass that tries natural text\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/HypothesisWorks/hypothesis/commit/c9164165ffdd422c57309ccbdccf24c4ad96c8bf\"\u003e\u003ccode\u003ec916416\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.153.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3d12482a8b168ed5412568318f531a028daad9ab\"\u003e\u003ccode\u003e3d12482\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4663\"\u003e#4663\u003c/a\u003e from Liam-DeVoe/next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3cbb929ba6217922d8de141a73f8a6a4109cecb6\"\u003e\u003ccode\u003e3cbb929\u003c/code\u003e\u003c/a\u003e type as RegexFlag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/a82b87f197b8dc44294aa975f0f6a22222194489\"\u003e\u003ccode\u003ea82b87f\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3d67bbe2d313d50efc28c9abc6d5e11892ca2d5e\"\u003e\u003ccode\u003e3d67bbe\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.152.12 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e6406e22b7b652111aa2e0693d518758ed858a45\"\u003e\u003ccode\u003ee6406e2\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/a8ad3475d4e5d1492f1489388cdd1d4ed5072f5c\"\u003e\u003ccode\u003ea8ad347\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4742\"\u003e#4742\u003c/a\u003e from Zac-HD/claude/flaky-better-messages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/fb43759c9e0222ef8e94091302b968ab7e390bc1\"\u003e\u003ccode\u003efb43759\u003c/code\u003e\u003c/a\u003e claude: silence mypy on str-or-bytes add_char in regex builder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a30a44b16daf6257865b533375bc8ad98ad83bb\"\u003e\u003ccode\u003e8a30a44\u003c/code\u003e\u003c/a\u003e add more tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/fda6883f7c11abd741d401d1920b26593cc5b8de\"\u003e\u003ccode\u003efda6883\u003c/code\u003e\u003c/a\u003e use simpler choices_key\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.152.4...v6.153.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.15.12 to 0.15.14\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.15.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\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/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\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.15.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\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/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\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/9ad2da3015e5faf73bdc5f1d09df3e47238e3edf\"\u003e\u003ccode\u003e9ad2da3\u003c/code\u003e\u003c/a\u003e Bump 0.15.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25295\"\u003e#25295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c714e84952510696c05ec21b0158a3548898f594\"\u003e\u003ccode\u003ec714e84\u003c/code\u003e\u003c/a\u003e [ty] Modernize setup of union types in mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25291\"\u003e#25291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8a8e35ebfe318e2467a0f276e5d1a3a9032a55ad\"\u003e\u003ccode\u003e8a8e35e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parame...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aea5ed4d278017057c2e842c6c3a2e92ad71495f\"\u003e\u003ccode\u003eaea5ed4\u003c/code\u003e\u003c/a\u003e Avoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9d72bb420f26c23e6660bfce4dfa0028b931bff\"\u003e\u003ccode\u003ee9d72bb\u003c/code\u003e\u003c/a\u003e [ty] Allow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6cbd59b511a92d5f408db57bde33367c0d47b672\"\u003e\u003ccode\u003e6cbd59b\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eexclude-newer = \u0026quot;7 days\u0026quot;\u003c/code\u003e in our PEP-723 scripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25285\"\u003e#25285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9999a3967ae28fe3295131e8883b6947f272a076\"\u003e\u003ccode\u003e9999a39\u003c/code\u003e\u003c/a\u003e Update code example on how to update Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67d8c544f0d1c526a2fc60d4bb1358fd7956d178\"\u003e\u003ccode\u003e67d8c54\u003c/code\u003e\u003c/a\u003e [ty] Retain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/25a3191140dc0467f9d196f35c128fefde269261\"\u003e\u003ccode\u003e25a3191\u003c/code\u003e\u003c/a\u003e [ty] Refine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c423054dc09e5b644c926b6b527b6accfbe693e9\"\u003e\u003ccode\u003ec423054\u003c/code\u003e\u003c/a\u003e Add a recursion limit to the parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.12...0.15.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/Cognitohazard/ltspice-mcp/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cognitohazard%2Fltspice-mcp/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"}},{"old_version":"0.15.11","new_version":"0.15.12","update_type":"patch","path":null,"pr_created_at":"2026-05-13T04:33:49.000Z","version_change":"0.15.11 → 0.15.12","issue":{"uuid":"4434834778","node_id":"PR_kwDOR76B_M7a9V6q","number":57,"state":"closed","title":"Bump the conda-dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","conda"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-13T19:30:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-13T04:33:49.000Z","updated_at":"2026-05-13T19:30:49.000Z","time_to_close":53818,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"conda-dependencies","update_count":11,"packages":[{"name":"python","old_version":"3.14","new_version":"3.14.4"},{"name":"numba","old_version":"0.65.0","new_version":"0.65.1"},{"name":"numpyro","old_version":"0.20.1","new_version":"0.21.0"},{"name":"pandas","old_version":"3.0.1","new_version":"3.0.3"},{"name":"ipython","old_version":"9.12.0","new_version":"9.13.0","repository_url":"https://github.com/ipython/ipython"},{"name":"matplotlib","old_version":"3.10.8","new_version":"3.10.9","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"notebook","old_version":"7.5.5","new_version":"7.5.6","repository_url":"https://github.com/jupyter/notebook"},{"name":"orjson","old_version":"3.11.8","new_version":"3.11.9","repository_url":"https://github.com/ijl/orjson"},{"name":"pandas","old_version":"3.0.1","new_version":"3.0.3"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.12","repository_url":"https://github.com/astral-sh/ruff"},{"name":"setuptools","old_version":"81.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"}],"path":null,"ecosystem":"conda"},"body":"Updates the requirements on python, arviz, numba, numpyro, pandas, [ipython](https://github.com/ipython/ipython), [matplotlib](https://github.com/matplotlib/matplotlib), [notebook](https://github.com/jupyter/notebook), [orjson](https://github.com/ijl/orjson), [ruff](https://github.com/astral-sh/ruff) and [setuptools](https://github.com/pypa/setuptools) to permit the latest version.\nUpdates `python` from 3.14 to 3.14.4\n\nUpdates `arviz` to 1.1.0\n\nUpdates `numba` from 0.65.0 to 0.65.1\n\nUpdates `numpyro` from 0.20.1 to 0.21.0\n\nUpdates `pandas` from 3.0.1 to 3.0.3\n\nUpdates `ipython` from 9.12.0 to 9.13.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/7c1654dcb4bc0d4c841fbee1f5abf7c6c6007111\"\u003e\u003ccode\u003e7c1654d\u003c/code\u003e\u003c/a\u003e release 9.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d7cd8a44234ddbdba782a42fce7893a4ff4529f4\"\u003e\u003ccode\u003ed7cd8a4\u003c/code\u003e\u003c/a\u003e Fix reStructuredText heading underline consistency in whatsnew (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15189\"\u003e#15189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/6542c95bef054c7ed4c1725047726b7140fe0e4d\"\u003e\u003ccode\u003e6542c95\u003c/code\u003e\u003c/a\u003e Fix RST header levels in whatsnew/version9.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/0ca3e92249fb0af429b40e4827000955d5ceeeb3\"\u003e\u003ccode\u003e0ca3e92\u003c/code\u003e\u003c/a\u003e Prepare release notes for 9.13 (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15188\"\u003e#15188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/9c8ce1184eceb865d392b39030d6c670caea89c5\"\u003e\u003ccode\u003e9c8ce11\u003c/code\u003e\u003c/a\u003e Revert release.py change, keep as dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/1fb2f7dc221e9b889d857b79c38704eab594d4c0\"\u003e\u003ccode\u003e1fb2f7d\u003c/code\u003e\u003c/a\u003e Prepare release notes for 9.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/be4179d1ba8b5c4e0f0d35a7d2f1654fd15c96e3\"\u003e\u003ccode\u003ebe4179d\u003c/code\u003e\u003c/a\u003e Implement support for image/png format in terminal (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15184\"\u003e#15184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/1ec6bc9ca9558877b5bfccf66c22e8e61ceba83d\"\u003e\u003ccode\u003e1ec6bc9\u003c/code\u003e\u003c/a\u003e Implement support for image/png format in terminal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/c6f48bceeec68b6ad9b9e6270eee9a7f4277b245\"\u003e\u003ccode\u003ec6f48bc\u003c/code\u003e\u003c/a\u003e solves \u003ca href=\"https://redirect.github.com/ipython/ipython/issues/14901\"\u003e#14901\u003c/a\u003e illegible yellow string on yellow background issue (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15156\"\u003e#15156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/8635f71fc551d76f017ad47c826bb7c7bfcb6b24\"\u003e\u003ccode\u003e8635f71\u003c/code\u003e\u003c/a\u003e fix: CapturedIO.\u003cstrong\u003einit\u003c/strong\u003e type annotations to accept Optional[StringIO] (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15172\"\u003e#15172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.12.0...9.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.8 to 3.10.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.9\u003c/h2\u003e\n\u003cp\u003eThis is a micro release of the v3.10.x series.\nHighlights of this release include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious minor bug and doc fixes\u003c/li\u003e\n\u003cli\u003eSecurity hardening validation of cyclers - Removing eval usage\u003c/li\u003e\n\u003cli\u003eSecurity hardening in Latex and PS calls - Removing shell escapes\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/matplotlib/matplotlib/commit/dd8d78b8dce60b6c8db86132892577a0b9dbe469\"\u003e\u003ccode\u003edd8d78b\u003c/code\u003e\u003c/a\u003e REL: v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/2fb18915bcfe69a188832c776fe18d88337de9bc\"\u003e\u003ccode\u003e2fb1891\u003c/code\u003e\u003c/a\u003e REL: Release prep v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/d0e923abfa016c04901fe4e315b9d215949f6fc5\"\u003e\u003ccode\u003ed0e923a\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.8-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/163793248a5fc9f23a560e45551c44351a8bd716\"\u003e\u003ccode\u003e1637932\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31558\"\u003e#31558\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31556-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a83faacb0dbe7edd1bae38e1e715b77b6aaebb84\"\u003e\u003ccode\u003ea83faac\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31556\"\u003e#31556\u003c/a\u003e: FIX: Inverted PyErr_Occurred check in enum type caster (_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a4f57ab0623f9d26be29e0a3b0de904667c7eeb7\"\u003e\u003ccode\u003ea4f57ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31545\"\u003e#31545\u003c/a\u003e from ksunden/backport-of-pr-31282-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/063288d0cc912aa2af5cc1b7e7ca3d228d9f8976\"\u003e\u003ccode\u003e063288d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31544\"\u003e#31544\u003c/a\u003e from ksunden/backport-of-pr-31248-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/b2ed1969191a03ec8927f96573664474662ab4c1\"\u003e\u003ccode\u003eb2ed196\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31248\"\u003e#31248\u003c/a\u003e: SEC: Remove eval() from validate_cycler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/acc60241a70b920eaf04fce41a8cf0a77010fb7d\"\u003e\u003ccode\u003eacc6024\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31282\"\u003e#31282\u003c/a\u003e from scottshambaugh/tex_no_shell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/e3fb54163b1ce9dbc1a9e8e0973289dc14e366c2\"\u003e\u003ccode\u003ee3fb541\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31078\"\u003e#31078\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31075-on-v...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.8...v3.10.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `notebook` from 7.5.5 to 7.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/notebook/releases\"\u003enotebook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.5.6\u003c/h2\u003e\n\u003ch2\u003e7.5.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.5...2e642f0cb10be314ba5d97d709cffe41bf992d9e\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eSecurity patches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-42557 \u003ca href=\"https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-mqcg-5x36-vfcg\"\u003ehttps://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-mqcg-5x36-vfcg\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCVE-2026-40171 \u003ca href=\"https://github.com/jupyter/notebook/security/advisories/GHSA-rch3-82jr-f9w9\"\u003ehttps://github.com/jupyter/notebook/security/advisories/GHSA-rch3-82jr-f9w9\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to JupyterLab v4.5.7 \u003ca href=\"https://redirect.github.com/jupyter/notebook/pull/7902\"\u003e#7902\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: Fix broken links in troubleshooting and migration docs \u003ca href=\"https://redirect.github.com/jupyter/notebook/pull/7824\"\u003e#7824\u003c/a\u003e (\u003ca href=\"https://github.com/RamiNoodle733\"\u003e\u003ccode\u003e@​RamiNoodle733\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/notebook/graphs/contributors?from=2026-03-11\u0026amp;to=2026-04-30\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2026-03-11..2026-04-30\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/RamiNoodle733\"\u003e\u003ccode\u003e@​RamiNoodle733\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARamiNoodle733+updated%3A2026-03-11..2026-04-30\u0026amp;type=Issues\"\u003eactivity\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/jupyter/notebook/blob/@jupyter-notebook/tree@7.5.6/CHANGELOG.md\"\u003enotebook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.5.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.5...2e642f0cb10be314ba5d97d709cffe41bf992d9e\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to JupyterLab v4.5.7 \u003ca href=\"https://redirect.github.com/jupyter/notebook/pull/7902\"\u003e#7902\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: Fix broken links in troubleshooting and migration docs \u003ca href=\"https://redirect.github.com/jupyter/notebook/pull/7824\"\u003e#7824\u003c/a\u003e (\u003ca href=\"https://github.com/RamiNoodle733\"\u003e\u003ccode\u003e@​RamiNoodle733\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/notebook/graphs/contributors?from=2026-03-11\u0026amp;to=2026-04-30\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2026-03-11..2026-04-30\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/RamiNoodle733\"\u003e\u003ccode\u003e@​RamiNoodle733\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARamiNoodle733+updated%3A2026-03-11..2026-04-30\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\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/jupyter/notebook/commit/1ab2d2b99261996e94069ca53dd3d74b8b2ee1ba\"\u003e\u003ccode\u003e1ab2d2b\u003c/code\u003e\u003c/a\u003e Publish 7.5.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/notebook/commit/50e5222c9670121c3369900c7dce01aae53823fc\"\u003e\u003ccode\u003e50e5222\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/notebook/commit/2e642f0cb10be314ba5d97d709cffe41bf992d9e\"\u003e\u003ccode\u003e2e642f0\u003c/code\u003e\u003c/a\u003e Update to JupyterLab v4.5.7 (\u003ca href=\"https://redirect.github.com/jupyter/notebook/issues/7902\"\u003e#7902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/notebook/commit/4b93f98b5a6e57027a2e1d58694b56e2ebd793a3\"\u003e\u003ccode\u003e4b93f98\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyter/notebook/issues/7824\"\u003e#7824\u003c/a\u003e: docs: Fix broken links in troubleshooting and migration do...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jupyter/notebook/compare/@jupyter-notebook/tree@7.5.5...@jupyter-notebook/tree@7.5.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.8 to 3.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.9\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.95 or later instead of 1.89.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix building on Rust 1.95.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.9 - 2026-05-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.95 or later instead of 1.89.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix building on Rust 1.95.\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/ijl/orjson/commit/705515d77b28429d0b7c30c3d781abe52e8a1e5a\"\u003e\u003ccode\u003e705515d\u003c/code\u003e\u003c/a\u003e 3.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d19055d5bab432f98d53b71606a9c6c23fb21bf6\"\u003e\u003ccode\u003ed19055d\u003c/code\u003e\u003c/a\u003e build update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/77e2d96c3febe099cde2447856fe2523d68c71b0\"\u003e\u003ccode\u003e77e2d96\u003c/code\u003e\u003c/a\u003e MSRV 1.95, remove compiler feature detection\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.8...3.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 3.0.1 to 3.0.3\n\nUpdates `ruff` from 0.15.11 to 0.15.12\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.15.12\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-24.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ccode\u003e#ruff:file-ignore\u003c/code\u003e file-level suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23599\"\u003e#23599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003e#ruff:ignore\u003c/code\u003e logical-line suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23404\"\u003e#23404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert preview changes to displayed diagnostic severity in LSP (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24789\"\u003e#24789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003etask-branch-as-short-circuit\u003c/code\u003e (\u003ccode\u003eAIR004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23579\"\u003e#23579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Fix \u003ccode\u003ebreak\u003c/code\u003e/\u003ccode\u003econtinue\u003c/code\u003e handling in \u003ccode\u003eloop-iterator-mutation\u003c/code\u003e (\u003ccode\u003eB909\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24440\"\u003e#24440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLC2701\u003c/code\u003e for type parameter scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24576\"\u003e#24576\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Suggest \u003ccode\u003e.array\u003c/code\u003e as well in \u003ccode\u003ePD011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24805\"\u003e#24805\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect default Unix permissions for cache files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24794\"\u003e#24794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR0124\u003c/code\u003e description not to claim self-comparison always returns the same value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24749\"\u003e#24749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Expand docs on reusable \u003ccode\u003eTypeVar\u003c/code\u003es and scoping (\u003ccode\u003eUP046\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24153\"\u003e#24153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove rules table accessibility (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24711\"\u003e#24711\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/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\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/woodruffw\"\u003e\u003ccode\u003e@​woodruffw\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/avasis-ai\"\u003e\u003ccode\u003e@​avasis-ai\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShipItAndPray\"\u003e\u003ccode\u003e@​ShipItAndPray\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\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/majiayu000\"\u003e\u003ccode\u003e@​majiayu000\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.12\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://releases.astral.sh/github/ruff/releases/download/0.15.12/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.15.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-24.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ccode\u003e#ruff:file-ignore\u003c/code\u003e file-level suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23599\"\u003e#23599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003e#ruff:ignore\u003c/code\u003e logical-line suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23404\"\u003e#23404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert preview changes to displayed diagnostic severity in LSP (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24789\"\u003e#24789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003etask-branch-as-short-circuit\u003c/code\u003e (\u003ccode\u003eAIR004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23579\"\u003e#23579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Fix \u003ccode\u003ebreak\u003c/code\u003e/\u003ccode\u003econtinue\u003c/code\u003e handling in \u003ccode\u003eloop-iterator-mutation\u003c/code\u003e (\u003ccode\u003eB909\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24440\"\u003e#24440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLC2701\u003c/code\u003e for type parameter scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24576\"\u003e#24576\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Suggest \u003ccode\u003e.array\u003c/code\u003e as well in \u003ccode\u003ePD011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24805\"\u003e#24805\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect default Unix permissions for cache files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24794\"\u003e#24794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR0124\u003c/code\u003e description not to claim self-comparison always returns the same value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24749\"\u003e#24749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Expand docs on reusable \u003ccode\u003eTypeVar\u003c/code\u003es and scoping (\u003ccode\u003eUP046\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24153\"\u003e#24153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove rules table accessibility (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24711\"\u003e#24711\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/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\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/woodruffw\"\u003e\u003ccode\u003e@​woodruffw\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/avasis-ai\"\u003e\u003ccode\u003e@​avasis-ai\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShipItAndPray\"\u003e\u003ccode\u003e@​ShipItAndPray\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\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/majiayu000\"\u003e\u003ccode\u003e@​majiayu000\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/66f93cf7ed4d36325f35a452e4afa28268fbcd28\"\u003e\u003ccode\u003e66f93cf\u003c/code\u003e\u003c/a\u003e Bump 0.15.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24815\"\u003e#24815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/476a4d02e8e3b6c157ac39979d8b698a1b6baa91\"\u003e\u003ccode\u003e476a4d0\u003c/code\u003e\u003c/a\u003e [ty] Complete support for more detailed diagnostics on possibly unbound error...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ed669eab30095d6c51fe6cdef6050fb01276bcb3\"\u003e\u003ccode\u003eed669ea\u003c/code\u003e\u003c/a\u003e Implement \u003ccode\u003e#ruff:file-ignore\u003c/code\u003e file-level suppressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23599\"\u003e#23599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e73d952e43feb51356ee740c5a973fce81396ff6\"\u003e\u003ccode\u003ee73d952\u003c/code\u003e\u003c/a\u003e [ty] Include inferred type in \u003ccode\u003einvalid-key\u003c/code\u003e concise diagnostic for union/inte...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/80feb29b31cd98c093316df2e0407b0c70c01b55\"\u003e\u003ccode\u003e80feb29\u003c/code\u003e\u003c/a\u003e [ty] report only dead annotation-only locals as unused (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24811\"\u003e#24811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0fbf2bc27336a3d17d39af52cf89b78dcda8c7c8\"\u003e\u003ccode\u003e0fbf2bc\u003c/code\u003e\u003c/a\u003e Drop deprecated license classifier (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24808\"\u003e#24808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/43b174cc7f2fcb0080bb1d4843cd4bf6b72bbe27\"\u003e\u003ccode\u003e43b174c\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda parameter types with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24317\"\u003e#24317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4f449ae4a2377569330a5ab94799d389357b5a3f\"\u003e\u003ccode\u003e4f449ae\u003c/code\u003e\u003c/a\u003e [ty] Add error context for intersection types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24772\"\u003e#24772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5b4e753acb46e96ad408e4904c15308e33efe307\"\u003e\u003ccode\u003e5b4e753\u003c/code\u003e\u003c/a\u003e [ty] Add support for goto in literal enum member inlay hint (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24792\"\u003e#24792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e7cc76275a758ce1c636ea1c2d091fd576aac794\"\u003e\u003ccode\u003ee7cc762\u003c/code\u003e\u003c/a\u003e [ty] Add error context for TypedDict assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24790\"\u003e#24790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` from 81.0.0 to 82.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools/blob/main/NEWS.rst\"\u003esetuptools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev82.0.1\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the loading of \u003ccode\u003elauncher manifest.xml\u003c/code\u003e file. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5047\"\u003e#5047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplaced deprecated \u003ccode\u003ejson.__version__\u003c/code\u003e with fixture in tests. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5186\"\u003e#5186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd advice about how to improve predictability when installing sdists. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5168\"\u003e#5168\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4941\"\u003e#4941\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev82.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epkg_resources\u003c/code\u003e has been removed from Setuptools. Most common uses of \u003ccode\u003epkg_resources\u003c/code\u003e have been superseded by the \u003ccode\u003eimportlib.resources \u0026lt;https://docs.python.org/3/library/importlib.resources.html\u0026gt;\u003c/code\u003e_ and \u003ccode\u003eimportlib.metadata \u0026lt;https://docs.python.org/3/library/importlib.metadata.html\u0026gt;\u003c/code\u003e_ projects. Projects and environments relying on \u003ccode\u003epkg_resources\u003c/code\u003e for namespace packages or other behavior should depend on older versions of \u003ccode\u003esetuptools\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/3085\"\u003e#3085\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/pypa/setuptools/commit/5a13876673a41e3cd21d4d6e587f53d0fb4fd8e5\"\u003e\u003ccode\u003e5a13876\u003c/code\u003e\u003c/a\u003e Bump version: 82.0.0 → 82.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/51ab8f183f1c4112675d8d6ec6b004406d518ee8\"\u003e\u003ccode\u003e51ab8f1\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5194\"\u003e#5194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/f9c37b20bb0ed11203f676f9683452a4c3ace6f6\"\u003e\u003ccode\u003ef9c37b2\u003c/code\u003e\u003c/a\u003e Docs/CI: Fix intersphinx references (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5195\"\u003e#5195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/8173db2a4fc0f6cb28926b3dba59116b79f435c8\"\u003e\u003ccode\u003e8173db2\u003c/code\u003e\u003c/a\u003e Docs: Fix intersphinx references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/09bafbc74923f2a3591b5b098be75d6af6ca5141\"\u003e\u003ccode\u003e09bafbc\u003c/code\u003e\u003c/a\u003e Fix past tense on newsfragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/461ea56c8e629819a23920f44d9298d4f041abde\"\u003e\u003ccode\u003e461ea56\u003c/code\u003e\u003c/a\u003e Add news fragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/c4ffe535b58235ff9f9ebe90d24a2cffb57e70ae\"\u003e\u003ccode\u003ec4ffe53\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/749258b1a96c7accc05ea7d842fb19fc378866fe\"\u003e\u003ccode\u003e749258b\u003c/code\u003e\u003c/a\u003e Cleanup \u003ccode\u003epkg_resources\u003c/code\u003e dependencies and configuration (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/2019c16701667db1010c62ec11c6ef78c2e58206\"\u003e\u003ccode\u003e2019c16\u003c/code\u003e\u003c/a\u003e Parse \u003ccode\u003eext-module.define-macros\u003c/code\u003e from \u003ccode\u003epyproject.toml\u003c/code\u003e as list of tuples (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/b809c86a37d97fcce290d5f51d4c293ab40bc685\"\u003e\u003ccode\u003eb809c86\u003c/code\u003e\u003c/a\u003e Sync setuptools schema with validate-pyproject (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools/compare/v81.0.0...v82.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/dseinternational/language-reading-predictors/pull/57","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dseinternational%2Flanguage-reading-predictors/issues/57","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/57/packages"}},{"old_version":"0.15.4","new_version":"0.15.7","update_type":"patch","path":null,"pr_created_at":"2026-03-22T16:26:46.000Z","version_change":"0.15.4 → 0.15.7","issue":{"uuid":"4116456975","node_id":"PR_kwDOIye5g87MgBRi","number":19,"state":"open","title":"chore(deps): bump the python-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-22T16:26:46.000Z","updated_at":"2026-03-30T08:01:54.215Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":5,"packages":[{"name":"duckdb","old_version":"1.4.4","new_version":"1.5.0","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"textual","old_version":"8.0.2","new_version":"8.1.1","repository_url":"https://github.com/Textualize/textual"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"ruff","old_version":"0.15.4","new_version":"0.15.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.19","new_version":"0.0.24","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"conda"},"body":"Bumps the python-dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.4.4` | `1.5.0` |\n| [textual](https://github.com/Textualize/textual) | `8.0.2` | `8.1.1` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.4` | `0.15.7` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.19` | `0.0.24` |\n\n\nUpdates `duckdb` from 1.4.4 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/duckdb/duckdb-python/releases\"\u003educkdb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDuckDB Python 1.5.0 \u0026quot;Variegata\u0026quot;\u003c/h2\u003e\n\u003cp\u003eThis is the 1.5.0 release of DuckDB's Python bindings. For a list of changes in DuckDB core, have a look at the \u003ca href=\"https://github.com/duckdb/duckdb/releases/tag/v1.5.0\"\u003eDuckDB release notes\u003c/a\u003e and \u003ca href=\"https://duckdb.org/2026/03/09/announcing-duckdb-150.html\"\u003ethe blogpost\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eDropped Python 3.9 support.\u003c/strong\u003e The minimum supported version is now Python 3.10.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRemoved deprecated \u003ccode\u003educkdb.typing\u003c/code\u003e and \u003ccode\u003educkdb.functional\u003c/code\u003e modules.\u003c/strong\u003e These were deprecated in 1.4.0. Use \u003ccode\u003educkdb.sqltypes\u003c/code\u003e and \u003ccode\u003educkdb.func\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRenamed \u003ccode\u003ecolumn\u003c/code\u003e parameter to \u003ccode\u003eexpression\u003c/code\u003e\u003c/strong\u003e in relational API functions (e.g., \u003ccode\u003emin\u003c/code\u003e, \u003ccode\u003emax\u003c/code\u003e, \u003ccode\u003esum\u003c/code\u003e, \u003ccode\u003emean\u003c/code\u003e, etc.) to better reflect that these accept expressions, not just column names.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated \u003ccode\u003efetch_arrow_table()\u003c/code\u003e and \u003ccode\u003efetch_record_batch()\u003c/code\u003e\u003c/strong\u003e on connections and relations. Use the new \u003ccode\u003eto_arrow_table()\u003c/code\u003e and \u003ccode\u003eto_arrow_reader()\u003c/code\u003e methods instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePolars LazyFrame projection and filter pushdown.\u003c/strong\u003e DuckDB can now push down projections and filters when scanning Polars LazyFrames, including support for cast nodes and unstrict casts.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePolars Int128 / UInt128 support.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVARIANT type support\u003c/strong\u003e — Python conversion, NumPy array wrapping, and type stubs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTIME_NS type support\u003c/strong\u003e — nanosecond-precision time values across Python, NumPy, and Spark type systems.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProfiling API\u003c/strong\u003e — new \u003ccode\u003eget_profiling_info()\u003c/code\u003e and \u003ccode\u003eget_profiling_json()\u003c/code\u003e methods on connections, plus a refactored \u003ccode\u003equery_graph\u003c/code\u003e module with improved HTML visualization (dark mode, expandable phases, depth).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eto_arrow_table()\u003c/code\u003e and \u003ccode\u003eto_arrow_reader()\u003c/code\u003e\u003c/strong\u003e — new methods on connections and relations as the preferred Arrow export API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e__arrow_c_stream__\u003c/code\u003e on relations\u003c/strong\u003e — relations now export via the Arrow PyCapsule interface using \u003ccode\u003ePhysicalArrowCollector\u003c/code\u003e for zero-copy streaming.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUnified Arrow stream scanning\u003c/strong\u003e via \u003ccode\u003e__arrow_c_stream__\u003c/code\u003e, with filter pushdown only when pyarrow is present.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eArrow schema caching\u003c/strong\u003e to avoid repeated lookups during scanning.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eArrow object type caching\u003c/strong\u003e to avoid repeated detection.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEmpty params treated as None for \u003ccode\u003e.sql()\u003c/code\u003e\u003c/strong\u003e — avoids unnecessary parameter binding overhead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSimplified GIL management\u003c/strong\u003e for \u003ccode\u003eFetchRow\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed Python object leak in scalar UDFs\u003c/strong\u003e — \u003ccode\u003ePyObject_CallObject\u003c/code\u003e return values are now properly stolen to avoid reference count leaks.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed reference cycle\u003c/strong\u003e between connections and relations that could prevent garbage collection.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelations now hold a reference to their connection\u003c/strong\u003e, preventing premature connection closure.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed fsspec race condition\u003c/strong\u003e in the Python filesystem implementation.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed numeric conversion logic\u003c/strong\u003e — improved handling of large integers (fallback to VARCHAR) and UNION types.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003epyarrow.dataset\u003c/code\u003e import is now optional\u003c/strong\u003e — no longer fails if pyarrow is installed without the dataset module.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eThrown a reasonable error\u003c/strong\u003e when an Arrow array stream has already been consumed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild \u0026amp; Packaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ejemalloc enabled on Linux x86_64 only\u003c/strong\u003e (aligned with DuckDB core), removed as a separately bundled extension.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMSVC runtime linked statically\u003c/strong\u003e on Windows — eliminates the VS2019 workaround from \u003ca href=\"https://redirect.github.com/duckdb/duckdb/issues/17991\"\u003educkdb/duckdb#17991\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/duckdb/duckdb-python/commit/87e7928a47eced6b72d6fc95c2d860f769390038\"\u003e\u003ccode\u003e87e7928\u003c/code\u003e\u003c/a\u003e pin release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/a85f289a46d1b48a41c78f0c0a5151d8386aa11f\"\u003e\u003ccode\u003ea85f289\u003c/code\u003e\u003c/a\u003e [duckdb-labs bot] Bump DuckDB submodule (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/e0ebd50b2a94e093ca7cb0b77504b503e0968719\"\u003e\u003ccode\u003ee0ebd50\u003c/code\u003e\u003c/a\u003e Bump submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/2955da9102259c6cd924d38afff342b6d63f8cae\"\u003e\u003ccode\u003e2955da9\u003c/code\u003e\u003c/a\u003e [duckdb-labs bot] Bump DuckDB submodule (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/360\"\u003e#360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/7ca17e51d2b1c8d3bb891148022d3e4847389276\"\u003e\u003ccode\u003e7ca17e5\u003c/code\u003e\u003c/a\u003e Bump submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/fb7cee85510e7bc01078fa12e29c2e24b64cbff7\"\u003e\u003ccode\u003efb7cee8\u003c/code\u003e\u003c/a\u003e Pin submodule to release hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/6b092b00b94bf46c1671829255c5c7bc115214cd\"\u003e\u003ccode\u003e6b092b0\u003c/code\u003e\u003c/a\u003e [duckdb-labs bot] Bump DuckDB submodule (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/3e7a6d3ea62d2d28a092f0ba48d91a809f268f44\"\u003e\u003ccode\u003e3e7a6d3\u003c/code\u003e\u003c/a\u003e Bump submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/55013e18c8e29e5ee23e38cc9eddf54351808d7f\"\u003e\u003ccode\u003e55013e1\u003c/code\u003e\u003c/a\u003e Allow strict casts of literals only in polars lazyframe pushdown (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/348\"\u003e#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/b8d19d0688a0ec31db16c82bf353fba5cda58dcd\"\u003e\u003ccode\u003eb8d19d0\u003c/code\u003e\u003c/a\u003e Fix failing tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.4.4...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `textual` from 8.0.2 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Hotly Completed Release\u003c/h2\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix for animation on complete \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6412\"\u003eTextualize/textual#6412\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Paused Released\u003c/h2\u003e\n\u003cp\u003eThis release should smooth scrolling large documents, particularly for Python \u0026lt; 3.14\u003c/p\u003e\n\u003ch2\u003e[8.1.0] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace circuar references in DOM with weak references to improve GC times \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen animating an attribute a second time, the original \u003ccode\u003eon_complete\u003c/code\u003e is now called \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eApp.PAUSE_GC_ON_SCROLL_\u003c/code\u003e boolean (disabled by default) \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix for animation on complete \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6412\"\u003eTextualize/textual#6412\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.0] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace circuar references in DOM with weak references to improve GC times \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen animating an attribute a second time, the original \u003ccode\u003eon_complete\u003c/code\u003e is now called \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eApp.PAUSE_GC_ON_SCROLL_\u003c/code\u003e boolean (disabled by default) \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\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/Textualize/textual/commit/0f0849fd37fbd0d4d6f81889476c22340129df67\"\u003e\u003ccode\u003e0f0849f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6412\"\u003e#6412\u003c/a\u003e from Textualize/on-complete-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/6163ba1e6c6a0526b88064dbe19731e7358db86b\"\u003e\u003ccode\u003e6163ba1\u003c/code\u003e\u003c/a\u003e detailed tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/11a3139b36daae3393f124c696204fd091a4834c\"\u003e\u003ccode\u003e11a3139\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/d4dac52c8a332b5d17ea85057ed2f575241c8d08\"\u003e\u003ccode\u003ed4dac52\u003c/code\u003e\u003c/a\u003e fix on complete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/6939565f7f1256e9b49e4c28b798dbc65cabb7fe\"\u003e\u003ccode\u003e6939565\u003c/code\u003e\u003c/a\u003e date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1c20709a36cc8a8b3abf0a6fdd50f039d2f46325\"\u003e\u003ccode\u003e1c20709\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6397\"\u003e#6397\u003c/a\u003e from NSPC911-forks/pilot-also-allow-changing-button\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ac7ef91ee17f298d8ff24750905cffd36d46eed4\"\u003e\u003ccode\u003eac7ef91\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6410\"\u003e#6410\u003c/a\u003e from Textualize/reduce-circular-refs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/76a09fee688b6bac8c2139f0d66d05d843295447\"\u003e\u003ccode\u003e76a09fe\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a3bb8dda9d5c438962ca76e7b01b00eb4f8c57a5\"\u003e\u003ccode\u003ea3bb8dd\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0a44222381924d2d511fd5c2a133b9a1771cce02\"\u003e\u003ccode\u003e0a44222\u003c/code\u003e\u003c/a\u003e Better naming\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.0.2...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 7.0.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 (2026-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed total coverage computation to always be consistent, regardless of reporting settings.\nPreviously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on\nreporting options.\nSee \u003ccode\u003e[#641](https://github.com/pytest-dev/pytest-cov/issues/641) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/641\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove handling of ResourceWarning from sqlite3.\u003c/p\u003e\n\u003cp\u003eThe plugin adds warning filter for sqlite3 \u003ccode\u003eResourceWarning\u003c/code\u003e unclosed database (since 6.2.0).\nIt checks if there is already existing plugin for this message by comparing filter regular expression.\nWhen filter is specified on command line the message is escaped and does not match an expected message.\nA check for an escaped regular expression is added to handle this case.\u003c/p\u003e\n\u003cp\u003eWith this fix one can suppress \u003ccode\u003eResourceWarning\u003c/code\u003e from sqlite3 from command line::\u003c/p\u003e\n\u003cp\u003epytest -W \u0026quot;ignore:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\u0026quot; ...\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious improvements to documentation.\nContributed by Art Pelling in \u003ccode\u003e[#718](https://github.com/pytest-dev/pytest-cov/issues/718) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/718\u0026gt;\u003c/code\u003e_ and\n\u0026quot;vivodi\u0026quot; in \u003ccode\u003e[#738](https://github.com/pytest-dev/pytest-cov/issues/738) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/738\u0026gt;\u003c/code\u003e\u003cem\u003e.\nAlso closed \u003ccode\u003e[#736](https://github.com/pytest-dev/pytest-cov/issues/736) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/736\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed some assertions in tests.\nContributed by in Markéta Machová in \u003ccode\u003e[#722](https://github.com/pytest-dev/pytest-cov/issues/722) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/722\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).\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-cov/commit/66c8a526b1246b5eb8fb1bc218878131bc628622\"\u003e\u003ccode\u003e66c8a52\u003c/code\u003e\u003c/a\u003e Bump version: 7.0.0 → 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f7076624784332594aa4cb3585d4757d295db15e\"\u003e\u003ccode\u003ef707662\u003c/code\u003e\u003c/a\u003e Make the examples use pypy 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/6049a7847872e3139e6c82e93787123df5dc8672\"\u003e\u003ccode\u003e6049a78\u003c/code\u003e\u003c/a\u003e Make context test use the old ctracer (seems the new sysmon tracer behaves di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/8ebf20bbbc73478b3f8fd36d30237d9ea083f06b\"\u003e\u003ccode\u003e8ebf20b\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/861d30e60d571f97259c6b718b71c819d5dbc3b9\"\u003e\u003ccode\u003e861d30e\u003c/code\u003e\u003c/a\u003e Remove the backup context manager  - shouldn't be needed since coverage 5.0, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/fd4c956014035527f0c3c8d7faef3f8cfdadac7f\"\u003e\u003ccode\u003efd4c956\u003c/code\u003e\u003c/a\u003e Pass the precision on the nulled total (seems that there's some caching goion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/78c9c4ecb005faf4962fd86ff7bf9c9cce9554d6\"\u003e\u003ccode\u003e78c9c4e\u003c/code\u003e\u003c/a\u003e Only run the 3.9 on older deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/4849a922e8be725c662a3d9175da571ace6545dc\"\u003e\u003ccode\u003e4849a92\u003c/code\u003e\u003c/a\u003e Punctuation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/197c35e2f37031fd1927715307ab6eed7cb3d2b7\"\u003e\u003ccode\u003e197c35e\u003c/code\u003e\u003c/a\u003e Update changelog and hopefully I don't forget to publish release again :))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/14dc1c92d44108384e39803888635fdbfc578b7f\"\u003e\u003ccode\u003e14dc1c9\u003c/code\u003e\u003c/a\u003e Update examples to use 3.11 and make the adhoc layout example look a bit more...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v7.0.0...v7.1.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.15.4 to 0.15.7\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.15.7\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisplay output severity in preview (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23845\"\u003e#23845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't show \u003ccode\u003enoqa\u003c/code\u003e hover for non-Python documents (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24040\"\u003e#24040\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Recognize \u003ccode\u003epyrefly:\u003c/code\u003e as a pragma comment (\u003ccode\u003eE501\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24019\"\u003e#24019\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't return code actions for non-Python documents (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23905\"\u003e#23905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd company AI policy to contributing guide (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24021\"\u003e#24021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument editor features for Markdown code formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23924\"\u003e#23924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Improve phrasing (\u003ccode\u003ePLC0208\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24033\"\u003e#24033\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse PEP 639 license information (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19661\"\u003e#19661\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/tmimmanuel\"\u003e\u003ccode\u003e@​tmimmanuel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\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/statxc\"\u003e\u003ccode\u003e@​statxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hunterhogan\"\u003e\u003ccode\u003e@​hunterhogan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.7\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://releases.astral.sh/github/ruff/releases/download/0.15.7/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ruff/releases/download/0.15.7/ruff-installer.ps1 | iex\u0026quot;\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\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.15.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisplay output severity in preview (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23845\"\u003e#23845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't show \u003ccode\u003enoqa\u003c/code\u003e hover for non-Python documents (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24040\"\u003e#24040\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Recognize \u003ccode\u003epyrefly:\u003c/code\u003e as a pragma comment (\u003ccode\u003eE501\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24019\"\u003e#24019\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't return code actions for non-Python documents (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23905\"\u003e#23905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd company AI policy to contributing guide (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24021\"\u003e#24021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument editor features for Markdown code formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23924\"\u003e#23924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Improve phrasing (\u003ccode\u003ePLC0208\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24033\"\u003e#24033\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse PEP 639 license information (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19661\"\u003e#19661\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/tmimmanuel\"\u003e\u003ccode\u003e@​tmimmanuel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\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/statxc\"\u003e\u003ccode\u003e@​statxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hunterhogan\"\u003e\u003ccode\u003e@​hunterhogan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.6\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-12.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elazy\u003c/code\u003e import parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23755\"\u003e#23755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for star-unpacking of comprehensions (PEP 798) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23788\"\u003e#23788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject semantic syntax errors for lazy imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23757\"\u003e#23757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop a few rules from the preview default set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23879\"\u003e#23879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag \u003ccode\u003eVariable.get()\u003c/code\u003e calls outside of task execution context (\u003ccode\u003eAIR003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23584\"\u003e#23584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag runtime-varying values in DAG/task constructor arguments (\u003ccode\u003eAIR304\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23631\"\u003e#23631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Implement \u003ccode\u003edelattr-with-constant\u003c/code\u003e (\u003ccode\u003eB043\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23737\"\u003e#23737\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/0ef39de46c006994fb1e90f7bd4ba09c0b2c1f79\"\u003e\u003ccode\u003e0ef39de\u003c/code\u003e\u003c/a\u003e Bump 0.15.7 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24049\"\u003e#24049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/beb543b5c666be9fd3f13c88df818f202b63e9d0\"\u003e\u003ccode\u003ebeb543b\u003c/code\u003e\u003c/a\u003e [ty] ecosystem-analyzer: Fail on newly panicking projects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24043\"\u003e#24043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/378fe730929ccd67a7f2426b3012093da814b31d\"\u003e\u003ccode\u003e378fe73\u003c/code\u003e\u003c/a\u003e Don't show noqa hover for non-Python documents (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24040\"\u003e#24040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b5665bd18eecab4d3b5ab1256b36904cd99a4c57\"\u003e\u003ccode\u003eb5665bd\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epylint\u003c/code\u003e] Improve phrasing (\u003ccode\u003ePLC0208\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24033\"\u003e#24033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6e20f2219020e61eeae29458013d2d3684f75a79\"\u003e\u003ccode\u003e6e20f22\u003c/code\u003e\u003c/a\u003e test: migrate \u003ccode\u003eshow_settings\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e tests to use \u003ccode\u003eCliTest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23702\"\u003e#23702\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f99b284c1fe1399a82da7f6669467488017d44a7\"\u003e\u003ccode\u003ef99b284\u003c/code\u003e\u003c/a\u003e Drain file watcher events during test setup (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24030\"\u003e#24030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/744c996c35016a8c0e05aa2823f4f822ac7b842c\"\u003e\u003ccode\u003e744c996\u003c/code\u003e\u003c/a\u003e [ty] Filter out unsatisfiable inference attempts during generic call narrowin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/16160958bdafb6106b6fffc72ffe2e4db0c0ac33\"\u003e\u003ccode\u003e1616095\u003c/code\u003e\u003c/a\u003e [ty] Avoid inferring intersection types for call arguments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23933\"\u003e#23933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7f275f431bf8c60d59601b74d441e9f4bef89f35\"\u003e\u003ccode\u003e7f275f4\u003c/code\u003e\u003c/a\u003e [ty] Pin mypy_primer in \u003ccode\u003esetup_primer_project.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24020\"\u003e#24020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7255e362e4b171a641222279cd28d2ca88a74fdc\"\u003e\u003ccode\u003e7255e36\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epycodestyle\u003c/code\u003e] Recognize \u003ccode\u003epyrefly:\u003c/code\u003e as a pragma comment (\u003ccode\u003eE501\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24019\"\u003e#24019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.4...0.15.7\"\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.19 to 0.0.24\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.24\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-19.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eTypedDict\u003c/code\u003e subscripts for unknown keys return \u003ccode\u003eUnknown\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23926\"\u003e#23926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix overflow with recursive \u003ccode\u003eTypeIs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23784\"\u003e#23784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance of frozen dataclass-transform models (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23931\"\u003e#23931\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ca href=\"https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens\"\u003esemantic token\u003c/a\u003e classification for attribute access on union types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23841\"\u003e#23841\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance and correctness by avoiding inferring intersection types for call arguments as a result of bidirectional inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23933\"\u003e#23933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow keyword arguments when unpacking dictionary instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23436\"\u003e#23436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDiscover \u003ccode\u003e/usr/local/lib\u003c/code\u003e dist-packages on Debian/Ubuntu (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23797\"\u003e#23797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23963\"\u003e#23963\u003c/a\u003e). \u003ca href=\"https://github.com/python/typeshed/compare/fa659b1def704dea3dc8e25c7857b23eac69df4d...f8f0794d0fe249c06dc9f31a004d85be6cca6ced\"\u003eTypeshed diff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.24\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://releases.astral.sh/github/ty/releases/download/0.0.24/ty-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ty 0.0.24\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-apple-darwin.tar.gz\"\u003ety-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-x86_64-apple-darwin.tar.gz\"\u003ety-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-pc-windows-msvc.zip\"\u003ety-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-i686-pc-windows-msvc.zip\"\u003ety-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-i686-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-x86_64-pc-windows-msvc.zip\"\u003ety-x86_64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-x86_64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-unknown-linux-gnu.tar.gz\"\u003ety-aarch64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-aarch64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-i686-unknown-linux-gnu.tar.gz\"\u003ety-i686-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-i686-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-powerpc64-unknown-linux-gnu.tar.gz\"\u003ety-powerpc64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePPC64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-powerpc64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-powerpc64le-unknown-linux-gnu.tar.gz\"\u003ety-powerpc64le-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePPC64LE Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-powerpc64le-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-s390x-unknown-linux-gnu.tar.gz\"\u003ety-s390x-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eS390x Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/ty/releases/download/0.0.24/ty-s390x-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.24\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-19.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eTypedDict\u003c/code\u003e subscripts for unknown keys return \u003ccode\u003eUnknown\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23926\"\u003e#23926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix overflow with recursive \u003ccode\u003eTypeIs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23784\"\u003e#23784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance of frozen dataclass-transform models (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23931\"\u003e#23931\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ca href=\"https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens\"\u003esemantic token\u003c/a\u003e classification for attribute access on union types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23841\"\u003e#23841\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance and correctness by avoiding inferring intersection types for call arguments as a result of bidirectional inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23933\"\u003e#23933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow keyword arguments when unpacking dictionary instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23436\"\u003e#23436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDiscover \u003ccode\u003e/usr/local/lib\u003c/code\u003e dist-packages on Debian/Ubuntu (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23797\"\u003e#23797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23963\"\u003e#23963\u003c/a\u003e). \u003ca href=\"https://github.com/python/typeshed/compare/fa659b1def704dea3dc8e25c7857b23eac69df4d...f8f0794d0fe249c06dc9f31a004d85be6cca6ced\"\u003eTypeshed diff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePerformance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce fast path for protocol non-assignability (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23952\"\u003e#23952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved generic-solver performance in cases involving overload sets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23881\"\u003e#23881\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/Geo5\"\u003e\u003ccode\u003e@​Geo5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/dcreager\"\u003e\u003ccode\u003e@​dcreager\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ollema\"\u003e\u003ccode\u003e@​ollema\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\u003c/ul\u003e\n\u003ch2\u003e0.0.23\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-13.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix false-positive diagnostics for PEP-604 union annotations on attribute targets on Python 3.9 when \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e is active (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23915\"\u003e#23915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edataclass_transform\u003c/code\u003e: Respect \u003ccode\u003ekw_only\u003c/code\u003e overwrites in dataclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23930\"\u003e#23930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix too-many-cycle panics when inferring loop variables with \u003ccode\u003eLiteral\u003c/code\u003e types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23875\"\u003e#23875\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_foldingRange\"\u003efolding range\u003c/a\u003e classification of lines starting with \u003ccode\u003e#\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23831\"\u003e#23831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_foldingRange\"\u003efolding ranges\u003c/a\u003e for notebooks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23830\"\u003e#23830\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/876233049afc2530181f5b8af390c6d57c65bb80\"\u003e\u003ccode\u003e8762330\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.24 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3084\"\u003e#3084\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a6f24e14c0d41b17b44ea514b230a25bad411b65\"\u003e\u003ccode\u003ea6f24e1\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3045\"\u003e#3045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/95150e7634e4b863223cea12e96f48baa23625d3\"\u003e\u003ccode\u003e95150e7\u003c/code\u003e\u003c/a\u003e Typing FAQ: New entry explaining invariance (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3073\"\u003e#3073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/bc9e8a839385b3ee5a45d3df6e5f79885dcad17d\"\u003e\u003ccode\u003ebc9e8a8\u003c/code\u003e\u003c/a\u003e Remove the repository code of conduct in favor of the organization one (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/3d12b2e9f81cd98ccc27f0285f8056da9bb999d5\"\u003e\u003ccode\u003e3d12b2e\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v7.6.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3054\"\u003e#3054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/64fe9c2fd1610cc6b25b1dfda0a8bb7694fc9467\"\u003e\u003ccode\u003e64fe9c2\u003c/code\u003e\u003c/a\u003e Update actions/attest-build-provenance action to v4 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3046\"\u003e#3046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/86d05eb2a7da77605d42ad86a5adbde131431047\"\u003e\u003ccode\u003e86d05eb\u003c/code\u003e\u003c/a\u003e Update docker/setup-buildx-action action to v4 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3050\"\u003e#3050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/eb3f320a525075daa431a0ed19d5cbff12dc5c2b\"\u003e\u003ccode\u003eeb3f320\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v6 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3049\"\u003e#3049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/7da93b86f69724734cfa4a90d3df3ca3b44bc4e4\"\u003e\u003ccode\u003e7da93b8\u003c/code\u003e\u003c/a\u003e Update docker/login-action action to v4 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3048\"\u003e#3048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fa4db72937dacb89a6271327a7433b01322136f2\"\u003e\u003ccode\u003efa4db72\u003c/code\u003e\u003c/a\u003e Update docker/build-push-action action to v7 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3047\"\u003e#3047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.19...0.0.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/wyattowalsh/nbadb/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyattowalsh%2Fnbadb/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}},{"old_version":"0.14.9","new_version":"0.15.2","update_type":"minor","path":null,"pr_created_at":"2026-02-25T12:25:38.000Z","version_change":"0.14.9 → 0.15.2","issue":{"uuid":"3989174822","node_id":"PR_kwDOCmWyEM7GNury","number":30,"state":"closed","title":"Bump the all-dependencies group with 15 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-03T15:23:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-25T12:25:38.000Z","updated_at":"2026-03-03T15:23:59.000Z","time_to_close":529099,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-dependencies","update_count":15,"packages":[{"name":"docutils","old_version":"0.22.3","new_version":"0.22.4","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"babel","old_version":"2.17.0","new_version":"2.18.0","repository_url":"https://github.com/python-babel/babel"},{"name":"roman-numerals","old_version":"3.1.0","new_version":"4.1.0","repository_url":"https://github.com/AA-Turner/roman-numerals"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"ruff","old_version":"0.14.9","new_version":"0.15.2","repository_url":"https://github.com/astral-sh/ruff"},{"name":"build","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pypa/build"},{"name":"pypi-attestations","old_version":"0.0.28","new_version":"0.0.29","repository_url":"https://github.com/pypi/pypi-attestations"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"cython","old_version":"3.2.2","new_version":"3.2.4","repository_url":"https://github.com/cython/cython"},{"name":"setuptools","old_version":"80.9.0","new_version":"82.0.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pyrefly","old_version":"0.44.0","new_version":"0.54.0","repository_url":"https://github.com/facebook/pyrefly"},{"name":"pyright","old_version":"1.1.407","new_version":"1.1.408","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"ty","old_version":"0.0.1a30","new_version":"0.0.18","repository_url":"https://github.com/astral-sh/ty"},{"name":"types-docutils","old_version":"0.22.3.20251115","new_version":"0.22.3.20260223","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"conda"},"body":"Bumps the all-dependencies group with 15 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.22.3` | `0.22.4` |\n| [babel](https://github.com/python-babel/babel) | `2.17.0` | `2.18.0` |\n| [roman-numerals](https://github.com/AA-Turner/roman-numerals) | `3.1.0` | `4.1.0` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.9` | `0.15.2` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.4.0` |\n| [pypi-attestations](https://github.com/pypi/pypi-attestations) | `0.0.28` | `0.0.29` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [cython](https://github.com/cython/cython) | `3.2.2` | `3.2.4` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.9.0` | `82.0.0` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.44.0` | `0.54.0` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.407` | `1.1.408` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a30` | `0.0.18` |\n| [types-docutils](https://github.com/typeshed-internal/stub_uploader) | `0.22.3.20251115` | `0.22.3.20260223` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n\nUpdates `docutils` from 0.22.3 to 0.22.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rtfd/recommonmark/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `babel` from 2.17.0 to 2.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-babel/babel/releases\"\u003ebabel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.18.0\u003c/h2\u003e\n\u003cp\u003eHappy 2026! Like last year's release (ahem...), this one too is being made from FOSDEM 2026, in Brussels, Belgium. 🇧🇪\nWe'll aspire for a less glacial release cycle for 2.19. 😁\u003c/p\u003e\n\u003cp\u003ePlease see \u003ca href=\"https://github.com/python-babel/babel/blob/56c63caf50b18b152541b5dcafd51f645d867074/CHANGES.rst\"\u003eCHANGELOG.rst\u003c/a\u003e for the detailed change log.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-babel/babel/compare/v2.17.0...v2.18.0\"\u003ehttps://github.com/python-babel/babel/compare/v2.17.0...v2.18.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/python-babel/babel/blob/master/CHANGES.rst\"\u003ebabel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.18.0\u003c/h2\u003e\n\u003cp\u003eHappy 2026! This release is, coincidentally, also being made from FOSDEM.\u003c/p\u003e\n\u003cp\u003eWe will aspire for a slightly less glacial release cadence in this year;\nthere are interesting features in the pipeline.\u003c/p\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Core: Add `babel.core.get_cldr_version()` by @akx in :gh:`1242`\n* Core: Use CLDR 47 by @tomasr8 in :gh:`1210`\n* Core: Use canonical IANA zone names in zone_territories by @akx in :gh:`1220`\n* Messages: Improve extract performance via ignoring directories early during os.walk by @akx in :gh:`968`\n* Messages: Merge in per-format keywords and auto_comments by @akx in :gh:`1243`\n* Messages: Update keywords for extraction of dpgettext and dnpgettext by @mardiros in :gh:`1235`\n* Messages: Validate all plurals in Python format checker by @tomasr8 in :gh:`1188`\n* Time: Use standard library `timezone` instead of `FixedOffsetTimezone` by @akx in :gh:`1203`\n\u003cp\u003eBugfixes\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCore: Fix formatting for \u0026quot;Empty locale identifier\u0026quot; exception added in \u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1164\"\u003e#1164\u003c/a\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1184\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCore: Improve handling of no-inheritance-marker in timezone data by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1194\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCore: Make the number pattern regular expression more efficient by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1213\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Keep translator comments next to the translation function call by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1196\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNumbers: Fix KeyError that occurred when formatting compact currencies of exactly one thousand in several locales  by \u003ca href=\"https://github.com/bartbroere\"\u003e\u003ccode\u003e@​bartbroere\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1246\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther improvements\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Core: Avoid unnecessary uses of `map()` by @akx in :gh:`1180`\n* Messages: Have init-catalog create directories too by @akx in :gh:`1244`\n* Messages: Optimizations for read_po by @akx in :gh:`1200`\n* Messages: Use pathlib.Path() in catalog frontend; improve test coverage by @akx in :gh:`1204`\n\u003cp\u003eInfrastructure and documentation\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI: Renovate CI \u0026amp; lint tools by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1228\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCI: Tighten up CI with Zizmor by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1230\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCI: make job permissions explicit by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1227\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Add SECURITY.md by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1229\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Remove u string prefix from docs by \u003ca href=\"https://github.com/verhovsky\"\u003e\u003ccode\u003e@​verhovsky\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1174\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update dates.rst with current unicode.org tr35 link by \u003ca href=\"https://github.com/clach04\"\u003e\u003ccode\u003e@​clach04\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1189\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Add some PyPI classifiers by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1186\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Apply reformatting by hand and with Ruff by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1202\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Test on and declare support for Python 3.14 by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1233\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/python-babel/babel/commit/56c63caf50b18b152541b5dcafd51f645d867074\"\u003e\u003ccode\u003e56c63ca\u003c/code\u003e\u003c/a\u003e Prepare for 2.18.0 (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1248\"\u003e#1248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/73015a1217b90398fe76dcdc3b6e110ce26eb6d3\"\u003e\u003ccode\u003e73015a1\u003c/code\u003e\u003c/a\u003e Add user-agent to CLDR downloader (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/29bd3624463f9b8694d09a308f67f353373c76af\"\u003e\u003ccode\u003e29bd362\u003c/code\u003e\u003c/a\u003e Fix formatting compact currencies of exactly one thousand in several locales ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/851db43b2b175c6bdf69ae6977cd6ad642506046\"\u003e\u003ccode\u003e851db43\u003c/code\u003e\u003c/a\u003e Reuse InitCatalog's guts in UpdateCatalog (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1244\"\u003e#1244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/fd00e60adf7e0c74821a77ff2a8b564e9985fd8e\"\u003e\u003ccode\u003efd00e60\u003c/code\u003e\u003c/a\u003e Extract: Merge in per-format keywords and auto_comments (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1243\"\u003e#1243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/12a14b6b3f09b6f5c8c745791dd4928f1d58fda0\"\u003e\u003ccode\u003e12a14b6\u003c/code\u003e\u003c/a\u003e Add dpgettext and dnpgettext support (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1235\"\u003e#1235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/7110e6206fd5ddc66db9613935fea8b8c668b7d5\"\u003e\u003ccode\u003e7110e62\u003c/code\u003e\u003c/a\u003e Use canonical IANA zone names in zone_territories (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1220\"\u003e#1220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/e91c3467b0f3bdc4433eab6820819fe69784c2bf\"\u003e\u003ccode\u003ee91c346\u003c/code\u003e\u003c/a\u003e Improve extract performance via ignoring directories early during os.walk (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/0c4f37838c3cb34cf527dd9890c1b69e98db1354\"\u003e\u003ccode\u003e0c4f378\u003c/code\u003e\u003c/a\u003e Convert Unittest testcases with setup/teardown to fixtures (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1240\"\u003e#1240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/218c96ee305aad95bccb6402af4b4be60ad17ab1\"\u003e\u003ccode\u003e218c96e\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003ebabel.core.get_cldr_version()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1242\"\u003e#1242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-babel/babel/compare/v2.17.0...v2.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `roman-numerals` from 3.1.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/AA-Turner/roman-numerals/releases\"\u003eroman-numerals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eroman-numerals 4.1.0\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eroman-numerals 4.0.0\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/AA-Turner/roman-numerals/blob/master/CHANGES.rst\"\u003eroman-numerals's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.1.0 (released 17 Dec 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRestore LICENCE.rst in the roman-numerals-py meta-package\u003c/li\u003e\n\u003cli\u003eAdd some debug assertions for unsafe blocks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 4.0.0 (released 16 Dec 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRename Python package to \u003ccode\u003eroman-numerals\u003c/code\u003e on PyPI.\u003c/li\u003e\n\u003cli\u003ePublish \u003ccode\u003eroman-numerals-py\u003c/code\u003e as a meta-package that depends\non \u003ccode\u003eroman-numerals\u003c/code\u003e and installs no modules.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eDeclare support for Python 3.15.\u003c/li\u003e\n\u003cli\u003eIncrease the minimum supported Rust version (MSRV) to 1.81.0.\u003c/li\u003e\n\u003cli\u003eImplement the \u003ccode\u003ecore::error::Error\u003c/code\u003e trait for all error types.\u003c/li\u003e\n\u003cli\u003eImplement the \u003ccode\u003ecore::fmt\u003c/code\u003e traits in \u003ccode\u003eno-std\u003c/code\u003e mode.\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eFrom\u0026lt;RomanNumeral\u0026gt;\u003c/code\u003e for most integer types.\u003c/li\u003e\n\u003cli\u003ePublish the \u003ccode\u003eroman-numerals-rs\u003c/code\u003e crate using \u003ccode\u003eTrusted Publishing \u0026lt;https://crates.io/docs/trusted-publishing\u0026gt;\u003c/code\u003e__\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/53c9c4eac63b91728fba3c26329163ee57654d21\"\u003e\u003ccode\u003e53c9c4e\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/a3793b83fab7064107ac56a482a6fa93bc9c5048\"\u003e\u003ccode\u003ea3793b8\u003c/code\u003e\u003c/a\u003e Add more SAFETY notes and debug assertions to unsafe blocks (\u003ca href=\"https://redirect.github.com/AA-Turner/roman-numerals/issues/106\"\u003e#106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/46d346e2d08b634856c79783e404616b65626ba7\"\u003e\u003ccode\u003e46d346e\u003c/code\u003e\u003c/a\u003e Adjust annotations in light of PEP 649\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/b8fae405d948415f7397ae4f64569c53cb623105\"\u003e\u003ccode\u003eb8fae40\u003c/code\u003e\u003c/a\u003e Adjust an example in the README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/a88464130711ad5e8d56e6ff747d17068ae17534\"\u003e\u003ccode\u003ea884641\u003c/code\u003e\u003c/a\u003e Restore LICENCE.rst in the roman-numerals-py meta-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/c3e1b6b4e6e02e5e19c26dc6f72bbb7b1060cca5\"\u003e\u003ccode\u003ec3e1b6b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/c335cb63ed97e684a4e9453639bfc7e9f487bb41\"\u003e\u003ccode\u003ec335cb6\u003c/code\u003e\u003c/a\u003e Add publishing step for the \u003ccode\u003eroman-numerals-py\u003c/code\u003e meta-package (\u003ca href=\"https://redirect.github.com/AA-Turner/roman-numerals/issues/105\"\u003e#105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/649f6e62e7bd24123d7dd489609ae47168aaeb1b\"\u003e\u003ccode\u003e649f6e6\u003c/code\u003e\u003c/a\u003e Add Trusted Publishing workflow for crates.io (\u003ca href=\"https://redirect.github.com/AA-Turner/roman-numerals/issues/104\"\u003e#104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/ffa4dd1b33eae62f1bd1d44549e10a528b8f1f58\"\u003e\u003ccode\u003effa4dd1\u003c/code\u003e\u003c/a\u003e rust: Refactor tests (\u003ca href=\"https://redirect.github.com/AA-Turner/roman-numerals/issues/103\"\u003e#103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AA-Turner/roman-numerals/commit/26b41561c1d9813104548777b5ed9622d7125b38\"\u003e\u003ccode\u003e26b4156\u003c/code\u003e\u003c/a\u003e Simplify ASCII detection closures (\u003ca href=\"https://redirect.github.com/AA-Turner/roman-numerals/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/AA-Turner/roman-numerals/compare/v3.1.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\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/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccode\u003e879\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format (:pull:\u003ccode\u003e925\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon (:pull:\u003ccode\u003e833\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions (:pull:\u003ccode\u003e931\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string (:pull:\u003ccode\u003e953\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eA root logger use found, use a \u003ccode\u003epackaging\u003c/code\u003e logger instead (:pull:\u003ccode\u003e965\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e (:pull:\u003ccode\u003e1022\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first (:pull:\u003ccode\u003e1024\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct (:pull:\u003ccode\u003e1033\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup (:pull:\u003ccode\u003e1019\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e (:pull:\u003ccode\u003e869\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e913\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003e's in specifier comparison (:pull:\u003ccode\u003e986\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache the \u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e985\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster (:pull:\u003ccode\u003e987\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup (:pull:\u003ccode\u003e990\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ for \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e988\u003c/code\u003e, :pull:\u003ccode\u003e1055\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e989\u003c/code\u003e, :pull:\u003ccode\u003e1048\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e (:pull:\u003ccode\u003e993\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ere.fullmatch\u003c/code\u003e in a couple more places (:pull:\u003ccode\u003e992\u003c/code\u003e, :pull:\u003ccode\u003e1029\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003emap\u003c/code\u003e instead of generator (:pull:\u003ccode\u003e996\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003e._version\u003c/code\u003e (\u003ccode\u003e_Version\u003c/code\u003e, a \u003ccode\u003eNamedTuple\u003c/code\u003e) (:pull:\u003ccode\u003e995\u003c/code\u003e, :pull:\u003ccode\u003e1062\u003c/code\u003e)\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\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/packaging/commit/3b77a26f5a27473ad3b08194d773f325d018a2d0\"\u003e\u003ccode\u003e3b77a26\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/31371cce593d2bde0dd8c436ecfb7d53cb91cfb6\"\u003e\u003ccode\u003e31371cc\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0 final (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/9627a8821f09e4c55cd6e9daadb617b67c4741c2\"\u003e\u003ccode\u003e9627a88\u003c/code\u003e\u003c/a\u003e perf: dual replace (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d5398b8bc19f3fad7b035ceb83023caf06d6e2da\"\u003e\u003ccode\u003ed5398b8\u003c/code\u003e\u003c/a\u003e fix: restore ._version as a compat shim (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3a7b600a126d237b2ad3cd7e25d2cb5c176276af\"\u003e\u003ccode\u003e3a7b600\u003c/code\u003e\u003c/a\u003e Bump for development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d4eefdccf992e963c48011875301d93df6a7f2cc\"\u003e\u003ccode\u003ed4eefdc\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/46189124fb43d8989d370902c80ab156eb83a45d\"\u003e\u003ccode\u003e4618912\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0rc3 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/0cf1b41b4b321ae08cad7d3e49cfaff5578fe813\"\u003e\u003ccode\u003e0cf1b41\u003c/code\u003e\u003c/a\u003e ci: test on first public release of CPythons (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/716beb1c0a5d7a398bf57fbd80bc2501811e616b\"\u003e\u003ccode\u003e716beb1\u003c/code\u003e\u003c/a\u003e perf:  10% faster stripping zeros (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/350a2306700b738f487f251efa278f532b263dee\"\u003e\u003ccode\u003e350a230\u003c/code\u003e\u003c/a\u003e fix: support CPython 3.11.0-3.11.4 and older PyPy3.11 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/25.0...26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.9 to 0.15.2\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.15.2\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with configuration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\r\n# ruff.toml\r\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub discussion\u003c/a\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Also check string annotations (\u003ccode\u003ePYI041\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19023\"\u003e#19023\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\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\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.15.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412\nrules, up from the stable default set of 59 rules. The new rules are mostly a\nsuperset of the stable defaults, with the exception of these rules, which are\nremoved from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with\nconfiguration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\n# ruff.toml\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub\ndiscussion\u003c/a\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/astral-sh/ruff/commit/9d18ee9115f9cbb4c21478baa7c1fa2b46e0759c\"\u003e\u003ccode\u003e9d18ee9\u003c/code\u003e\u003c/a\u003e Hard code workflow name and \u003ccode\u003ecancel-in-progress\u003c/code\u003e only for PRs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23431\"\u003e#23431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7cc15f024b931fe56365f40de3fab01219c092c4\"\u003e\u003ccode\u003e7cc15f0\u003c/code\u003e\u003c/a\u003e Bump 0.15.2 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23430\"\u003e#23430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d1b544393ae9cddd8e48ebee8dbfd54bda89f375\"\u003e\u003ccode\u003ed1b5443\u003c/code\u003e\u003c/a\u003e Add extension mapping to configuration file options (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23384\"\u003e#23384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/222574af90c5c0ca8f84c8385cf30c7c10ac2496\"\u003e\u003ccode\u003e222574a\u003c/code\u003e\u003c/a\u003e Expand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23385\"\u003e#23385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1465b5de3829549b45397e9587b83ab7ac6d26d0\"\u003e\u003ccode\u003e1465b5d\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Fix \u003ccode\u003ein_async_context\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23426\"\u003e#23426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/410902fa401afda969cc000f13be341896e6868e\"\u003e\u003ccode\u003e410902f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix handling of \u003ccode\u003etyping.{io,re}\u003c/code\u003e (\u003ccode\u003eUP035\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23131\"\u003e#23131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/729610acd9e19f57526e8ca40f355626154826bb\"\u003e\u003ccode\u003e729610a\u003c/code\u003e\u003c/a\u003e [ty] Fall back to ambiguous for large control flow graphs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23399\"\u003e#23399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1425c185b0a47be87112762f65b5bf7e323fb950\"\u003e\u003ccode\u003e1425c18\u003c/code\u003e\u003c/a\u003e [ty] Add code folding support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/97acaaea5f993f33d3f5bb27c5db760a2f3d1e8a\"\u003e\u003ccode\u003e97acaae\u003c/code\u003e\u003c/a\u003e [ty] Fix stack overflow for self-referential \u003ccode\u003eTypeOf\u003c/code\u003e in annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23407\"\u003e#23407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1f380c82584a6dab7e8715bc7dd5ae187da1e69a\"\u003e\u003ccode\u003e1f380c8\u003c/code\u003e\u003c/a\u003e [ty] Update tests \u003ccode\u003ereveal_type\u003c/code\u003e and \u003ccode\u003eNever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23418\"\u003e#23418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.9...0.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.3.0 to 1.4.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.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/940\"\u003e#940\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/921\"\u003e#921\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.4.0 (2026-01-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag\n(:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e\n(:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable\n(:pr:\u003ccode\u003e971\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1\n(:pr:\u003ccode\u003e960\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already\n(:pr:\u003ccode\u003e962\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review\n(:pr:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e\n(:pr:\u003ccode\u003e950\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy\n(:pr:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e\n(:pr:\u003ccode\u003e945\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name\n(PR :pr:\u003ccode\u003e970\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed\n(PR :pr:\u003ccode\u003e921\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/54f238d1664124e06a68c6c22fd5b1418fa5feb2\"\u003e\u003ccode\u003e54f238d\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f219276a6e2c6c8222780ba518ce52444a91deaa\"\u003e\u003ccode\u003ef219276\u003c/code\u003e\u003c/a\u003e docs: first argument for _has_dependency is a name (\u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7adb29e69d2744acc5391d3c58d234388a9ac0ed\"\u003e\u003ccode\u003e7adb29e\u003c/code\u003e\u003c/a\u003e fix: support UV environment variable (\u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/a40623b20de5d29c80b569283191d65e630f4fc0\"\u003e\u003ccode\u003ea40623b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/attest-build-provenance in the actions group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/c8fae3459dbe4456d82d705c6a3f1869b0b26e5c\"\u003e\u003ccode\u003ec8fae34\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/ed9c379f51abca7c0c0ae20bee66aa548d597dc3\"\u003e\u003ccode\u003eed9c379\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0e44fd22f35c7b3c14d6410bbd8912dafba0e4a9\"\u003e\u003ccode\u003e0e44fd2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003equiet\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/60e15ed4cb31209f0e07de750c831cdb3911c62c\"\u003e\u003ccode\u003e60e15ed\u003c/code\u003e\u003c/a\u003e chore: color defaults to True in 3.14 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0486d9df2e6caf7c04a3991824093eb6a16e7f29\"\u003e\u003ccode\u003e0486d9d\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/393b775480523247c1ad07b8da9bb8c23c5cd0fa\"\u003e\u003ccode\u003e393b775\u003c/code\u003e\u003c/a\u003e MNT: remove workaround for 3.14b1 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.3.0...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pypi-attestations` from 0.0.28 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/pypi/pypi-attestations/releases\"\u003epypi-attestations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.0.29\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix lint and remove support for Python 3.9 by \u003ca href=\"https://github.com/facutuesca\"\u003e\u003ccode\u003e@​facutuesca\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/pull/151\"\u003epypi/pypi-attestations#151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd GCP support to CLI by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/pull/157\"\u003epypi/pypi-attestations#157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypi/pypi-attestations/compare/v0.0.28...v0.0.29\"\u003ehttps://github.com/pypi/pypi-attestations/compare/v0.0.28...v0.0.29\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/pypi/pypi-attestations/blob/main/CHANGELOG.md\"\u003epypi-attestations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.0.29]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for verifying Google Cloud attestations has been added to the CLI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe minimum Python version required is now \u003ccode\u003e3.10\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/fb35ffdce810566fdf7aa22f1b517f60be0c727f\"\u003e\u003ccode\u003efb35ffd\u003c/code\u003e\u003c/a\u003e chore: prep for release v0.0.29 (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/158\"\u003e#158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/5afe2a125af6b2f8962dcf8326d2149f8dddc6f0\"\u003e\u003ccode\u003e5afe2a1\u003c/code\u003e\u003c/a\u003e Add GCP support to CLI (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/157\"\u003e#157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/0716b105c1c7b28a5bae1d8beca15a7f7e3c1a25\"\u003e\u003ccode\u003e0716b10\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python in the actions group (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/155\"\u003e#155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/34db665fba7f61aad1e4133cfff8b1a5b332cd60\"\u003e\u003ccode\u003e34db665\u003c/code\u003e\u003c/a\u003e build(deps): bump zizmorcore/zizmor-action in the actions group (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/154\"\u003e#154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/2a74c1e7f9882803692bea8924c9359ec8369933\"\u003e\u003ccode\u003e2a74c1e\u003c/code\u003e\u003c/a\u003e Remove unneeded permissions from zizmor workflow (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/d8d4ab106a76f107cd97b4ee041f1adfe1ff0cf6\"\u003e\u003ccode\u003ed8d4ab1\u003c/code\u003e\u003c/a\u003e Add zizmor to CI workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/26e8913b136b8166eac40ad9f9313a8affd656cf\"\u003e\u003ccode\u003e26e8913\u003c/code\u003e\u003c/a\u003e Update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/446816b7a16dc989da33b9f8dab989e640f8881a\"\u003e\u003ccode\u003e446816b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout in the actions group (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/149\"\u003e#149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/b8c452d338a6411e6d688f2498adbabf501680b3\"\u003e\u003ccode\u003eb8c452d\u003c/code\u003e\u003c/a\u003e Add cooldown to dependabot updates (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/150\"\u003e#150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypi/pypi-attestations/commit/2c8d48e78417f12869b89fcbad619f52f5656a4f\"\u003e\u003ccode\u003e2c8d48e\u003c/code\u003e\u003c/a\u003e Fix lint and remove support for Python 3.9 (\u003ca href=\"https://redirect.github.com/pypi/pypi-attestations/issues/151\"\u003e#151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypi/pypi-attestations/compare/v0.0.28...v0.0.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.1 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cython` from 3.2.2 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cython/cython/blob/master/CHANGES.rst\"\u003ecython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.2.4 (2026-01-04)\u003c/h1\u003e\n\u003ch2\u003eFeatures added\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIn preparation of Cython 3.3, a new decorator \u003ccode\u003e@collection_type(tname)\u003c/code\u003e can be used\nto advertise an extension type as being a \u003ccode\u003e'sequence'\u003c/code\u003e or \u003ccode\u003e'mapping'\u003c/code\u003e.  This currently\nonly has the effect of setting the \u003ccode\u003ePy_TPFLAGS_SEQUENCE\u003c/code\u003e flag on the type or not, but\nis provided for convenience to allow using the new decorator already in Cython 3.2 code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral C++ exception declarations were added to \u003ccode\u003elibcpp.exceptions\u003c/code\u003e.\n(Github issue :issue:\u003ccode\u003e7389\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePseudo-literal default values of function arguments like \u003ccode\u003earg=str()\u003c/code\u003e could generate\ninvalid C code when internally converted into a real literal.\n(Github issue :issue:\u003ccode\u003e6192\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe pickle serialisation of extension types using the \u003ccode\u003eauto_pickle\u003c/code\u003e feature was\nlarger than necessary since 3.2.0 for types without Python object attributes.\nIt is now back to the state before 3.2.0 again.\n(Github issue :issue:\u003ccode\u003e7443\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstants are now only made immortal on freethreading Python if they are not shared.\n(Github issue :issue:\u003ccode\u003e7439\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003ePyDict_SetDefaultRef()\u003c/code\u003e is now used when available to avoid temporary borrowed references.\n(Github issue :issue:\u003ccode\u003e7347\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIncludes all fixes as of Cython 3.1.8.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.3 (2025-12-14)\u003c/h1\u003e\n\u003ch2\u003eFeatures added\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe C-API declarations were updated to include the new \u003ccode\u003ePyList_*()\u003c/code\u003e functions.\n(Github issue :issue:\u003ccode\u003e7291\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ePy_mod_gil\u003c/code\u003e module setting can now be changed with a C macro, overriding\nthe \u003ccode\u003efreethreading_compatible\u003c/code\u003e directive setting.\n(Github issue :issue:\u003ccode\u003e7404\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugs fixed\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/cython/cython/commit/21bda420d583bcf464fb9efb932b09c5f3db1efd\"\u003e\u003ccode\u003e21bda42\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/ea5e926e930fb50bd0b2be69717cb906f67ef18b\"\u003e\u003ccode\u003eea5e926\u003c/code\u003e\u003c/a\u003e Define missing C++ exception classes (\u003ca href=\"https://redirect.github.com/cython/cython/issues/7389\"\u003e#7389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/c533d67f2a9109111c4057b598d8d04698cfee3f\"\u003e\u003ccode\u003ec533d67\u003c/code\u003e\u003c/a\u003e Add sequence return type annotations in Parsing.py (\u003ca href=\"https://redirect.github.com/cython/cython/issues/7416\"\u003eGH-7416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/d056a1808298ff6a569f950937b7ab3385b2f785\"\u003e\u003ccode\u003ed056a18\u003c/code\u003e\u003c/a\u003e Allow 'mapping' as \u003ca href=\"https://github.com/collection\"\u003e\u003ccode\u003e@​collection\u003c/code\u003e\u003c/a\u003e_type() in preparation of 3.3, but without actu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/d347c82898f4e90139b63510d984860762c01f1c\"\u003e\u003ccode\u003ed347c82\u003c/code\u003e\u003c/a\u003e Remove exclusion of collection_type in test (\u003ca href=\"https://redirect.github.com/cython/cython/issues/7442\"\u003e#7442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/fd6e8253df013645fb028ea956175957dcff8e8b\"\u003e\u003ccode\u003efd6e825\u003c/code\u003e\u003c/a\u003e Merge branch '3.1.x' into 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/ce5c6cb05bdb5560937648558508241c681369ca\"\u003e\u003ccode\u003ece5c6cb\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/74b97f92075d2721abce7dfb246f426b0ab401ae\"\u003e\u003ccode\u003e74b97f9\u003c/code\u003e\u003c/a\u003e Fix arg=str() default argument (\u003ca href=\"https://redirect.github.com/cython/cython/issues/6193\"\u003eGH-6193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/9c9e5c7d31525672ad5b8ee703c719a33d98a118\"\u003e\u003ccode\u003e9c9e5c7\u003c/code\u003e\u003c/a\u003e Avoid immortalizing anything shared on freethreading (\u003ca href=\"https://redirect.github.com/cython/cython/issues/7439\"\u003eGH-7439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cython/cython/commit/9d5507bf1cf713c314a9e37447463ad72ee9f8cd\"\u003e\u003ccode\u003e9d5507b\u003c/code\u003e\u003c/a\u003e Fix accidental inefficiency in auto-pickling that always stored the object st...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cython/cython/compare/3.2.2...3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` from 80.9.0 to 82.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools/blob/main/NEWS.rst\"\u003esetuptools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev82.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epkg_resources\u003c/code\u003e has been removed from Setuptools. Most common uses of \u003ccode\u003epkg_resources\u003c/code\u003e have been superseded by the \u003ccode\u003eimportlib.resources \u0026lt;https://docs.python.org/3/library/importlib.resources.html\u0026gt;\u003c/code\u003e_ and \u003ccode\u003eimportlib.metadata \u0026lt;https://docs.python.org/3/library/importlib.metadata.html\u0026gt;\u003c/code\u003e_ projects. Projects and environments relying on \u003ccode\u003epkg_resources\u003c/code\u003e for namespace packages or other behavior should depend on older versions of \u003ccode\u003esetuptools\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev81.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved support for the --dry-run parameter to setup.py. This one feature by its nature threads through lots of core and ancillary functionality, adding complexity and friction. Removal of this parameter will help decouple the compiler functionality from distutils and thus the eventual full integration of distutils. These changes do affect some class and function signatures, so any derivative functionality may require some compatibility shims to support their expected interface. Please report any issues to the Setuptools project for investigation. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev80.10.2\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate vendored dependencies. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5159\"\u003e#5159\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5115\"\u003e#5115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5128\"\u003e#5128\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev80.10.1\u003c/h1\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5152\"\u003e#5152\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev80.10.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove post-release tags on setuptools' own build. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4530\"\u003e#4530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefreshed vendored dependencies. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5139\"\u003e#5139\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/pypa/setuptools/commit/03f3615362c4eb19c770b71be5bd58e38f235528\"\u003e\u003ccode\u003e03f3615\u003c/code\u003e\u003c/a\u003e Bump version: 81.0.0 → 82.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/530d11498af526c4210d8eeaa1ed6c63f44a390f\"\u003e\u003ccode\u003e530d114\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5007\"\u003e#5007\u003c/a\u003e from pypa/feature/remove-more-pkg_resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/11efe9f552290bf536515d458aa85752a0606aa8\"\u003e\u003ccode\u003e11efe9f\u003c/code\u003e\u003c/a\u003e Merge branch 'maint/75.3'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/118f129dd0fb319058bd05f382c50188fd60a60e\"\u003e\u003ccode\u003e118f129\u003c/code\u003e\u003c/a\u003e Bump version: 75.3.3 → 75.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/90561ffde1220a590b7644745f48b5837b1a130d\"\u003e\u003ccode\u003e90561ff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5150\"\u003e#5150\u003c/a\u003e from UladzimirTrehubenka/backport_cve_47273\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/4595034db8aab4ea33035a47a068b04fd8aa00cc\"\u003e\u003ccode\u003e4595034\u003c/code\u003e\u003c/a\u003e Add news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/fc008006fc072af02eb7e0b601172c67eba395e3\"\u003e\u003ccode\u003efc00800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5171\"\u003e#5171\u003c/a\u003e from cclauss/ruff-v0.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/127e561362a2b4e560faabe9e979ed848106b62d\"\u003e\u003ccode\u003e127e561\u003c/code\u003e\u003c/a\u003e Remove tests reliant on pkg_resources, rather than xfailing them.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/64bc21e10b5d749b1b75fa334caedb67cc7414c4\"\u003e\u003ccode\u003e64bc21e\u003c/code\u003e\u003c/a\u003e Reference the superseding libraries.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/cf1ff459ea997b615a75d99304f6c9aa1fc94c06\"\u003e\u003ccode\u003ecf1ff45\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into debt/pbr-without-pkg_resources\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools/compare/v80.9.0...v82.0.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.44.0 to 0.54.0\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.54.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eStatus: BETA\u003c/strong\u003e\u003cbr /\u003e\n\u003cem\u003e\u003cstrong\u003eRelease date:\u003c/strong\u003e February 23, 2026\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003ePyrefly 0.54.0 bundles \u003cstrong\u003e93 commits\u003c/strong\u003e from \u003cstrong\u003e18 contributors\u003c/strong\u003e.\u003c/p\u003e\n\u003ch2\u003e✨ New \u0026amp; Improved\u003c/h2\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 checker\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Pyrefly now supports using \u003ccode\u003etype(X)\u003c/code\u003e in base class lists, enabling compatibility with codebases that use metaclass expressions (e.g. those wrapping C extensions) \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Added static evaluation support for more patterns of \u003ccode\u003esys.platform\u003c/code\u003e and \u003ccode\u003esys.version_info\u003c/code\u003e checks\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\"\u003e- Autoimport and quickfix now surface explicit re-export paths, improving import suggestions for users working with re-exported symbols. \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Diagnostics can now be controlled independently for each workspace folder in multi-root setups, allowing users to customize diagnostics per project \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Enhanced  \u0026quot;Generate code\u0026quot; quick fix actions in Pyrefly's LSP, which will now infer parameter types and annotations from call-site arguments \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Code completion and signature help now shows keyword argument and literal completions from all compatible overloads, not just the closest match\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e🐛 bug fixes\u003c/h2\u003e\n\u003cp\u003eWe closed 7 bug issues this release 👏\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2273\"\u003e#2273\u003c/a\u003e - Adjusted overload-to-Callable subtyping so single-parameter overloads can satisfy a union-parameter Callable, fixing assignment errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2398\"\u003e#2398\u003c/a\u003e - When matching a value against a union containing both bare TypeVars and wrapped TypeVars, Pyrefly now tries wrapped vars first, producing better TypeVar solutions and satisfying bounds\u003c/li\u003e\n\u003cli\u003eAnd more! \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2398\"\u003e#2398\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/949\"\u003e#949\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2421\"\u003e#2421\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2457\"\u003e#2457\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1122\"\u003e#1122\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2434\"\u003e#2434\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/787\"\u003e#787\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\u003ch2\u003e📦 Upgrade\u003c/h2\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003epip install --upgrade pyrefly==0.54.0\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eHow to safely upgrade your codebase\u003c/h3\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 ...\n\n_Description has been truncated_","html_url":"https://github.com/chrisjsewell/sphinx/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisjsewell%2Fsphinx/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"}},{"old_version":"0.14.14","new_version":"0.15.0","update_type":"minor","path":null,"pr_created_at":"2026-02-14T09:04:09.000Z","version_change":"0.14.14 → 0.15.0","issue":{"uuid":"3940867736","node_id":"PR_kwDOOfzwc87Dv-sb","number":5,"state":"open","title":"deps(python): bump the python-dependencies group with 6 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":"2026-02-14T09:04:09.000Z","updated_at":"2026-02-14T09:04:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(python): bump","group_name":"python-dependencies","update_count":6,"packages":[{"name":"markdown","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"openai","old_version":"2.16.0","new_version":"2.17.0","repository_url":"https://github.com/openai/openai-python"},{"name":"tenacity","old_version":"9.1.3","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"pyrefly","old_version":"0.50.1","new_version":"0.51.1","repository_url":"https://github.com/facebook/pyrefly"},{"name":"ruff","old_version":"0.14.14","new_version":"0.15.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"types-markdown","old_version":"3.10.0.20251106","new_version":"3.10.2.20260211","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"conda"},"body":"Bumps the python-dependencies group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.10.1` | `3.10.2` |\n| [openai](https://github.com/openai/openai-python) | `2.16.0` | `2.17.0` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.3` | `9.1.4` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.50.1` | `0.51.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.14` | `0.15.0` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.10.0.20251106` | `3.10.2.20260211` |\n\nUpdates `markdown` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\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/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.10.2] - 2026-02-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\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-Markdown/markdown/commit/e7a0efb3a7c36d6b8005403122705662bc17c904\"\u003e\u003ccode\u003ee7a0efb\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/630183336bda57c258becc3ed229105481876a7e\"\u003e\u003ccode\u003e6301833\u003c/code\u003e\u003c/a\u003e Document HTML sanitation policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/7f29f1a69d236f5bb11645c2fa03fcf701487c8c\"\u003e\u003ccode\u003e7f29f1a\u003c/code\u003e\u003c/a\u003e More reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c4386475a6b6daea43b7d7717add4271adc9a3c1\"\u003e\u003ccode\u003ec438647\u003c/code\u003e\u003c/a\u003e Fix regression of special comments\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.10.1...3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.16.0 to 2.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.17.0\u003c/h2\u003e\n\u003ch2\u003e2.17.0 (2026-02-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.16.0...v2.17.0\"\u003ev2.16.0...v2.17.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add shell_call_output status field (\u003ca href=\"https://github.com/openai/openai-python/commit/1bbaf8865000b338c24c9fdd5e985183feaca10f\"\u003e1bbaf88\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e image generation actions for responses; ResponseFunctionCallArgumentsDoneEvent.name (\u003ca href=\"https://github.com/openai/openai-python/commit/7d965135f93f41b0c3dbf3dc9f01796bd9645b6c\"\u003e7d96513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add custom JSON encoder for extended type support (\u003ca href=\"https://github.com/openai/openai-python/commit/9f43c8b1a1641db2336cc6d0ec0c6dc470a89103\"\u003e9f43c8b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e undo change to web search Find action (\u003ca href=\"https://github.com/openai/openai-python/commit/8f14eb0a74363fdfc648c5cd5c6d34a85b938d3c\"\u003e8f14eb0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e update type for \u003ccode\u003efind_in_page\u003c/code\u003e action (\u003ca href=\"https://github.com/openai/openai-python/commit/ec54ddeb357e49edd81cc3fe53d549c297e59a07\"\u003eec54dde\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/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.17.0 (2026-02-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.16.0...v2.17.0\"\u003ev2.16.0...v2.17.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add shell_call_output status field (\u003ca href=\"https://github.com/openai/openai-python/commit/1bbaf8865000b338c24c9fdd5e985183feaca10f\"\u003e1bbaf88\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e image generation actions for responses; ResponseFunctionCallArgumentsDoneEvent.name (\u003ca href=\"https://github.com/openai/openai-python/commit/7d965135f93f41b0c3dbf3dc9f01796bd9645b6c\"\u003e7d96513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add custom JSON encoder for extended type support (\u003ca href=\"https://github.com/openai/openai-python/commit/9f43c8b1a1641db2336cc6d0ec0c6dc470a89103\"\u003e9f43c8b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e undo change to web search Find action (\u003ca href=\"https://github.com/openai/openai-python/commit/8f14eb0a74363fdfc648c5cd5c6d34a85b938d3c\"\u003e8f14eb0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e update type for \u003ccode\u003efind_in_page\u003c/code\u003e action (\u003ca href=\"https://github.com/openai/openai-python/commit/ec54ddeb357e49edd81cc3fe53d549c297e59a07\"\u003eec54dde\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/openai/openai-python/commit/e8888736c86bb1d5a27100867da22b11ab5bb1b7\"\u003e\u003ccode\u003ee888873\u003c/code\u003e\u003c/a\u003e release: 2.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/b982088450a89409ae0eedc1f27f84f383b447af\"\u003e\u003ccode\u003eb982088\u003c/code\u003e\u003c/a\u003e fix(client): undo change to web search Find action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/b95c09d3f1b760378ee4137b83a8e9b87156bedd\"\u003e\u003ccode\u003eb95c09d\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/31b4218b71025c9183eb8320629af5de74682adc\"\u003e\u003ccode\u003e31b4218\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a1fb97bb3580d58a4534a3b4278b5cd4a43ddbc6\"\u003e\u003ccode\u003ea1fb97b\u003c/code\u003e\u003c/a\u003e fix(client): update type for \u003ccode\u003efind_in_page\u003c/code\u003e action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/42cb178759bd2bac2274f4c7afd3c550e6cf9aa2\"\u003e\u003ccode\u003e42cb178\u003c/code\u003e\u003c/a\u003e feat(api): image generation actions for responses; ResponseFunctionCallArgume...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db4d87193089f60d8a2c2841ded3c7fdcd54a5bb\"\u003e\u003ccode\u003edb4d871\u003c/code\u003e\u003c/a\u003e feat(client): add custom JSON encoder for extended type support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2360dfa7fd26a8f92211702c04752a10fe5fff27\"\u003e\u003ccode\u003e2360dfa\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/7da396e2601ea1587c8798a9c60d9d3497146380\"\u003e\u003ccode\u003e7da396e\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/27feb0a1b4fc821a47dd6898c5ab8cd2ac3238f4\"\u003e\u003ccode\u003e27feb0a\u003c/code\u003e\u003c/a\u003e feat(api): add shell_call_output status field\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.16.0...v2.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tenacity` from 9.1.3 to 9.1.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jd/tenacity/releases\"\u003etenacity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/555\"\u003ejd/tenacity#555\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.3...9.1.4\"\u003ehttps://github.com/jd/tenacity/compare/9.1.3...9.1.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/d4e868d6b8368c00b5a1fad54de36c2c8c3a0fb3\"\u003e\u003ccode\u003ed4e868d\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.3...9.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyrefly` from 0.50.1 to 0.51.1\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.51.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eStatus : BETA\u003c/strong\u003e\u003cbr /\u003e\n\u003cem\u003eRelease date: 02 February 2026\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003ePyrefly v0.51.0 bundles \u003cstrong\u003e162 commits\u003c/strong\u003e from \u003cstrong\u003e25 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- Fixes for incorrect type narrowing in boolean operations with generic functions \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e - Intersection logic fixed to identify empty intersections (\u003ccode\u003eNever\u003c/code\u003e) for \u003ccode\u003efinal\u003c/code\u003e classes and populated \u003ccode\u003eEnums\u003c/code\u003e, as they cannot be subclassed.  \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Added support \u003ccode\u003eGenericAlias\u003c/code\u003e type, including special attributes like \u003ccode\u003e__origin__\u003c/code\u003e, \u003ccode\u003e__args__\u003c/code\u003e, and support for the pipe operator \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Added support for checking that class-scoped type variables are not used in \u003ccode\u003eself\u003c/code\u003e annotations in \u003ccode\u003e__init__\u003c/code\u003e methods, per typing spec\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\"\u003e- During module resolution, \u0026quot;phantom paths\u0026quot; (non-existent paths checked during import) are now tracked, improving watch mode and import re-resolution \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- List addition (\u003ccode\u003e+\u003c/code\u003e) now propagates type hints to both operands, making assignments like \u003ccode\u003el2: list[Base] = [A()] + [B()]\u003c/code\u003e work as expected\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eError Handling\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Added configuration to debug and/or bypass deep recursion, which is useful for diagnosing stack overflow issues in large or generated codebases \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Multiple error messages have been shortened, clarified, or made more precise for better user experience (e.g., TypedDict, protocol variables, unpacking errors, pydantic, descriptor defaults).\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003ePerformance Improvements\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Faster suggested standard library imports (did you mean...?) \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Reduced memory usage for type aliases of unions \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Further improvements to tracking for fine-grained dependencies, improving IDE performance during incremental rechecks and accuracy of features like auto-imports\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 21 bug issues this release 👏\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2269\"\u003e#2269\u003c/a\u003e - Attribute lookups on classes inheriting from \u003ccode\u003eAny\u003c/code\u003e now fall back to \u003ccode\u003eAny\u003c/code\u003e instead of reporting \u003ccode\u003emissing-attribute\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2250\"\u003e#2250\u003c/a\u003e - \u003ccode\u003eSelf\u003c/code\u003e is now properly bound in class body expressions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2236\"\u003e#2236\u003c/a\u003e - fixed issue where \u003ccode\u003e--removed-unused-ignores\u003c/code\u003e incorrectly removed ignores from other type checkers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2196\"\u003e#2196\u003c/a\u003e - Tuple length checks with \u003ccode\u003eisinstance\u003c/code\u003e now work correctly with unpacked tuples and type variables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2118\"\u003e#2118\u003c/a\u003e - Legacy \u003ccode\u003eTypeVars\u003c/code\u003e are now correctly inferred in \u003ccode\u003eCallable\u003c/code\u003e annotations without assignment\u003c/li\u003e\n\u003cli\u003eAnd more! \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/990\"\u003e#990\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/842\"\u003e#842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/496\"\u003e#496\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2036\"\u003e#2036\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1917\"\u003e#1917\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1807\"\u003e#1807\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1714\"\u003e#1714\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1680\"\u003e#1680\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2169\"\u003e#2169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2141\"\u003e#2141\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2211\"\u003e#2211\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2208\"\u003e#2208\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2246\"\u003e#2246\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2267\"\u003e#2267\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2256\"\u003e#2256\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2274\"\u003e#2274\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.51.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 \u003ccode\u003e# pyrefly: ignore\u003c/code\u003e 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/26570f77538682b072199689489d22b4c27b1463\"\u003e\u003ccode\u003e26570f7\u003c/code\u003e\u003c/a\u003e Kick of PyPi release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/580ad3060dd85d7547b25f01b5778d967da7011c\"\u003e\u003ccode\u003e580ad30\u003c/code\u003e\u003c/a\u003e convert to explicit imports test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/09540936418e85b7d057739ddc4021a434627176\"\u003e\u003ccode\u003e0954093\u003c/code\u003e\u003c/a\u003e Add more TypeHeap factory methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/fa5d3b5d46c67c8c213f6939fa8d38bd0acfd1e2\"\u003e\u003ccode\u003efa5d3b5\u003c/code\u003e\u003c/a\u003e Migrate subset.rs type construction to TypeHeap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/040cba89ca3df81f56c5b65dc50ac17ff21a87e4\"\u003e\u003ccode\u003e040cba8\u003c/code\u003e\u003c/a\u003e Migrate solver.rs type construction to TypeHeap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/da6c65637c7337024e2fed67786f5779665769a2\"\u003e\u003ccode\u003eda6c656\u003c/code\u003e\u003c/a\u003e Add additional TypeHeap factory methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/219d9c80910590e88c9438dfcefb6e51e7d85636\"\u003e\u003ccode\u003e219d9c8\u003c/code\u003e\u003c/a\u003e Migrate LSP hover tests to use TypeHeap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/83adb62ec6e0d67aa0d01c19d8c29cca62e9f5f7\"\u003e\u003ccode\u003e83adb62\u003c/code\u003e\u003c/a\u003e Thread TypeHeap through standalone helper functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/2eabcb195e7e7abfcfc3533d270e3cad9e3c8a14\"\u003e\u003ccode\u003e2eabcb1\u003c/code\u003e\u003c/a\u003e Migrate remaining alt/*.rs type construction to TypeHeap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/59dfcd927fd2fe369d078749794b44142f007689\"\u003e\u003ccode\u003e59dfcd9\u003c/code\u003e\u003c/a\u003e Migrate alt/class type construction to TypeHeap\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.50.1...0.51.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.14.14 to 0.15.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.15.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.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\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\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/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB171\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/missing-maxsplit-arg\"\u003e\u003ccode\u003emissing-maxsplit-arg\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLC0207\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-lambda\"\u003e\u003ccode\u003eunnecessary-lambda\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLW0108\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-empty-iterable-within-deque-call\"\u003e\u003ccode\u003eunnecessary-empty-iterable-within-deque-call\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF037\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/in-empty-collection\"\u003e\u003ccode\u003ein-empty-collection\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF060\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/legacy-form-pytest-raises\"\u003e\u003ccode\u003elegacy-form-pytest-raises\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF061\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-octal-permissions\"\u003e\u003ccode\u003enon-octal-permissions\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF064\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\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.15.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.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\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\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/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB171\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/astral-sh/ruff/commit/ce5f7b6127a5d684e96fd0f8e387f73c41c7a1b0\"\u003e\u003ccode\u003ece5f7b6\u003c/code\u003e\u003c/a\u003e Bump 0.15.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23055\"\u003e#23055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b4e40f539cdbafac8afd6e510994ca64c3b317b9\"\u003e\u003ccode\u003eb4e40f5\u003c/code\u003e\u003c/a\u003e [ty] Fix \u003ccode\u003e__contains__\u003c/code\u003e to respect descriptors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23056\"\u003e#23056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/848cb72dc14b4c9409bf08e8323b4119d6b90005\"\u003e\u003ccode\u003e848cb72\u003c/code\u003e\u003c/a\u003e [ty] Fix narrowing of nonlocal variables with conditional assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22966\"\u003e#22966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/da7f33af22c7da3f3cb9321f776dda4131dda3cb\"\u003e\u003ccode\u003eda7f33a\u003c/code\u003e\u003c/a\u003e [ty] Add a diagnostic for \u003ccode\u003eFinal\u003c/code\u003e without assignment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23001\"\u003e#23001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e65f9a6b039fa411e5609a7bda9bb7ffd11e9b1a\"\u003e\u003ccode\u003ee65f9a6\u003c/code\u003e\u003c/a\u003e Document markdown formatting feature (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22990\"\u003e#22990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c0c1b985c9ec4b3570b0a28af69ad6776a3ec401\"\u003e\u003ccode\u003ec0c1b98\u003c/code\u003e\u003c/a\u003e Format markdown code blocks with line-by-line regex parse (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22996\"\u003e#22996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9f8f3e196bd6d4f2c572075536dd38b769c48087\"\u003e\u003ccode\u003e9f8f3e1\u003c/code\u003e\u003c/a\u003e Allow positional-only params with defaults in method overrides (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23037\"\u003e#23037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ef83810e118e3e41aa6c63f87f8a8147363a3e56\"\u003e\u003ccode\u003eef83810\u003c/code\u003e\u003c/a\u003e [ty] ecosystem-analyzer: Support bare git repositories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23054\"\u003e#23054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54dfee4cb800c0b0890b2b2c74c64cc45584194c\"\u003e\u003ccode\u003e54dfee4\u003c/code\u003e\u003c/a\u003e Customize where the \u003ccode\u003efix_title\u003c/code\u003e sub-diagnostic appears (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23044\"\u003e#23044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b53460799b592e5276e1d148d8a48469f396032e\"\u003e\u003ccode\u003eb534607\u003c/code\u003e\u003c/a\u003e 2026 Ruff Formatter Style (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22735\"\u003e#22735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.14...0.15.0\"\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.10.0.20251106 to 3.10.2.20260211\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typeshed-internal/stub_uploader/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/eikendev/minigist/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikendev%2Fminigist/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"0.14.11","new_version":"0.15.0","update_type":"minor","path":null,"pr_created_at":"2026-02-04T16:55:10.000Z","version_change":"0.14.11 → 0.15.0","issue":{"uuid":"3897484153","node_id":"PR_kwDONoDP3s7Bg7dz","number":207,"state":"closed","title":"chore(deps-py): bump the minor group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-02-04T17:00:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-04T16:55:10.000Z","updated_at":"2026-02-04T17:00:31.000Z","time_to_close":319,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-py): bump","group_name":"minor","update_count":6,"packages":[{"name":"llvmlite","old_version":"0.44.0","new_version":"0.45.1","repository_url":"https://github.com/numba/llvmlite"},{"name":"hugr","old_version":"0.14.4","new_version":"0.15.1","repository_url":"https://github.com/quantinuum/hugr"},{"name":"maturin","old_version":"1.10.2","new_version":"1.11.5","repository_url":"https://github.com/pyo3/maturin"},{"name":"ruff","old_version":"0.14.11","new_version":"0.15.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"qnexus","old_version":"0.37.1","new_version":"0.39.0","repository_url":"https://github.com/CQCL/qnexus"}],"path":null,"ecosystem":"conda"},"body":"Bumps the minor group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.44.0` | `0.45.1` |\n| [hugr](https://github.com/quantinuum/hugr) | `0.14.4` | `0.15.1` |\n| [maturin](https://github.com/pyo3/maturin) | `1.10.2` | `1.11.5` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.11` | `0.15.0` |\n| [qnexus](https://github.com/CQCL/qnexus) | `0.37.1` | `0.39.0` |\n\n\nUpdates `llvmlite` from 0.44.0 to 0.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numba/llvmlite/releases\"\u003ellvmlite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.45.1\u003c/h2\u003e\n\u003cp\u003eFor detailed release notes, see: \u003ca href=\"https://llvmlite.readthedocs.io/en/v0.45.1\"\u003ehttps://llvmlite.readthedocs.io/en/v0.45.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.45.0\u003c/h2\u003e\n\u003cp\u003eFor detailed release notes, see: \u003ca href=\"https://llvmlite.readthedocs.io/en/v0.45.0\"\u003ehttps://llvmlite.readthedocs.io/en/v0.45.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/acabcfb1f0d3968249290d8e93a382edcac02b7c\"\u003e\u003ccode\u003eacabcfb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1310\"\u003e#1310\u003c/a\u003e from esc/change-log-0.45.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/5c3efb5ed6bf6ca2123d6ed3e5b79ee6c6affcea\"\u003e\u003ccode\u003e5c3efb5\u003c/code\u003e\u003c/a\u003e change-log 0.45.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/f8f797ddc8b10eb7a24a3004b7c205047e87826c\"\u003e\u003ccode\u003ef8f797d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1307\"\u003e#1307\u003c/a\u003e from swap357/gha/win-64_add_dvelvewheel_repair\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/1ad5508273cdb83a8ca0dbe901d4354e2bb869d4\"\u003e\u003ccode\u003e1ad5508\u003c/code\u003e\u003c/a\u003e update llvmlite check_linkage test for bundled msvcp140.dll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/0406343da559ccdd0e52230dae746f0c2dfc1693\"\u003e\u003ccode\u003e0406343\u003c/code\u003e\u003c/a\u003e update validate_win-64_wheel.py for bundled msvcp140.dll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/0630c4173a14e0be1eb38070c429cce8f036dda0\"\u003e\u003ccode\u003e0630c41\u003c/code\u003e\u003c/a\u003e add delvewheel for wheel repair on win-64 wheel builder workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/2d479c9ce4259c94f388ead34f428a71be246ace\"\u003e\u003ccode\u003e2d479c9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1287\"\u003e#1287\u003c/a\u003e from esc/release0.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/5b1a63e2282bb05c40765be06d961475ea337aac\"\u003e\u003ccode\u003e5b1a63e\u003c/code\u003e\u003c/a\u003e update change-log, version and release date for 0.45.0 FINAL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/17c5a9843be998933125abf0948ecc1d71a31e21\"\u003e\u003ccode\u003e17c5a98\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numba/llvmlite/issues/1289\"\u003e#1289\u003c/a\u003e from esc/gha/use_explicit_channel_pin_llvmdev_for_wheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numba/llvmlite/commit/99228055c6ac1d431b515396ba0eddce30a4d2b3\"\u003e\u003ccode\u003e9922805\u003c/code\u003e\u003c/a\u003e fixup linux Azure too\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numba/llvmlite/compare/v0.44.0...v0.45.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hugr` from 0.14.4 to 0.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/quantinuum/hugr/releases\"\u003ehugr's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ehugr-py: v0.15.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/compare/hugr-py-v0.15.0...hugr-py-v0.15.1\"\u003e0.15.1\u003c/a\u003e (2026-01-28)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd used_extensions method to Hugr (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2817\"\u003e#2817\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/0d88a430bdb8a6af9c7ec7c45ef6c853a7c79041\"\u003e0d88a43\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2614\"\u003e#2614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo resolution while computing used_extensions (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2834\"\u003e#2834\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/7aff29e2f53bbb0c7c63f962ae48fd27fa365644\"\u003e7aff29e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epy:\u003c/strong\u003e add qualified_name method to TypeDef (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2804\"\u003e#2804\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/b2231b377d2c655d14b7528640a66c9fe02a2c1e\"\u003eb2231b3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2426\"\u003e#2426\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd register_updated function for registry for self-referential ops (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2830\"\u003e#2830\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/afba54fda2d348161baf792f1cba2128369be09d\"\u003eafba54f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2829\"\u003e#2829\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ehugr-py: v0.15.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/compare/hugr-py-v0.14.2...hugr-py-v0.15.0\"\u003e0.15.0\u003c/a\u003e (2026-01-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eValueArray is gone, as is LinearizeArrayPass\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehugr-py:\u003c/strong\u003e Removes \u003ccode\u003eextensions\u003c/code\u003e field of \u003ccode\u003eval.Extension\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecollated_digitstring_counts\u003c/code\u003e to extend bitstring collation to digits (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2788\"\u003e#2788\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/191c4736b5fbe869f8d797703bbf1c29f33b3a92\"\u003e191c473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehugr-py:\u003c/strong\u003e Remove \u003ccode\u003eextensions\u003c/code\u003e field of \u003ccode\u003eval.Extension\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2686\"\u003e#2686\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/911c08921b9057f3854dd4431e4a7854b8b6991e\"\u003e911c089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eComposablePass.__call__\u003c/code\u003e return a Hugr (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2697\"\u003e#2697\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/dbf8c8e6fe72febd709921c10283fddc1f257983\"\u003edbf8c8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResult type for ComposablePasses (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2703\"\u003e#2703\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/b8df28e5b89eb3130d12e5cf429d642be3514e63\"\u003eb8df28e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehugr-py:\u003c/strong\u003e solved graph rendering with \u003ccode\u003eConst\u003c/code\u003e nodes after applying\u003ccode\u003eNormalizeGuppy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2744\"\u003e#2744\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/d99669009b5d98a0e99201f7bfa8621481741d54\"\u003ed996690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eset hugr field of \u003ccode\u003ePassResult\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2715\"\u003e#2715\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/d8607227ce6e2f79a5bf339100f303c750c7fdab\"\u003ed860722\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDelete ValueArray (\u003ca href=\"https://redirect.github.com/Quantinuum/hugr/issues/2760\"\u003e#2760\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/hugr/commit/b3cdc4efd2fdb4632628a641eb84f86e14f5119a\"\u003eb3cdc4e\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/Quantinuum/hugr/commit/c90545ddc5b88b0f59f70acad53f4c4d7dcf65eb\"\u003e\u003ccode\u003ec90545d\u003c/code\u003e\u003c/a\u003e chore: release (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2002\"\u003e#2002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/33a2b49d2d343265415dab3c52631845b5cd53ce\"\u003e\u003ccode\u003e33a2b49\u003c/code\u003e\u003c/a\u003e revert!: Revert breaking change to \u003ccode\u003eStaticArrayValue\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2013\"\u003e#2013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/f3dd145963ce23152f29d2d46be7eaa9a78ef2c5\"\u003e\u003ccode\u003ef3dd145\u003c/code\u003e\u003c/a\u003e feat: Add llvm codegen for collections.static_array (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2003\"\u003e#2003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/3fe6bf82ad3ebed5689e3304e7df88f43b9128b1\"\u003e\u003ccode\u003e3fe6bf8\u003c/code\u003e\u003c/a\u003e fix: StaticArrayValue serialisation (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2009\"\u003e#2009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/6bd76659d1f3f3b100cef46f0d5f7ceec79699a9\"\u003e\u003ccode\u003e6bd7665\u003c/code\u003e\u003c/a\u003e feat: add exit operation to prelude (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2008\"\u003e#2008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/907accaaac2937cb8ab2427744ea035444a043da\"\u003e\u003ccode\u003e907acca\u003c/code\u003e\u003c/a\u003e feat(hugr-cli): Nicer error when passing a non-envelope file (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2007\"\u003e#2007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/a5e1881c0d8d1f3556223553ff180dc7097da54b\"\u003e\u003ccode\u003ea5e1881\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eCallIndirect\u003c/code\u003e tag from \u003ccode\u003eFnCall\u003c/code\u003e to \u003ccode\u003eDataflowChild\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/2006\"\u003e#2006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/6ed4ecfd5f1122bb8971aa52ea11952e346a2e65\"\u003e\u003ccode\u003e6ed4ecf\u003c/code\u003e\u003c/a\u003e feat: traits for transforming Types/TypeArgs/etc. (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/1991\"\u003e#1991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/f433b39c23c876ceb2e03ff36ce76ff17bd900db\"\u003e\u003ccode\u003ef433b39\u003c/code\u003e\u003c/a\u003e fix: Remove return from val_or_panic (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/1999\"\u003e#1999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/hugr/commit/5115bd5297768bd809ba00464baf91b1489f6659\"\u003e\u003ccode\u003e5115bd5\u003c/code\u003e\u003c/a\u003e chore: Drop Serialization section from DEVELOPMENT.md (\u003ca href=\"https://redirect.github.com/quantinuum/hugr/issues/1997\"\u003e#1997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quantinuum/hugr/compare/hugr-v0.14.4...hugr-v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `guppylang` from 0.21.6 to 0.21.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/quantinuum/guppylang/releases\"\u003eguppylang's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eguppylang: v0.21.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/compare/guppylang-v0.21.7...guppylang-v0.21.8\"\u003e0.21.8\u003c/a\u003e (2026-01-09)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd qubit hints on Guppy functions, allowing elision when building emulators (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1378\"\u003e#1378\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/b7f10c6798aa20841fae844084d8a1606661fd7b\"\u003eb7f10c6\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1297\"\u003e#1297\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd unsafe array take and put operations (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1165\"\u003e#1165\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/7f342e788e2f179382bab46dcc7e69a24dd64de3\"\u003e7f342e7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to guppylang-internals 0.27 (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1430\"\u003e#1430\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/be02891955ac07819144e1e27374c3324d521536\"\u003ebe02891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to hugr v0.15, includes collated_digitstring_counts to extend bitstring collation to digits (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/2788\"\u003e#2788\u003c/a\u003e) (191c473)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression in \u003ccode\u003eresult\u003c/code\u003e calls (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1426\"\u003e#1426\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/9be6fefcdfb9fc9eb1025774d2dd2727b3e719b1\"\u003e9be6fef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert symbolic pytket circuits angle inputs into rotations (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1425\"\u003e#1425\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/4724d9039d8dffae8fd939f62ae80ec307d8918a\"\u003e4724d90\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hugr generation for tuples in \u003ccode\u003eResult\u003c/code\u003e and \u003ccode\u003eEither\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1395\"\u003e#1395\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/f8b0d47eb275aae3f5ba804dfeb3640c4a3baef6\"\u003ef8b0d47\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1388\"\u003e#1388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove diagnostics rendering (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1382\"\u003e#1382\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/e7ce7f6d1a4f2b12ff680a6e54dae96637c5fa92\"\u003ee7ce7f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove diagnostics rendering for wasm (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1399\"\u003e#1399\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/660417542f2b36c387e73765f8647c11cd3d1a7b\"\u003e6604175\u003c/a\u003e), (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1398\"\u003e#1398\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/a6a539fe07cc94f4a788fef506969e4c9027faee\"\u003ea6a539f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport comptime expressions in generic argument applications (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1409\"\u003e#1409\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/c1aad346adb15e3636e5586987422d74e36189a1\"\u003ec1aad34\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1087\"\u003e#1087\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eguppylang: v0.21.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/compare/guppylang-v0.21.6...guppylang-v0.21.7\"\u003e0.21.7\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUnitarity annotations for functions (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1292\"\u003e#1292\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/54dc200de881d065d3ee92bdc9a8ca076990d412\"\u003e54dc200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix rendering of \u003ccode\u003ecompile_entrypoint\u003c/code\u003e diagnostics (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1343\"\u003e#1343\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/fcd2131d58ad9c0bd9fba868f7581012d8f83916\"\u003efcd2131\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1340\"\u003e#1340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eguppylang:\u003c/strong\u003e upgrade to internals 0.26 (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1381\"\u003e#1381\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/85758904d1cb61556c456362817003e7210910a1\"\u003e8575890\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ccode\u003eresult\u003c/code\u003e using overloads instead of a custom node (\u003ca href=\"https://redirect.github.com/Quantinuum/guppylang/issues/1361\"\u003e#1361\u003c/a\u003e) (\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/1da2c5dbb82bf6da35949b505a69f4e2f51acd3b\"\u003e1da2c5d\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/Quantinuum/guppylang/commit/f55d2ae8d599705623f8d8102fabddf4a6dca56f\"\u003e\u003ccode\u003ef55d2ae\u003c/code\u003e\u003c/a\u003e chore: release guppylang 0.21.8 (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1389\"\u003e#1389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/be02891955ac07819144e1e27374c3324d521536\"\u003e\u003ccode\u003ebe02891\u003c/code\u003e\u003c/a\u003e feat: update to guppylang-internals 0.27 (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/83cc0077afb1990f16c418475f22854c449e9d26\"\u003e\u003ccode\u003e83cc007\u003c/code\u003e\u003c/a\u003e chore: add \u003ca href=\"https://github.com/croyzor\"\u003e\u003ccode\u003e@​croyzor\u003c/code\u003e\u003c/a\u003e to release approvers (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/b630484182ab6738bbe20a29270491acbf5f94b5\"\u003e\u003ccode\u003eb630484\u003c/code\u003e\u003c/a\u003e chore: release guppylang-internals 0.27.0 (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1390\"\u003e#1390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/9be6fefcdfb9fc9eb1025774d2dd2727b3e719b1\"\u003e\u003ccode\u003e9be6fef\u003c/code\u003e\u003c/a\u003e fix: added deepcopy in \u003ccode\u003eOverloadedFunctionDef.{check_call,synthesize_call}\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/4724d9039d8dffae8fd939f62ae80ec307d8918a\"\u003e\u003ccode\u003e4724d90\u003c/code\u003e\u003c/a\u003e fix: Convert symbolic pytket circuits angle inputs into rotations (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/cf970ba7403a126fbd5d2fd53445e65270581df4\"\u003e\u003ccode\u003ecf970ba\u003c/code\u003e\u003c/a\u003e feat(internals): update to hugr-py 0.15 (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/8f0a15100e54bb5c38ad9cc41b65fc553d715b63\"\u003e\u003ccode\u003e8f0a151\u003c/code\u003e\u003c/a\u003e test: Add test that made hugr-0.25.0 fail (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1411\"\u003e#1411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/93fec70acee4abae9a59e9adce2afbd5c5a50510\"\u003e\u003ccode\u003e93fec70\u003c/code\u003e\u003c/a\u003e refactor: updated deprecated imports in the project. (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1416\"\u003e#1416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/guppylang/commit/4a167e5642cedc8f47ad027ed08483caa1558830\"\u003e\u003ccode\u003e4a167e5\u003c/code\u003e\u003c/a\u003e fix: Stop parsing entrypoints twice (\u003ca href=\"https://redirect.github.com/quantinuum/guppylang/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quantinuum/guppylang/compare/guppylang-v0.21.6...guppylang-v0.21.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `maturin` from 1.10.2 to 1.11.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyo3/maturin/releases\"\u003ematurin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.5\u003c/h2\u003e\n\u003ch2\u003e1.11.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow combining \u003ccode\u003e--compatibility pypi\u003c/code\u003e with other \u003ccode\u003e--compatibility\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2928\"\u003e#2928\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.11.4\u003c/h2\u003e\n\u003ch2\u003e1.11.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport armv6l and armv7l in pypi compatibility (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the reliability of maturin's own CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.11.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eImportant\u003c/strong\u003e \u003ccode\u003ematurin upload\u003c/code\u003e is deprecated and will be removed in maturin 2.0 (\u003ca href=\"https://redirect.github.com/PyO3/maturin/issues/2334\"\u003ePyO3/maturin#2334\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 1.11.2 by \u003ca href=\"https://github.com/konstin\"\u003e\u003ccode\u003e@​konstin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2921\"\u003ePyO3/maturin#2921\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyO3/maturin/compare/v1.11.1...v1.11.2\"\u003ehttps://github.com/PyO3/maturin/compare/v1.11.1...v1.11.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eImportant\u003c/strong\u003e \u003ccode\u003ematurin upload\u003c/code\u003e is deprecated and will be removed in maturin 2.0 (\u003ca href=\"https://redirect.github.com/PyO3/maturin/issues/2334\"\u003ePyO3/maturin#2334\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compiled artifacts being excluded by source path matching (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2910\"\u003e#2910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBetter error reporting for missing interpreters (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2918\"\u003e#2918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore unreadable excluded directories (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2916\"\u003e#2916\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.11.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eImportant\u003c/strong\u003e \u003ccode\u003ematurin upload\u003c/code\u003e is deprecated and will be removed in maturin 2.0 (\u003ca href=\"https://redirect.github.com/PyO3/maturin/issues/2334\"\u003ePyO3/maturin#2334\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThis release was yanked from PyPI.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unused code by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2848\"\u003ePyO3/maturin#2848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect tagging for x86_64 iOS simulator wheels. by \u003ca href=\"https://github.com/freakboy3742\"\u003e\u003ccode\u003e@​freakboy3742\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2851\"\u003ePyO3/maturin#2851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump MSRV to 1.85.0 and use Rust 2024 edition by \u003ca href=\"https://github.com/messense\"\u003e\u003ccode\u003e@​messense\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2850\"\u003ePyO3/maturin#2850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade goblin to 0.10 by \u003ca href=\"https://github.com/messense\"\u003e\u003ccode\u003e@​messense\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2853\"\u003ePyO3/maturin#2853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet entry type when adding to the tar file by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2859\"\u003ePyO3/maturin#2859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit up module_writer.rs code for code organization by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2857\"\u003ePyO3/maturin#2857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate environment variables for Android cross-compilation support by \u003ca href=\"https://github.com/ririv\"\u003e\u003ccode\u003e@​ririv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2825\"\u003ePyO3/maturin#2825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade some Rust dependencies by \u003ca href=\"https://github.com/messense\"\u003e\u003ccode\u003e@​messense\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2860\"\u003ePyO3/maturin#2860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwap outer and inner loops in write_python_part() by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2861\"\u003ePyO3/maturin#2861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit out convenience methods from ModuleWriter trait by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2842\"\u003ePyO3/maturin#2842\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cargo_metadata to 0.20.0 by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2864\"\u003ePyO3/maturin#2864\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCalculate file options for WheelWriter once and cache the result by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2865\"\u003ePyO3/maturin#2865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix link to pyo3 config file documentation by \u003ca href=\"https://github.com/DetachHead\"\u003e\u003ccode\u003e@​DetachHead\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2869\"\u003ePyO3/maturin#2869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up internal fields of WheelWriter by \u003ca href=\"https://github.com/e-nomem\"\u003e\u003ccode\u003e@​e-nomem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyO3/maturin/pull/2870\"\u003ePyO3/maturin#2870\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/PyO3/maturin/blob/main/Changelog.md\"\u003ematurin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow combining \u003ccode\u003e--compatibility pypi\u003c/code\u003e with other \u003ccode\u003e--compatibility\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2928\"\u003e#2928\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.11.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport armv6l and armv7l in pypi compatibility (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the reliability of maturin's own CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.11.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix manylinux2014 compliance check (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix failed release\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix compiled artifacts being excluded by source path matching (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2910\"\u003e#2910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBetter error reporting for missing interpreters (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2918\"\u003e#2918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore unreadable excluded directories (\u003ca href=\"https://redirect.github.com/pyo3/maturin/pull/2916\"\u003e#2916\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.11.0] - Yanked\u003c/h2\u003e\n\u003cp\u003eNote: This release was yanked to a regression: \u003ca href=\"https://redirect.github.com/PyO3/maturin/issues/2909\"\u003ePyO3/maturin#2909\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor \u003ccode\u003eModuleWriter\u003c/code\u003e to be easier to implement and use\u003c/li\u003e\n\u003cli\u003eAdd Android cross compilation support, fix wheel tags for Android\u003c/li\u003e\n\u003cli\u003eUpdate generate-ci to macos-15-intel and add windows arm support\u003c/li\u003e\n\u003cli\u003eDeprecate 'upload' and 'publish' CLI commands\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/PyO3/maturin/commit/5d50051c9928a0aabe7d52cf868abf17f7e8f407\"\u003e\u003ccode\u003e5d50051\u003c/code\u003e\u003c/a\u003e Release 1.11.5 (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2930\"\u003e#2930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/5b54ce4549fcbef1898c4903ae3a0268609848d5\"\u003e\u003ccode\u003e5b54ce4\u003c/code\u003e\u003c/a\u003e Allow combining \u003ccode\u003e--compatibility pypi\u003c/code\u003e with other \u003ccode\u003e--compatibility\u003c/code\u003e values (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/b80ab1f95443db3d9614cdfa3f147b610e136890\"\u003e\u003ccode\u003eb80ab1f\u003c/code\u003e\u003c/a\u003e Release 1.11.4 (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/e5fa2779a13ce814314f0eb4e8900b45a2905051\"\u003e\u003ccode\u003ee5fa277\u003c/code\u003e\u003c/a\u003e Support armv6l and armv7l in pypi compatibility (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/ff7f3efa71e9e04bbab8ba8f72cfeb74904926bd\"\u003e\u003ccode\u003eff7f3ef\u003c/code\u003e\u003c/a\u003e Use uv instead of sudo pip and pin release bootstrapping version (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/a4f232de88a7691182fc25f03d98c1cac9bc7142\"\u003e\u003ccode\u003ea4f232d\u003c/code\u003e\u003c/a\u003e Automate release dry runs (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2924\"\u003e#2924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/795565daaddd42021149223c773ca9d1e7c4ed99\"\u003e\u003ccode\u003e795565d\u003c/code\u003e\u003c/a\u003e Release 1.11.3 (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2923\"\u003e#2923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/67a59dec1545dd917a2728ba9a75f88909602441\"\u003e\u003ccode\u003e67a59de\u003c/code\u003e\u003c/a\u003e Fix manylinux2014 compliance check (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/3034dfc13d07402f4e57317706efc960ffab58ad\"\u003e\u003ccode\u003e3034dfc\u003c/code\u003e\u003c/a\u003e Release 1.11.2 (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyO3/maturin/commit/9a0942aa33fbe8eefcc0744d856e5f1a74b77f62\"\u003e\u003ccode\u003e9a0942a\u003c/code\u003e\u003c/a\u003e Release 0.11.1 (\u003ca href=\"https://redirect.github.com/pyo3/maturin/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyo3/maturin/compare/v1.10.2...v1.11.5\"\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.11 to 0.15.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.15.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.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\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\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/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB171\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/missing-maxsplit-arg\"\u003e\u003ccode\u003emissing-maxsplit-arg\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLC0207\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-lambda\"\u003e\u003ccode\u003eunnecessary-lambda\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLW0108\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-empty-iterable-within-deque-call\"\u003e\u003ccode\u003eunnecessary-empty-iterable-within-deque-call\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF037\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/in-empty-collection\"\u003e\u003ccode\u003ein-empty-collection\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF060\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/legacy-form-pytest-raises\"\u003e\u003ccode\u003elegacy-form-pytest-raises\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF061\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-octal-permissions\"\u003e\u003ccode\u003enon-octal-permissions\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF064\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\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.15.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.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\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\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/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB171\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/astral-sh/ruff/commit/ce5f7b6127a5d684e96fd0f8e387f73c41c7a1b0\"\u003e\u003ccode\u003ece5f7b6\u003c/code\u003e\u003c/a\u003e Bump 0.15.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23055\"\u003e#23055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b4e40f539cdbafac8afd6e510994ca64c3b317b9\"\u003e\u003ccode\u003eb4e40f5\u003c/code\u003e\u003c/a\u003e [ty] Fix \u003ccode\u003e__contains__\u003c/code\u003e to respect descriptors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23056\"\u003e#23056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/848cb72dc14b4c9409bf08e8323b4119d6b90005\"\u003e\u003ccode\u003e848cb72\u003c/code\u003e\u003c/a\u003e [ty] Fix narrowing of nonlocal variables with conditional assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22966\"\u003e#22966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/da7f33af22c7da3f3cb9321f776dda4131dda3cb\"\u003e\u003ccode\u003eda7f33a\u003c/code\u003e\u003c/a\u003e [ty] Add a diagnostic for \u003ccode\u003eFinal\u003c/code\u003e without assignment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23001\"\u003e#23001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e65f9a6b039fa411e5609a7bda9bb7ffd11e9b1a\"\u003e\u003ccode\u003ee65f9a6\u003c/code\u003e\u003c/a\u003e Document markdown formatting feature (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22990\"\u003e#22990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c0c1b985c9ec4b3570b0a28af69ad6776a3ec401\"\u003e\u003ccode\u003ec0c1b98\u003c/code\u003e\u003c/a\u003e Format markdown code blocks with line-by-line regex parse (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22996\"\u003e#22996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9f8f3e196bd6d4f2c572075536dd38b769c48087\"\u003e\u003ccode\u003e9f8f3e1\u003c/code\u003e\u003c/a\u003e Allow positional-only params with defaults in method overrides (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23037\"\u003e#23037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ef83810e118e3e41aa6c63f87f8a8147363a3e56\"\u003e\u003ccode\u003eef83810\u003c/code\u003e\u003c/a\u003e [ty] ecosystem-analyzer: Support bare git repositories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23054\"\u003e#23054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54dfee4cb800c0b0890b2b2c74c64cc45584194c\"\u003e\u003ccode\u003e54dfee4\u003c/code\u003e\u003c/a\u003e Customize where the \u003ccode\u003efix_title\u003c/code\u003e sub-diagnostic appears (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23044\"\u003e#23044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b53460799b592e5276e1d148d8a48469f396032e\"\u003e\u003ccode\u003eb534607\u003c/code\u003e\u003c/a\u003e 2026 Ruff Formatter Style (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22735\"\u003e#22735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.11...0.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qnexus` from 0.37.1 to 0.39.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/CQCL/qnexus/releases\"\u003eqnexus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.39.0 (2026-01-09)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid starting login flow unless the tokens are expired (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/304\"\u003e#304\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate quantinuum-schemas with current HeliosErrorParams.\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/Quantinuum/qnexus/blob/main/CHANGELOG.md\"\u003eqnexus's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.39.0 (2026-01-09)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid starting login flow unless the tokens are expired (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/304\"\u003e#304\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate quantinuum-schemas with current HeliosErrorParams.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.38.0 (2025-12-01)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance search functionality with exact and fuzzy name filters (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/300\"\u003e#300\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCircuitref.download_circuit() now supports scope (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/298\"\u003e#298\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCircuits.cost now uses a nexus execute job (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.38.0 (2025-11-20)\u003c/h2\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/Quantinuum/qnexus/commit/45bde4eceae4923049e3b773823121632d033dd2\"\u003e\u003ccode\u003e45bde4e\u003c/code\u003e\u003c/a\u003e docs: prepare CHANGELOG for v0.39.0 (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/856ad4dfbe9b1781820daa5e29946ecc27139ded\"\u003e\u003ccode\u003e856ad4d\u003c/code\u003e\u003c/a\u003e feat: avoid starting login flow unless the tokens are expired (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/304\"\u003e#304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/ab8e800f5495a4ba2d36dbbed39119d92fbfd8f7\"\u003e\u003ccode\u003eab8e800\u003c/code\u003e\u003c/a\u003e ci: Update hugrverse-actions location (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/303\"\u003e#303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/00ed6ac08a3c3dc6db3a59ba01be4bbe06bfcbb2\"\u003e\u003ccode\u003e00ed6ac\u003c/code\u003e\u003c/a\u003e docs: Update CHANGELOG for v0.38.0 (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/301\"\u003e#301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/1fe6b3b72e1fc9590e6b56fac660aa87c14fd537\"\u003e\u003ccode\u003e1fe6b3b\u003c/code\u003e\u003c/a\u003e feat: Enhance search functionality with exact and fuzzy name filters (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/300\"\u003e#300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/38832296c248462d0142c637ff2fc7772c5a1926\"\u003e\u003ccode\u003e3883229\u003c/code\u003e\u003c/a\u003e fix: CircuitRef.download_circuit() now supports scope (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/298\"\u003e#298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/22fff9fb5592340611408758e9ceca6afe0e42ea\"\u003e\u003ccode\u003e22fff9f\u003c/code\u003e\u003c/a\u003e fix: circuits.cost now uses a Nexus execute job (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/294\"\u003e#294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/e2428594404f278d74a1388c7e6524f99eab8f55\"\u003e\u003ccode\u003ee242859\u003c/code\u003e\u003c/a\u003e chore: fix python version badge (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/134eb56529fc1f726b647005e096e8a5f43f11eb\"\u003e\u003ccode\u003e134eb56\u003c/code\u003e\u003c/a\u003e chore: use ibm_torino instead of deprecated ibm_brisbane (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/296\"\u003e#296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Quantinuum/qnexus/commit/6ed3da53affc4d263fe52e610fe5b551c1059c19\"\u003e\u003ccode\u003e6ed3da5\u003c/code\u003e\u003c/a\u003e chore: fix qnexus version in uv.lock (\u003ca href=\"https://redirect.github.com/CQCL/qnexus/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/CQCL/qnexus/compare/v0.37.1...v0.39.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMost Recent Ignore Conditions Applied to This Pull Request\u003c/summary\u003e\n\n| Dependency Name | Ignore Conditions |\n| --- | --- |\n| llvmlite | [\u003e= 0.46.dev0, \u003c 0.47] |\n\u003c/details\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Quantinuum/hugr-qir/pull/207","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quantinuum%2Fhugr-qir/issues/207","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/207/packages"}},{"old_version":"0.14.13","new_version":"0.14.14","update_type":"patch","path":null,"pr_created_at":"2026-02-02T10:13:58.000Z","version_change":"0.14.13 → 0.14.14","issue":{"uuid":"3885097379","node_id":"PR_kwDOQxhlo87A3uTK","number":97,"state":"open","title":"chore(deps): Bump the patch-updates group across 1 directory with 4 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":"2026-02-02T10:13:58.000Z","updated_at":"2026-02-02T10:13:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"patch-updates","update_count":4,"packages":[{"name":"duckdb","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"sqlalchemy","old_version":"2.0.45","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"boto3","old_version":"1.42.30","new_version":"1.42.39","repository_url":"https://github.com/boto/boto3"},{"name":"ruff","old_version":"0.14.13","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the patch-updates group with 4 updates in the / directory: [duckdb](https://github.com/duckdb/duckdb-python), [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy), [boto3](https://github.com/boto/boto3) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `duckdb` from 1.4.3 to 1.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/duckdb/duckdb-python/releases\"\u003educkdb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.4.4 Bugfix Release\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDuckDB core v1.4.4 Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/duckdb/duckdb/compare/v1.4.3...v1.4.4\"\u003ehttps://github.com/duckdb/duckdb/compare/v1.4.3...v1.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed in the Python Extension\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix polars tests by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/218\"\u003educkdb/duckdb-python#218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests for string and binary views by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/221\"\u003educkdb/duckdb-python#221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuote view names in unregister by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/222\"\u003educkdb/duckdb-python#222\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLimit string nodes in Polars expressions to constant expressions by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/225\"\u003educkdb/duckdb-python#225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape identifiers in relation aggregations by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/272\"\u003educkdb/duckdb-python#272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix DECREF bug during interpreter shutdown by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/275\"\u003educkdb/duckdb-python#275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for Pandas 3.0.0 by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/277\"\u003educkdb/duckdb-python#277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for v1.4.4 by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/280\"\u003educkdb/duckdb-python#280\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.4.3...v1.4.4\"\u003ehttps://github.com/duckdb/duckdb-python/compare/v1.4.3...v1.4.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/a12f36ca411007f5eb48919448f61c7498112553\"\u003e\u003ccode\u003ea12f36c\u003c/code\u003e\u003c/a\u003e Prepare for v1.4.4 (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/280\"\u003e#280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/77a3f8d637982542f6e91569b9ecad3e96a02b32\"\u003e\u003ccode\u003e77a3f8d\u003c/code\u003e\u003c/a\u003e Set submodule to release hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/f1711b5616f64de43ef6da2034c81e00fa9b032d\"\u003e\u003ccode\u003ef1711b5\u003c/code\u003e\u003c/a\u003e Support for Pandas 3.0.0 (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/8361d73425cc7b6e53785ad2b76ed898342a768d\"\u003e\u003ccode\u003e8361d73\u003c/code\u003e\u003c/a\u003e Move slow tests to slow and fix test error when pyarrow is missing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/5d9b64ee2b77de72b53d741a355c20dcd239129a\"\u003e\u003ccode\u003e5d9b64e\u003c/code\u003e\u003c/a\u003e Add timedelta[s|ms|us|ns] numpy types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/5a654d338003a83ae03d8c954fb40ace7cbc6d4e\"\u003e\u003ccode\u003e5a654d3\u003c/code\u003e\u003c/a\u003e pandas default backend fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/9d6edb6ead36cae62fa65e223b374b5edfaa7731\"\u003e\u003ccode\u003e9d6edb6\u003c/code\u003e\u003c/a\u003e dependency updates and fix for lazy attribute accessors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/c2e65055824d2369e54412638a1478444ca7b6b5\"\u003e\u003ccode\u003ec2e6505\u003c/code\u003e\u003c/a\u003e Support Pandas' new str type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/e32ed3edd0f502b8215a3dc337217a65d9d9bb98\"\u003e\u003ccode\u003ee32ed3e\u003c/code\u003e\u003c/a\u003e Fix DECREF bug during interpreter shutdown (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/39c384bfc0adf6d44d99634e4e09a8b7af2e761c\"\u003e\u003ccode\u003e39c384b\u003c/code\u003e\u003c/a\u003e Fix DECREF bug during interpreter shutdown\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.4.3...v1.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.45 to 2.0.46\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.46\u003c/h1\u003e\n\u003cp\u003eReleased: January 21, 2026\u003c/p\u003e\n\u003ch2\u003etyping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[typing] [bug]\u003c/strong\u003e Fixed typing issues where ORM mapped classes and aliased entities could not\nbe used as keys in result row mappings or as join targets in select\nstatements. Patterns such as \u003ccode\u003erow._mapping[User]\u003c/code\u003e,\n\u003ccode\u003erow._mapping[aliased(User)]\u003c/code\u003e, \u003ccode\u003erow._mapping[with_polymorphic(...)]\u003c/code\u003e\n(rejected by both mypy and Pylance), and \u003ccode\u003e.join(aliased(User))\u003c/code\u003e\n(rejected by Pylance) are documented and fully supported at runtime but\nwere previously rejected by type checkers. The type definitions for\n\u003ccode\u003e_KeyType\u003c/code\u003e and \u003ccode\u003e_FromClauseArgument\u003c/code\u003e have been updated to\naccept these ORM entity types.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13075\"\u003e#13075\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Fixed issue where PostgreSQL JSONB operators\n\u003ccode\u003e_postgresql.JSONB.Comparator.path_match()\u003c/code\u003e and\n\u003ccode\u003e_postgresql.JSONB.Comparator.path_exists()\u003c/code\u003e were applying incorrect\n\u003ccode\u003eVARCHAR\u003c/code\u003e casts to the right-hand side operand when used with newer\nPostgreSQL drivers such as psycopg. The operators now indicate the\nright-hand type as \u003ccode\u003eJSONPATH\u003c/code\u003e, which currently results in no casting\ntaking place, but is also compatible with explicit casts if the\nimplementation were require it at a later point.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13059\"\u003e#13059\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Fixed regression in PostgreSQL dialect where JSONB subscription syntax\nwould generate incorrect SQL for \u003ccode\u003ecast()\u003c/code\u003e expressions returning JSONB,\ncausing syntax errors. The dialect now properly wraps cast expressions in\nparentheses when using the \u003ccode\u003e[]\u003c/code\u003e subscription syntax, generating\n\u003ccode\u003e(CAST(...))[index]\u003c/code\u003e instead of \u003ccode\u003eCAST(...)[index]\u003c/code\u003e to comply with\nPostgreSQL syntax requirements. This extends the fix from \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12778\"\u003e#12778\u003c/a\u003e\nwhich addressed the same issue for function calls.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13067\"\u003e#13067\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Improved the foreign key reflection regular expression pattern used by the\nPostgreSQL dialect to be more permissive in matching identifier characters,\nallowing it to correctly handle unicode characters in table and column\nnames. This change improves compatibility with PostgreSQL variants such as\nCockroachDB that may use different quoting patterns in combination with\nunicode characters in their identifiers.  Pull request courtesy Gord\nThompson.\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\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.42.30 to 1.42.39\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fd93dbb656cec791e048992bc24d78850e672c59\"\u003e\u003ccode\u003efd93dbb\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0a13ecc0c4b5993ea9eb7919074f5be4bef19e2e\"\u003e\u003ccode\u003e0a13ecc\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/e6b1f899842d00b31f5caccdff57efec22a8e69b\"\u003e\u003ccode\u003ee6b1f89\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f76522e1afd1cbd0902d999a5d0653f618652cd5\"\u003e\u003ccode\u003ef76522e\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.38'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c7ef3d310e9412dfe39c4389ba989f9c37193fc8\"\u003e\u003ccode\u003ec7ef3d3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.38' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/24e7223212b0e0ee74db6d2c553fed7d6567fd58\"\u003e\u003ccode\u003e24e7223\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.38\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0b29f3ab2ab844bdba5c2c15385d3e0b6cad961c\"\u003e\u003ccode\u003e0b29f3a\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/68bd84f8df188676623ad81deb3e8c90aab6ce0c\"\u003e\u003ccode\u003e68bd84f\u003c/code\u003e\u003c/a\u003e Update wheel to 0.46.3 (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4713\"\u003e#4713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/bae9979910c8ac4f22bc0e491560988355b0e1ce\"\u003e\u003ccode\u003ebae9979\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.37'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/be2fdc5fc97fc8ac179c5f261eda9c0ae99a5fe2\"\u003e\u003ccode\u003ebe2fdc5\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.37' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.42.30...1.42.39\"\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.13 to 0.14.14\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.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\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/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\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/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\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/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\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.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\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/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\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/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\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/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\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/8b2e7b36f246b990fe473a84eef25ff429e59ecf\"\u003e\u003ccode\u003e8b2e7b3\u003c/code\u003e\u003c/a\u003e Prepare release v0.14.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22813\"\u003e#22813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4c7d1f50fd8d1baf06a3c8885ecd0ded0113d383\"\u003e\u003ccode\u003e4c7d1f5\u003c/code\u003e\u003c/a\u003e [ty] Infer \u003ccode\u003eTypedDict\u003c/code\u003e types with \u0026gt;=1 required key as being always truthy (\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/b7de4341535ff2b299695335e0a7b9ebaf297348\"\u003e\u003ccode\u003eb7de434\u003c/code\u003e\u003c/a\u003e add CCfW hooks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22803\"\u003e#22803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b912dfc8788f8f8c351767899df6b72ce3366352\"\u003e\u003ccode\u003eb912dfc\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1ff062d1cccb8025de184a55c6dfe469a4293249\"\u003e\u003ccode\u003e1ff062d\u003c/code\u003e\u003c/a\u003e [ty] Improve completion rankings for raise-from/except contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22775\"\u003e#22775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7e408a51d24db2bca248bb90f2f7938f83efd22b\"\u003e\u003ccode\u003e7e408a5\u003c/code\u003e\u003c/a\u003e Update dependency wrangler to v4.59.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22793\"\u003e#22793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ceb876b82300bd237d11e3eb77c46fcf3d3afe85\"\u003e\u003ccode\u003eceb876b\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c5b4ee68c90faf0e609fa6553a171a7ba60ebdcb\"\u003e\u003ccode\u003ec5b4ee6\u003c/code\u003e\u003c/a\u003e [ty] Support solving generics involving PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22678\"\u003e#22678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9a61293153f43df9963c727539309b76ac4756d\"\u003e\u003ccode\u003eb9a6129\u003c/code\u003e\u003c/a\u003e [ty] Improve support for kwarg splats in dictionary literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22781\"\u003e#22781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f516d47ceb7f6a0c3a95eaaa2c7451a32b5d7120\"\u003e\u003ccode\u003ef516d47\u003c/code\u003e\u003c/a\u003e Update contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.13...0.14.14\"\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/Squrtech/datacheck/pull/97","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Squrtech%2Fdatacheck/issues/97","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/97/packages"}},{"old_version":"0.14.9","new_version":"0.14.13","update_type":"patch","path":"/functional-tests","pr_created_at":"2026-02-01T00:12:02.000Z","version_change":"0.14.9 → 0.14.13","issue":{"uuid":"3880490032","node_id":"PR_kwDOL2tAdc7AonfE","number":1326,"state":"open","title":"chore(deps)(deps): bump the python-dependencies group in /functional-tests with 3 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-01T00:12:02.000Z","updated_at":"2026-02-01T00:40:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-dependencies","update_count":3,"packages":[{"name":"locust","old_version":"2.42.6","new_version":"2.43.1","repository_url":"https://github.com/locustio/locust"},{"name":"ruff","old_version":"0.14.9","new_version":"0.14.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.2","new_version":"0.0.12","repository_url":"https://github.com/astral-sh/ty"}],"path":"/functional-tests","ecosystem":"conda"},"body":"Bumps the python-dependencies group in /functional-tests with 3 updates: [locust](https://github.com/locustio/locust), [ruff](https://github.com/astral-sh/ruff) and [ty](https://github.com/astral-sh/ty).\n\nUpdates `locust` from 2.42.6 to 2.43.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/locustio/locust/releases\"\u003elocust's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.43.1\u003c/h2\u003e\n\u003cp\u003eUpdate various WebUI dependencies, no other changes.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003e@​emotion/styled\u003c/code\u003e from 11.14.0 to 11.14.1 in /locust/webui in the emotion group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3322\"\u003elocustio/locust#3322\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the eslint group in /locust/webui with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3319\"\u003elocustio/locust#3319\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the all_dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3318\"\u003elocustio/locust#3318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize tests by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3325\"\u003elocustio/locust#3325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize tests by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3326\"\u003elocustio/locust#3326\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump packages by \u003ca href=\"https://github.com/andrewbaldwin44\"\u003e\u003ccode\u003e@​andrewbaldwin44\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3331\"\u003elocustio/locust#3331\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/locustio/locust/compare/2.43.0...2.43.1\"\u003ehttps://github.com/locustio/locust/compare/2.43.0...2.43.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.43.0\u003c/h2\u003e\n\u003cp\u003eHappy new year!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump glob from 10.4.5 to 10.5.0 in /locust/webui by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3304\"\u003elocustio/locust#3304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump js-yaml from 4.1.0 to 4.1.1 in /locust/webui by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3305\"\u003elocustio/locust#3305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture stacktrace on KeyboardInterrupt on greenlets by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3306\"\u003elocustio/locust#3306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor parse_options by \u003ca href=\"https://github.com/andrewbaldwin44\"\u003e\u003ccode\u003e@​andrewbaldwin44\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3310\"\u003elocustio/locust#3310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSolving the iter_lines problem by \u003ca href=\"https://github.com/MasterKey-Pro\"\u003e\u003ccode\u003e@​MasterKey-Pro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3311\"\u003elocustio/locust#3311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow users to stop test run by raising StopTest, use it on missing host in locustfile (and no --host param) by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3313\"\u003elocustio/locust#3313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove references to locust.cloud now that it is shutting down by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3314\"\u003elocustio/locust#3314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a better error message when spawn rate is set to zero by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3317\"\u003elocustio/locust#3317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport requests\u0026gt;=2.32.5, reimplement the fix previously there for only loading ssl certificates once by \u003ca href=\"https://github.com/amadeuppereira\"\u003e\u003ccode\u003e@​amadeuppereira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3316\"\u003elocustio/locust#3316\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/locustio/locust/compare/2.42.6...2.43.0\"\u003ehttps://github.com/locustio/locust/compare/2.42.6...2.43.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/locustio/locust/blob/master/CHANGELOG.md\"\u003elocust's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/locustio/locust/tree/2.43.1\"\u003e2.43.1\u003c/a\u003e (2026-01-12)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/locustio/locust/compare/2.43.0...2.43.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMerged pull requests:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump packages \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3331\"\u003e#3331\u003c/a\u003e (\u003ca href=\"https://github.com/andrewbaldwin44\"\u003eandrewbaldwin44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize tests \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3326\"\u003e#3326\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStabilize tests \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3325\"\u003e#3325\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003e@​emotion/styled\u003c/code\u003e from 11.14.0 to 11.14.1 in /locust/webui in the emotion group \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3322\"\u003e#3322\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the eslint group in /locust/webui with 5 updates \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3319\"\u003e#3319\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the all_dependencies group with 2 updates \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3318\"\u003e#3318\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/locustio/locust/tree/2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-12-30)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/locustio/locust/compare/2.42.6...2.43.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eClosed issues:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for requests \u0026gt;=2.32.5 (compatibility with LangChain/AI ecosystem) \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3307\"\u003e#3307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMultiple select in web UI for custom arguments \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3260\"\u003e#3260\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggestion to Add  \u0026quot;iter_lines\u0026quot;  Support for  \u0026quot;FastHttpUser\u0026quot;  in Locust \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3018\"\u003e#3018\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMerged pull requests:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProvide a better error message when spawn rate is set to zero \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3317\"\u003e#3317\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport requests\u0026gt;=2.32.5, reimplement the fix previously there for only loading ssl certificates once \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3316\"\u003e#3316\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove references to locust.cloud now that it is shutting down \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3314\"\u003e#3314\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow users to stop test run by raising StopTest, use it on missing host in locustfile (and no --host param) \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3313\"\u003e#3313\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLocust Cloud demo tab: update domain from auth.locust.cloud to app.locust.cloud \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3312\"\u003e#3312\u003c/a\u003e (\u003ca href=\"https://github.com/andrewbaldwin44\"\u003eandrewbaldwin44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSolving the iter_lines problem \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3311\"\u003e#3311\u003c/a\u003e (\u003ca href=\"https://github.com/MasterKey-Pro\"\u003eMasterKey-Pro\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor parse_options \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3310\"\u003e#3310\u003c/a\u003e (\u003ca href=\"https://github.com/andrewbaldwin44\"\u003eandrewbaldwin44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCapture stacktrace on KeyboardInterrupt on greenlets \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3306\"\u003e#3306\u003c/a\u003e (\u003ca href=\"https://github.com/amadeuppereira\"\u003eamadeuppereira\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump js-yaml from 4.1.0 to 4.1.1 in /locust/webui \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3305\"\u003e#3305\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump glob from 10.4.5 to 10.5.0 in /locust/webui \u003ca href=\"https://redirect.github.com/locustio/locust/pull/3304\"\u003e#3304\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/locustio/locust/commit/220197088d32629bec1970f6a9aca871d0c4058e\"\u003e\u003ccode\u003e2201970\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/a4ba5eeb698b4a6ba55e1eb0b138e8872c3da18c\"\u003e\u003ccode\u003ea4ba5ee\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3331\"\u003e#3331\u003c/a\u003e from andrewbaldwin44/task/bump-webui-packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/4019cd7b96eabe37da97547cabba72308573824c\"\u003e\u003ccode\u003e4019cd7\u003c/code\u003e\u003c/a\u003e Bump packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/3059b6c2356ca1ba610ea79538f1be618c0b6669\"\u003e\u003ccode\u003e3059b6c\u003c/code\u003e\u003c/a\u003e docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/7026a2e7688129819fbaf20c7c54dc81e5ebfc4a\"\u003e\u003ccode\u003e7026a2e\u003c/code\u003e\u003c/a\u003e add GH actions example to docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/509248fe1bbeb3f7db76c45dad34404359d29ece\"\u003e\u003ccode\u003e509248f\u003c/code\u003e\u003c/a\u003e docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/b927bd138b73c786e8ae2e72186325ad35d4a8db\"\u003e\u003ccode\u003eb927bd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3326\"\u003e#3326\u003c/a\u003e from amadeuppereira/stabilize-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/48ecc28fd51333434611f8ba61e35fdd64c5e1e7\"\u003e\u003ccode\u003e48ecc28\u003c/code\u003e\u003c/a\u003e Stabilize tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/e9cd29df513041ea211a0da3d63861c39bad0ad8\"\u003e\u003ccode\u003ee9cd29d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/locustio/locust/issues/3325\"\u003e#3325\u003c/a\u003e from amadeuppereira/stabilize-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/locustio/locust/commit/caab1b8fdc391b3231c5d3d9ab0d4935b0ccb4f5\"\u003e\u003ccode\u003ecaab1b8\u003c/code\u003e\u003c/a\u003e Stabilize tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/locustio/locust/compare/2.42.6...2.43.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.14.9 to 0.14.13\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.13\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-15.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.14.12. Because of an issue publishing the WASM packages, there is no GitHub release or Git tag for 0.14.12, although the package was published to PyPI. The contents of the 0.14.13 release are identical to 0.14.12.\u003c/p\u003e\n\u003ch2\u003e0.14.12\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-blind-except\u003c/code\u003e] Allow more logging methods (\u003ccode\u003eBLE001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22057\"\u003e#22057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Respect \u003ccode\u003elint.pydocstyle.property-decorators\u003c/code\u003e in \u003ccode\u003eRUF066\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22515\"\u003e#22515\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix configuration path in \u003ccode\u003e--show-settings\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22478\"\u003e#22478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for multiple statements on the same logical line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22119\"\u003e#22119\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] Update Rust crate imperative to v1.0.7 (\u003ccode\u003eD401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22519\"\u003e#22519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Insert imports in alphabetical order (\u003ccode\u003eI002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22493\"\u003e#22493\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd llms.txt support for documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22463\"\u003e#22463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse prek in documentation and CI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22505\"\u003e#22505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Add \u003ccode\u003echeck\u003c/code\u003e parameter example to \u003ccode\u003ePT017\u003c/code\u003e docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22546\"\u003e#22546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003eRUF103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22558\"\u003e#22558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] document \u003ccode\u003eRUF100\u003c/code\u003e trailing comment fix behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22479\"\u003e#22479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewasm: Require explicit logging initialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22587\"\u003e#22587\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/terror\"\u003e\u003ccode\u003e@​terror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Jkhall81\"\u003e\u003ccode\u003e@​Jkhall81\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/lubaskinc0de\"\u003e\u003ccode\u003e@​lubaskinc0de\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\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/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\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/11happy\"\u003e\u003ccode\u003e@​11happy\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.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-15.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.14.12. Because of an issue publishing the WASM packages, there is no GitHub release or Git tag for 0.14.12, although the package was published to PyPI. The contents of the 0.14.13 release are identical to 0.14.12.\u003c/p\u003e\n\u003ch2\u003e0.14.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-15.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-blind-except\u003c/code\u003e] Allow more logging methods (\u003ccode\u003eBLE001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22057\"\u003e#22057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Respect \u003ccode\u003elint.pydocstyle.property-decorators\u003c/code\u003e in \u003ccode\u003eRUF066\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22515\"\u003e#22515\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix configuration path in \u003ccode\u003e--show-settings\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22478\"\u003e#22478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for multiple statements on the same logical line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22119\"\u003e#22119\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] Update Rust crate imperative to v1.0.7 (\u003ccode\u003eD401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22519\"\u003e#22519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Insert imports in alphabetical order (\u003ccode\u003eI002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22493\"\u003e#22493\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd llms.txt support for documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22463\"\u003e#22463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse prek in documentation and CI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22505\"\u003e#22505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Add \u003ccode\u003echeck\u003c/code\u003e parameter example to \u003ccode\u003ePT017\u003c/code\u003e docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22546\"\u003e#22546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003eRUF103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22558\"\u003e#22558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] document \u003ccode\u003eRUF100\u003c/code\u003e trailing comment fix behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22479\"\u003e#22479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewasm: Require explicit logging initialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22587\"\u003e#22587\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/terror\"\u003e\u003ccode\u003e@​terror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Jkhall81\"\u003e\u003ccode\u003e@​Jkhall81\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/lubaskinc0de\"\u003e\u003ccode\u003e@​lubaskinc0de\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\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/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\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/b4b8299d6cc3db6fd6125a30d58d58ef3d3069bf\"\u003e\u003ccode\u003eb4b8299\u003c/code\u003e\u003c/a\u003e [ty] Make \u003ccode\u003eNamedTuple(...)\u003c/code\u003e and \u003ccode\u003enamedtuple(...)\u003c/code\u003e calls stricter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22601\"\u003e#22601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fd9f87d02d25ddda3e38fa0d1912ac40375f4845\"\u003e\u003ccode\u003efd9f87d\u003c/code\u003e\u003c/a\u003e Bump 0.14.13 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22604\"\u003e#22604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/048f02fb6b939b12a0b73d3c63af2f5dc76362db\"\u003e\u003ccode\u003e048f02f\u003c/code\u003e\u003c/a\u003e [ty] Remove redundant re-exports that share the same top-most module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a72af10cf8fa49f79eb5233bc0bf552faa153c2b\"\u003e\u003ccode\u003ea72af10\u003c/code\u003e\u003c/a\u003e [ty] Add \u003ccode\u003eModuleName::top\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2f348363184a0ae7ce5e02c0b1e442069252da01\"\u003e\u003ccode\u003e2f34836\u003c/code\u003e\u003c/a\u003e [ty] Add test capturing redundant re-exports from pandas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/db9eee7b06ae7b220b1425cdb2db0641ca7d1705\"\u003e\u003ccode\u003edb9eee7\u003c/code\u003e\u003c/a\u003e [ty] Attach origin module on to re-exported symbols\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2cbd68ab7056b3b798adc5904febe63de5119485\"\u003e\u003ccode\u003e2cbd68a\u003c/code\u003e\u003c/a\u003e [ty] Move fully qualified name into auto-import implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2a0946760fcd39a007f597d1340300c324d242b2\"\u003e\u003ccode\u003e2a09467\u003c/code\u003e\u003c/a\u003e Add trailing slashes to \u003ccode\u003enpm publish\u003c/code\u003e paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22603\"\u003e#22603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eca58ca1d3c752f154d0e9f146892155b23ebb61\"\u003e\u003ccode\u003eeca58ca\u003c/code\u003e\u003c/a\u003e [ty] Override \u003ccode\u003e__file__\u003c/code\u003e to str when applicable on imported modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22333\"\u003e#22333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aa9f1b27fc95cce58397c3b2b9e31f7c808a53c8\"\u003e\u003ccode\u003eaa9f1b2\u003c/code\u003e\u003c/a\u003e Further improvements to typing conformance script (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22596\"\u003e#22596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.9...0.14.13\"\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.2 to 0.0.12\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.12\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-14.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panic that could occur when \u003ccode\u003ecast\u003c/code\u003eing an object to a TypedDict or union of TypedDicts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22509\"\u003e#22509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect narrowing for \u003ccode\u003eif type(x) == y\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22531\"\u003e#22531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow with recursive type aliases containing tuple types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22543\"\u003e#22543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efunctools.total_ordering\u003c/code\u003e: ensure the signatures of generated methods reflect the signature of the user-provided method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22496\"\u003e#22496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003edataclass_transform\u003c/code\u003e as a function call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22378\"\u003e#22378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the top materialization of classes for \u003ccode\u003eif type(x) is y\u003c/code\u003e narrowing. For example, \u003ccode\u003eif type(x) is tuple\u003c/code\u003e will cause the type of \u003ccode\u003ex\u003c/code\u003e to be intersected with \u003ccode\u003etuple[object, ...]\u003c/code\u003e rather than \u003ccode\u003etuple[Unknown, ...]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22553\"\u003e#22553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid emitting Liskov violations with respect to a grandparent class if such violations could not be fixed without introducing Liskov violations with respect to a parent class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22484\"\u003e#22484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix interaction between classmethod, contextmanager, and Self (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22407\"\u003e#22407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCheck contravariant type variable bounds contravariantly in specialization inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22488\"\u003e#22488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix false positive for bounded type parameters with NewType (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22542\"\u003e#22542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for dynamic \u003ccode\u003etype()\u003c/code\u003e classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22291\"\u003e#22291\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22499\"\u003e#22499\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22537\"\u003e#22537\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22480\"\u003e#22480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for functional \u003ccode\u003enamedtuple\u003c/code\u003e creation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22327\"\u003e#22327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22573\"\u003e#22573\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22575\"\u003e#22575\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22574\"\u003e#22574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a diagnostic for non-decorator uses of \u003ccode\u003efinal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22555\"\u003e#22555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostic to catch generic enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22482\"\u003e#22482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostics for \u003ccode\u003e__init_subclass__\u003c/code\u003e argument mismatch (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22185\"\u003e#22185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostics to validate \u003ccode\u003eTypeIs\u003c/code\u003e and \u003ccode\u003eTypeGuard\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22300\"\u003e#22300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply type narrowing to walrus targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22369\"\u003e#22369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid \u003ccode\u003e@total_ordering\u003c/code\u003e applications in non-decorator contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22486\"\u003e#22486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e@Todo\u003c/code\u003e type for starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22503\"\u003e#22503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove disambiguation of types in diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22547\"\u003e#22547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude type parameters in the display for generic \u003ccode\u003eCallable\u003c/code\u003e types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22435\"\u003e#22435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003etype[Unknown]\u003c/code\u003e for calls to \u003ccode\u003etype()\u003c/code\u003e when overload evaluation is ambiguous (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22569\"\u003e#22569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport assignment to unions of \u003ccode\u003eTypedDict\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22294\"\u003e#22294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the key and value parameter types as type context for \u003ccode\u003e__setitem__\u003c/code\u003e dunder calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22148\"\u003e#22148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow the right-hand side of \u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e, \u003ccode\u003eis\u003c/code\u003e and \u003ccode\u003eis not\u003c/code\u003e conditions when the left-hand side is not narrowable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22511\"\u003e#22511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e__file__\u003c/code\u003e type in completions to show \u003ccode\u003estr\u003c/code\u003e instead of \u003ccode\u003estr | None\u003c/code\u003e when the inferred type is \u003ccode\u003estr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22510\"\u003e#22510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove rendering of ReST directives in docstrings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22512\"\u003e#22512\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/eclbg\"\u003e\u003ccode\u003e@​eclbg\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/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drbh\"\u003e\u003ccode\u003e@​drbh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AryanBagade\"\u003e\u003ccode\u003e@​AryanBagade\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bxff\"\u003e\u003ccode\u003e@​bxff\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-14.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panic that could occur when \u003ccode\u003ecast\u003c/code\u003eing an object to a TypedDict or union of TypedDicts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22509\"\u003e#22509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect narrowing for \u003ccode\u003eif type(x) == y\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22531\"\u003e#22531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow with recursive type aliases containing tuple types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22543\"\u003e#22543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efunctools.total_ordering\u003c/code\u003e: ensure the signatures of generated methods reflect the signature of the user-provided method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22496\"\u003e#22496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003edataclass_transform\u003c/code\u003e as a function call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22378\"\u003e#22378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the top materialization of classes for \u003ccode\u003eif type(x) is y\u003c/code\u003e narrowing. For example, \u003ccode\u003eif type(x) is tuple\u003c/code\u003e will cause the type of \u003ccode\u003ex\u003c/code\u003e to be intersected with \u003ccode\u003etuple[object, ...]\u003c/code\u003e rather than \u003ccode\u003etuple[Unknown, ...]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22553\"\u003e#22553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid emitting Liskov violations with respect to a grandparent class if such violations could not be fixed without introducing Liskov violations with respect to a parent class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22484\"\u003e#22484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix interaction between classmethod, contextmanager, and Self (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22407\"\u003e#22407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCheck contravariant type variable bounds contravariantly in specialization inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22488\"\u003e#22488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix false positive for bounded type parameters with NewType (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22542\"\u003e#22542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for dynamic \u003ccode\u003etype()\u003c/code\u003e classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22291\"\u003e#22291\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22499\"\u003e#22499\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22537\"\u003e#22537\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22480\"\u003e#22480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for functional \u003ccode\u003enamedtuple\u003c/code\u003e creation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22327\"\u003e#22327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22573\"\u003e#22573\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22575\"\u003e#22575\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22574\"\u003e#22574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a diagnostic for non-decorator uses of \u003ccode\u003efinal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22555\"\u003e#22555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostic to catch generic enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22482\"\u003e#22482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostics for \u003ccode\u003e__init_subclass__\u003c/code\u003e argument mismatch (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22185\"\u003e#22185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd diagnostics to validate \u003ccode\u003eTypeIs\u003c/code\u003e and \u003ccode\u003eTypeGuard\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22300\"\u003e#22300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply type narrowing to walrus targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22369\"\u003e#22369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid \u003ccode\u003e@total_ordering\u003c/code\u003e applications in non-decorator contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22486\"\u003e#22486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e@Todo\u003c/code\u003e type for starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22503\"\u003e#22503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove disambiguation of types in diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22547\"\u003e#22547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude type parameters in the display for generic \u003ccode\u003eCallable\u003c/code\u003e types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22435\"\u003e#22435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003etype[Unknown]\u003c/code\u003e for calls to \u003ccode\u003etype()\u003c/code\u003e when overload evaluation is ambiguous (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22569\"\u003e#22569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport assignment to unions of \u003ccode\u003eTypedDict\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22294\"\u003e#22294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the key and value parameter types as type context for \u003ccode\u003e__setitem__\u003c/code\u003e dunder calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22148\"\u003e#22148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow the right-hand side of \u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e, \u003ccode\u003eis\u003c/code\u003e and \u003ccode\u003eis not\u003c/code\u003e conditions when the left-hand side is not narrowable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22511\"\u003e#22511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e__file__\u003c/code\u003e type in completions to show \u003ccode\u003estr\u003c/code\u003e instead of \u003ccode\u003estr | None\u003c/code\u003e when the inferred type is \u003ccode\u003estr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22510\"\u003e#22510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove rendering of ReST directives in docstrings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22512\"\u003e#22512\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/eclbg\"\u003e\u003ccode\u003e@​eclbg\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/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drbh\"\u003e\u003ccode\u003e@​drbh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AryanBagade\"\u003e\u003ccode\u003e@​AryanBagade\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bxff\"\u003e\u003ccode\u003e@​bxff\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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\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/4b74e4ded20b6ea1a6ff7d06de867c64324c6d8d\"\u003e\u003ccode\u003e4b74e4d\u003c/code\u003e\u003c/a\u003e Bump to 0.0.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2500\"\u003e#2500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/3b83666f7b3c90da384d0a0d9a198e2743ed04c5\"\u003e\u003ccode\u003e3b83666\u003c/code\u003e\u003c/a\u003e Re-add fixed-width size for image (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2485\"\u003e#2485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/11540c5a2fc88cebee8378e6016a81e3a19db1e5\"\u003e\u003ccode\u003e11540c5\u003c/code\u003e\u003c/a\u003e Update VS Code extension docs (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2475\"\u003e#2475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c7f64046ddf88346dc024d544f2afb2236f631da\"\u003e\u003ccode\u003ec7f6404\u003c/code\u003e\u003c/a\u003e Fix the docs links to the benchmark results (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2459\"\u003e#2459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5264371179dddb087e27ac16f95453e6be1a4ee9\"\u003e\u003ccode\u003e5264371\u003c/code\u003e\u003c/a\u003e Use prek in documentation and CI (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2469\"\u003e#2469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/29072a56f4c109f35d53ec27ff6cdea2d3098cba\"\u003e\u003ccode\u003e29072a5\u003c/code\u003e\u003c/a\u003e Fix changelog typo (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2461\"\u003e#2461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/6b5938a5cbff201f1a6bebad991df9095ee76cbf\"\u003e\u003ccode\u003e6b5938a\u003c/code\u003e\u003c/a\u003e Stylize 'ty' correctly in zed configuration docs (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2458\"\u003e#2458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2ebb37cf605437231fa7fa1c555df4db93270998\"\u003e\u003ccode\u003e2ebb37c\u003c/code\u003e\u003c/a\u003e Update actions/checkout digest to 0c366fd (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2452\"\u003e#2452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5fbc4728ef2403ecbc597421394aa9ff253145e4\"\u003e\u003ccode\u003e5fbc472\u003c/code\u003e\u003c/a\u003e Update pre-commit dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2453\"\u003e#2453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/d2176ebf749f952e1882741736c31bf6ff413a41\"\u003e\u003ccode\u003ed2176eb\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v7.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/2454\"\u003e#2454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.2...0.0.12\"\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/alpenlabs/alpen/pull/1326","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alpenlabs%2Falpen/issues/1326","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1326/packages"}},{"old_version":"0.12.3","new_version":"0.12.11","update_type":"patch","path":null,"pr_created_at":"2025-09-02T16:43:58.000Z","version_change":"0.12.3 → 0.12.11","issue":{"uuid":"2793343909","node_id":"PR_kwDODbOMVM6mfwul","number":138,"state":"closed","title":"Bump the uv group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-01T17:26:36.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-02T16:43:58.000Z","updated_at":"2025-10-01T17:26:36.000Z","time_to_close":2508158,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv","update_count":6,"packages":[{"name":"discord-py","old_version":"2.5.2","new_version":"2.6.3","repository_url":"https://github.com/Rapptz/discord.py"},{"name":"mysql-connector-python","old_version":"9.3.0","new_version":"9.4.0","repository_url":"https://github.com/mysql/mysql-connector-python"},{"name":"pandas","old_version":"2.3.1","new_version":"2.3.2","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"sentry-sdk","old_version":"2.33.0","new_version":"2.35.2","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"ruff","old_version":"0.12.3","new_version":"0.12.11","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the uv group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [discord-py](https://github.com/Rapptz/discord.py) | `2.5.2` | `2.6.3` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.3.0` | `9.4.0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.1` | `2.3.2` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.33.0` | `2.35.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.3` | `0.12.11` |\n\n\nUpdates `discord-py` from 2.5.2 to 2.6.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/5b1fd672ac8866799d23ab8c75a43b77490de221\"\u003e\u003ccode\u003e5b1fd67\u003c/code\u003e\u003c/a\u003e Version bump to v2.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/1d6a147b0f43c9c319eb85cc1d3571ddf55c7784\"\u003e\u003ccode\u003e1d6a147\u003c/code\u003e\u003c/a\u003e Move v2 item check from BaseView to View\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/0b29a56c553e342c0a89b7176e31054119583ec5\"\u003e\u003ccode\u003e0b29a56\u003c/code\u003e\u003c/a\u003e Add changelog for v2.6.2 and v2.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/8a7ba6b5b1c282620acd8a113f27d1c36a429eeb\"\u003e\u003ccode\u003e8a7ba6b\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix context install decorators to correctly restrict commands\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/f79f41c37cf4926002dc7c9c87ef5e622726cbcf\"\u003e\u003ccode\u003ef79f41c\u003c/code\u003e\u003c/a\u003e Add accessory to Section.\u003cstrong\u003erepr\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/cbcea19e4402ad04e52a849d784146ed2b5161a6\"\u003e\u003ccode\u003ecbcea19\u003c/code\u003e\u003c/a\u003e Fix spelling mistake in LabelComponent slots\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/d0863e056bf241e53f0fa74be9cbdb62e6a625b5\"\u003e\u003ccode\u003ed0863e0\u003c/code\u003e\u003c/a\u003e Fix Select.required not being applied\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/748ab04674c3ebddb5656efee280e4a4017c60e8\"\u003e\u003ccode\u003e748ab04\u003c/code\u003e\u003c/a\u003e Fix bounds for TextInput and Label generic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/7d2cb68f18f6efb94f06d44ad727369dfe48abe5\"\u003e\u003ccode\u003e7d2cb68\u003c/code\u003e\u003c/a\u003e Version bump to v2.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rapptz/discord.py/commit/b2a8a98e0ec5ca3ec69c674acce9a347a831879f\"\u003e\u003ccode\u003eb2a8a98\u003c/code\u003e\u003c/a\u003e Add missing versionadded to some BaseView items\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Rapptz/discord.py/compare/v2.5.2...v2.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mysql-connector-python` from 9.3.0 to 9.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mysql/mysql-connector-python/blob/trunk/CHANGES.txt\"\u003emysql-connector-python's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev9.4.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eWL#16966: Upgrade Python lz4 version\u003c/li\u003e\n\u003cli\u003eWL#16963: Update the OpenTelemetry version\u003c/li\u003e\n\u003cli\u003eWL#16962: Update the Python Protobuf version\u003c/li\u003e\n\u003cli\u003eWL#16954: Make sdist packages pip installable\u003c/li\u003e\n\u003cli\u003eBUG#38072835: Authentication OCI plugin option parameters not being supported by the aio connector\u003c/li\u003e\n\u003cli\u003eBUG#37868219: RPM packages have incorrect copyright year in their metadata\u003c/li\u003e\n\u003cli\u003eBUG#37859771: mysql/connector python version 9.3.0 has a regression which cannot persist binary data with percent signs in it\u003c/li\u003e\n\u003cli\u003eBUG#37820231: Text based django ORM filters doesn't work with Connector/Python\u003c/li\u003e\n\u003cli\u003eBUG#37806057: Rename extra option (when installing wheel package) to install webauthn functionality dependencies\u003c/li\u003e\n\u003cli\u003eBUG#37774513: Inconsistent conversion to_sql for cext vs pure python\u003c/li\u003e\n\u003cli\u003eBUG#37642447: The license type is missing from RPM package\u003c/li\u003e\n\u003cli\u003eBUG#37627508: mysql/connector python fetchmany() has an off by one bug when argument given as 1\u003c/li\u003e\n\u003cli\u003eBUG#37047789: Python connector does not support Django enum\u003c/li\u003e\n\u003cli\u003eBUG#36733242: Contribution: Add Connection Pooling Support for AsyncIO Connector\u003c/li\u003e\n\u003cli\u003eBUG#36452514: Missing version info resources\u003c/li\u003e\n\u003cli\u003eBUG#34950958: MySQL Python Connector doesn't work with ssh in the same process\u003c/li\u003e\n\u003cli\u003eBUG#34844347: Freezes on connection via sshtunnel\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/mysql/mysql-connector-python/commit/ca251cf833e5697b59b2d10fb77b6b445be176ec\"\u003e\u003ccode\u003eca251cf\u003c/code\u003e\u003c/a\u003e BUG#37848073: Installation of mysqlx-python-9.3.0 package fails in EL10 due t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/00027e53e46a431ef83125828bee37ec2bb6de38\"\u003e\u003ccode\u003e00027e5\u003c/code\u003e\u003c/a\u003e Updated the LICENSE files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/7bf2cc41b4b70f61218d02721ddb0389248747ff\"\u003e\u003ccode\u003e7bf2cc4\u003c/code\u003e\u003c/a\u003e BUG#36733242: Contribution: Add Connection Pooling Support for AsyncIO Connector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/43263cd0c9224a9a593d83cd76f92eda9085b816\"\u003e\u003ccode\u003e43263cd\u003c/code\u003e\u003c/a\u003e BUG#38072835: Authentication OCI plugin option parameters not being supported...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/73b60b05fd69399a31030a4b318a431aab53e612\"\u003e\u003ccode\u003e73b60b0\u003c/code\u003e\u003c/a\u003e WL#16954: Make sdist packages pip installable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/7dd0f81963a6667d71e616a613270d02e7f2e277\"\u003e\u003ccode\u003e7dd0f81\u003c/code\u003e\u003c/a\u003e Update version to 9.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/38c32ccfb9ab8b37bb5bbe95288e3f1b9aa67f09\"\u003e\u003ccode\u003e38c32cc\u003c/code\u003e\u003c/a\u003e Deactivate test_connection_uri\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/13f5cd56dcecaa06179e86d2714bf671f19e8b54\"\u003e\u003ccode\u003e13f5cd5\u003c/code\u003e\u003c/a\u003e BUG#37774513: Inconsistent conversion to_sql for cext vs pure python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/9b86b2926e5531558fc1875b10ba2a3fbe4419ac\"\u003e\u003ccode\u003e9b86b29\u003c/code\u003e\u003c/a\u003e BUG#37859771 - mysql/connector python version 9.3.0 has a regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mysql/mysql-connector-python/commit/83a5d2418b6cd4901656c688b030c2e77ffbcc90\"\u003e\u003ccode\u003e83a5d24\u003c/code\u003e\u003c/a\u003e BUG#37868219: RPM packages have incorrect copyright year in their metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mysql/mysql-connector-python/compare/9.3.0...9.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.1 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePandas 2.3.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.2.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.2 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\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/pandas-dev/pandas/commit/4665c10899bc413b639194f6fb8665a5c70f7db5\"\u003e\u003ccode\u003e4665c10\u003c/code\u003e\u003c/a\u003e RLS: 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/633c68b91808441eba7d73b630a82b713ba19da8\"\u003e\u003ccode\u003e633c68b\u003c/code\u003e\u003c/a\u003e DOC: fix syntax in whatsnew file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/456ad4702cb017aab36e2d09a4029b1b085198f5\"\u003e\u003ccode\u003e456ad47\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62152\"\u003e#62152\u003c/a\u003e on branch 2.3.x (DOC: prepare 2.3.2 whatsnew notes for rel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6cae6444444ed7943ceffbd5990cd8249dd5b47c\"\u003e\u003ccode\u003e6cae644\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DOC: move and reword whatsnew note for replace fix (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/57865\"\u003eGH-57865\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/a91c50a58c372cddf104fd60241c7284bbf8fc80\"\u003e\u003ccode\u003ea91c50a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62147\"\u003e#62147\u003c/a\u003e on branch 2.3.x (DOC: correct and rewrite string migration...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/f7a2cfdf2ed08016167ae6c5e577c54949a849b2\"\u003e\u003ccode\u003ef7a2cfd\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG/DEPR: logical operation with bool and string (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/61995\"\u003e#61995\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/7981a43db4339826a3ce5020e9b1b931e604e5bd\"\u003e\u003ccode\u003e7981a43\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62124\"\u003e#62124\u003c/a\u003e on branch 2.3.x (CI/BLD: don't use strict xfail for '%m.%Y...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/fafbcbd03d1721830f4df8255abdab341db2a583\"\u003e\u003ccode\u003efafbcbd\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG(CoW): also raise for chained assignment for .at / .iat (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/3ac64a714886d917ca24ba637a85c4aaf563fc1b\"\u003e\u003ccode\u003e3ac64a7\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: Fix Series.str.contains with compiled regex on Arrow st...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/1f2dc4fd8a2503773b6f90cb5e8cc5c3172c3c11\"\u003e\u003ccode\u003e1f2dc4f\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: fix Series.str.fullmatch() and Series.str.match() with ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.1...v2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\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/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\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/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sdk` from 2.33.0 to 2.35.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/releases\"\u003esentry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.35.2\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(logs): Do not attach template if there are no parameters (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4728\"\u003e#4728\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.35.1\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAI Agents: Isolate agent run (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4720\"\u003e#4720\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Do not attach stacktrace to transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4713\"\u003e#4713\u003c/a\u003e) by \u003ca href=\"https://github.com/Zylphrex\"\u003e\u003ccode\u003e@​Zylphrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.35.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.sentry.io/platforms/python/integrations/langchain/\"\u003eLangchain Integration\u003c/a\u003e now supports the Sentry \u003ca href=\"https://docs.sentry.io/product/insights/ai/agents/dashboard/\"\u003eAI dashboard\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4678\"\u003e#4678\u003c/a\u003e) by \u003ca href=\"https://github.com/shellmayr\"\u003e\u003ccode\u003e@​shellmayr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.sentry.io/platforms/python/integrations/anthropic/\"\u003eAnthropic Integration\u003c/a\u003e now supports the Sentry \u003ca href=\"https://docs.sentry.io/product/insights/ai/agents/dashboard/\"\u003eAI dashboard\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4674\"\u003e#4674\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAI Agents templates for \u003ccode\u003e@trace\u003c/code\u003e decorator (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4676\"\u003e#4676\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSentry Logs: Add \u003ccode\u003eenable_logs\u003c/code\u003e, \u003ccode\u003ebefore_send_log\u003c/code\u003e as top-level \u003ccode\u003esentry_sdk.init()\u003c/code\u003e options (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4644\"\u003e#4644\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Improve \u003ccode\u003e@trace\u003c/code\u003e decorator. Allows to set \u003ccode\u003espan.op\u003c/code\u003e, \u003ccode\u003espan.name\u003c/code\u003e, and \u003ccode\u003espan.attributes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4648\"\u003e#4648\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Add convenience function \u003ccode\u003esentry_sdk.update_current_span\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4673\"\u003e#4673\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Add \u003ccode\u003eSpan.update_data()\u003c/code\u003e to update multiple \u003ccode\u003espan.data\u003c/code\u003e items at once. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4666\"\u003e#4666\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGNU-integration: make path optional (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4688\"\u003e#4688\u003c/a\u003e) by \u003ca href=\"https://github.com/MeredithAnya\"\u003e\u003ccode\u003e@​MeredithAnya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClickhouse: Don't eat the generator data (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4669\"\u003e#4669\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClickhouse: List \u003ccode\u003esend_data\u003c/code\u003e parameters (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4667\"\u003e#4667\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003egen_ai.*\u003c/code\u003e and \u003ccode\u003eai.*\u003c/code\u003e attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4665\"\u003e#4665\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter checking for empty tools list (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4647\"\u003e#4647\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove performance paper cuts (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4675\"\u003e#4675\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHelp for debugging Cron problems (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4686\"\u003e#4686\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Redis CI (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4691\"\u003e#4691\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix plugins key codecov (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4655\"\u003e#4655\u003c/a\u003e) by \u003ca href=\"https://github.com/sl0thentr0py\"\u003e\u003ccode\u003e@​sl0thentr0py\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Mypy (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4649\"\u003e#4649\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tox.ini (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4689\"\u003e#4689\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/create-github-app-token from 2.0.6 to 2.1.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4684\"\u003e#4684\u003c/a\u003e) by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.1\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Make sure Span data in AI instrumentations is always a primitive data type (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4643\"\u003e#4643\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Typo in CHANGELOG.md (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4640\"\u003e#4640\u003c/a\u003e) by \u003ca href=\"https://github.com/jgillard\"\u003e\u003ccode\u003e@​jgillard\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eConsiderably raise \u003ccode\u003eDEFAULT_MAX_VALUE_LENGTH\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4632\"\u003e#4632\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe have increased the string trimming limit considerably, allowing you to see more data\nwithout it being truncated. Note that this might, in rare cases, result in issue regrouping,\nfor example if you're capturing message events with very long messages (longer than the\ndefault 1024 characters/bytes).\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md\"\u003esentry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.35.2\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(logs): Do not attach template if there are no parameters (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4728\"\u003e#4728\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.35.1\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAI Agents: Isolate agent run (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4720\"\u003e#4720\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Do not attach stacktrace to transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4713\"\u003e#4713\u003c/a\u003e) by \u003ca href=\"https://github.com/Zylphrex\"\u003e\u003ccode\u003e@​Zylphrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.35.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.sentry.io/platforms/python/integrations/langchain/\"\u003eLangchain Integration\u003c/a\u003e now supports the Sentry \u003ca href=\"https://docs.sentry.io/product/insights/ai/agents/dashboard/\"\u003eAI dashboard\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4678\"\u003e#4678\u003c/a\u003e) by \u003ca href=\"https://github.com/shellmayr\"\u003e\u003ccode\u003e@​shellmayr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.sentry.io/platforms/python/integrations/anthropic/\"\u003eAnthropic Integration\u003c/a\u003e now supports the Sentry \u003ca href=\"https://docs.sentry.io/product/insights/ai/agents/dashboard/\"\u003eAI dashboard\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4674\"\u003e#4674\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAI Agents templates for \u003ccode\u003e@trace\u003c/code\u003e decorator (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4676\"\u003e#4676\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSentry Logs: Add \u003ccode\u003eenable_logs\u003c/code\u003e, \u003ccode\u003ebefore_send_log\u003c/code\u003e as top-level \u003ccode\u003esentry_sdk.init()\u003c/code\u003e options (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4644\"\u003e#4644\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Improve \u003ccode\u003e@trace\u003c/code\u003e decorator. Allows to set \u003ccode\u003espan.op\u003c/code\u003e, \u003ccode\u003espan.name\u003c/code\u003e, and \u003ccode\u003espan.attributes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4648\"\u003e#4648\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Add convenience function \u003ccode\u003esentry_sdk.update_current_span\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4673\"\u003e#4673\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTracing: Add \u003ccode\u003eSpan.update_data()\u003c/code\u003e to update multiple \u003ccode\u003espan.data\u003c/code\u003e items at once. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4666\"\u003e#4666\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGNU-integration: make path optional (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4688\"\u003e#4688\u003c/a\u003e) by \u003ca href=\"https://github.com/MeredithAnya\"\u003e\u003ccode\u003e@​MeredithAnya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClickhouse: Don't eat the generator data (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4669\"\u003e#4669\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClickhouse: List \u003ccode\u003esend_data\u003c/code\u003e parameters (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4667\"\u003e#4667\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003egen_ai.*\u003c/code\u003e and \u003ccode\u003eai.*\u003c/code\u003e attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4665\"\u003e#4665\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter checking for empty tools list (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4647\"\u003e#4647\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove performance paper cuts (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4675\"\u003e#4675\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHelp for debugging Cron problems (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4686\"\u003e#4686\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Redis CI (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4691\"\u003e#4691\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix plugins key codecov (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4655\"\u003e#4655\u003c/a\u003e) by \u003ca href=\"https://github.com/sl0thentr0py\"\u003e\u003ccode\u003e@​sl0thentr0py\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Mypy (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4649\"\u003e#4649\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tox.ini (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4689\"\u003e#4689\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/create-github-app-token from 2.0.6 to 2.1.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4684\"\u003e#4684\u003c/a\u003e) by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.1\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Make sure Span data in AI instrumentations is always a primitive data type (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4643\"\u003e#4643\u003c/a\u003e) by \u003ca href=\"https://github.com/antonpirker\"\u003e\u003ccode\u003e@​antonpirker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Typo in CHANGELOG.md (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4640\"\u003e#4640\u003c/a\u003e) by \u003ca href=\"https://github.com/jgillard\"\u003e\u003ccode\u003e@​jgillard\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsiderably raise \u003ccode\u003eDEFAULT_MAX_VALUE_LENGTH\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4632\"\u003e#4632\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\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/getsentry/sentry-python/commit/814cd5959b58350cb81fa8b21502fcdfe3adf960\"\u003e\u003ccode\u003e814cd59\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/d2cb532459b3e954edbee3605af5e631749c547d\"\u003e\u003ccode\u003ed2cb532\u003c/code\u003e\u003c/a\u003e release: 2.35.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/bf4d921a5d779076e693545652359b4c0668f384\"\u003e\u003ccode\u003ebf4d921\u003c/code\u003e\u003c/a\u003e fix(logs): Do not attach template if there are no parameters (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4728\"\u003e#4728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/57a340568fddd0c566ba59d01f80d747e6c19a7f\"\u003e\u003ccode\u003e57a3405\u003c/code\u003e\u003c/a\u003e Update tox.ini (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4721\"\u003e#4721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/d46f802ef010daf9f6d813ccfc3546fd9782c8e7\"\u003e\u003ccode\u003ed46f802\u003c/code\u003e\u003c/a\u003e Merge branch 'release/2.35.1'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/fb4faf6090bae29000a1b8c4cd07dee0d25a59f4\"\u003e\u003ccode\u003efb4faf6\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/c2a21aada390aa28ca4ccf7880fe1e5fde31ac52\"\u003e\u003ccode\u003ec2a21aa\u003c/code\u003e\u003c/a\u003e release: 2.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/eee4c4b0186c8aed964151a8e2af56420b7ad288\"\u003e\u003ccode\u003eeee4c4b\u003c/code\u003e\u003c/a\u003e fix(openai-agents): Isolate agent run (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/28d0dddf41b7c10f9ba056aee659d2da4d490fbe\"\u003e\u003ccode\u003e28d0ddd\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/getsentry/sentry-python/issues/4709\"\u003e#4709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/a2a9413372130a90247a59fe1b275d508258f926\"\u003e\u003ccode\u003ea2a9413\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-java from 4 to 5 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4716\"\u003e#4716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-python/compare/2.33.0...2.35.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.12.3 to 0.12.11\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.12.11\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eAIR311\u003c/code\u003e and \u003ccode\u003eAIR312\u003c/code\u003e rules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20082\"\u003e#20082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Replace wrong path \u003ccode\u003eairflow.io.storage\u003c/code\u003e with \u003ccode\u003eairflow.io.store\u003c/code\u003e (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20081\"\u003e#20081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20091\"\u003e#20091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-logging-format\u003c/code\u003e] Add auto-fix for f-string logging calls (\u003ccode\u003eG004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19303\"\u003e#19303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add autofix for \u003ccode\u003ePTH211\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20009\"\u003e#20009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH100\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20100\"\u003e#20100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e, \u003ccode\u003epylint\u003c/code\u003e] Fix false positives caused by \u003ccode\u003e__class__\u003c/code\u003e cell handling (\u003ccode\u003eF841\u003c/code\u003e, \u003ccode\u003ePLE0117\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20048\"\u003e#20048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix \u003ccode\u003eallowed-unused-imports\u003c/code\u003e matching for top-level modules (\u003ccode\u003eF401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20115\"\u003e#20115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for t-strings in \u003ccode\u003edefault-factory-kwarg\u003c/code\u003e (\u003ccode\u003eRUF026\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20032\"\u003e#20032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Preserve relative whitespace in multi-line expressions (\u003ccode\u003eRUF033\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19647\"\u003e#19647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Handle empty t-strings in \u003ccode\u003eunnecessary-empty-iterable-within-deque-call\u003c/code\u003e (\u003ccode\u003eRUF037\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20045\"\u003e#20045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eD413\u003c/code\u003e links in docstrings convention FAQ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20089\"\u003e#20089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Update links to the table showing the correspondence between \u003ccode\u003eos\u003c/code\u003e and \u003ccode\u003epathlib\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20103\"\u003e#20103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\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/Avasam\"\u003e\u003ccode\u003e@​Avasam\u003c/code\u003e\u003c/a\u003e\u003c/li\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/Gankra\"\u003e\u003ccode\u003e@​Gankra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Glyphack\"\u003e\u003ccode\u003e@​Glyphack\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Lee-W\"\u003e\u003ccode\u003e@​Lee-W\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatthewMckee4\"\u003e\u003ccode\u003e@​MatthewMckee4\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/PrettyWood\"\u003e\u003ccode\u003e@​PrettyWood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Renkai\"\u003e\u003ccode\u003e@​Renkai\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TaKO8Ki\"\u003e\u003ccode\u003e@​TaKO8Ki\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/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\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/dhruvmanila\"\u003e\u003ccode\u003e@​dhruvmanila\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hamirmahal\"\u003e\u003ccode\u003e@​hamirmahal\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.12.11\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eAIR311\u003c/code\u003e and \u003ccode\u003eAIR312\u003c/code\u003e rules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20082\"\u003e#20082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Replace wrong path \u003ccode\u003eairflow.io.storage\u003c/code\u003e with \u003ccode\u003eairflow.io.store\u003c/code\u003e (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20081\"\u003e#20081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20091\"\u003e#20091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-logging-format\u003c/code\u003e] Add auto-fix for f-string logging calls (\u003ccode\u003eG004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19303\"\u003e#19303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add autofix for \u003ccode\u003ePTH211\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20009\"\u003e#20009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Make \u003ccode\u003ePTH100\u003c/code\u003e fix unsafe because it can change behavior (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20100\"\u003e#20100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e, \u003ccode\u003epylint\u003c/code\u003e] Fix false positives caused by \u003ccode\u003e__class__\u003c/code\u003e cell handling (\u003ccode\u003eF841\u003c/code\u003e, \u003ccode\u003ePLE0117\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20048\"\u003e#20048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix \u003ccode\u003eallowed-unused-imports\u003c/code\u003e matching for top-level modules (\u003ccode\u003eF401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20115\"\u003e#20115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for t-strings in \u003ccode\u003edefault-factory-kwarg\u003c/code\u003e (\u003ccode\u003eRUF026\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20032\"\u003e#20032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Preserve relative whitespace in multi-line expressions (\u003ccode\u003eRUF033\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19647\"\u003e#19647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Handle empty t-strings in \u003ccode\u003eunnecessary-empty-iterable-within-deque-call\u003c/code\u003e (\u003ccode\u003eRUF037\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20045\"\u003e#20045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eD413\u003c/code\u003e links in docstrings convention FAQ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20089\"\u003e#20089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Update links to the table showing the correspondence between \u003ccode\u003eos\u003c/code\u003e and \u003ccode\u003epathlib\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20103\"\u003e#20103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.12.10\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Implement fix for \u003ccode\u003emaxsplit\u003c/code\u003e without separator (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19851\"\u003e#19851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fixes for \u003ccode\u003ePTH102\u003c/code\u003e and \u003ccode\u003ePTH103\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19514\"\u003e#19514\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Handle multiple continuation lines after module docstring (\u003ccode\u003eI002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19818\"\u003e#19818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid reporting \u003ccode\u003e__future__\u003c/code\u003e features as unnecessary when they are used (\u003ccode\u003eUP010\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Handle nested \u003ccode\u003eOptional\u003c/code\u003es (\u003ccode\u003eUP045\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19770\"\u003e#19770\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Make \u003ccode\u003eE731\u003c/code\u003e fix unsafe instead of display-only for class assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19700\"\u003e#19700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Add secondary annotation showing previous definition (\u003ccode\u003eF811\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19900\"\u003e#19900\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix description of global config file discovery strategy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19188\"\u003e#19188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate outdated links to \u003ca href=\"https://typing.python.org/en/latest/source/stubs.html\"\u003ehttps://typing.python.org/en/latest/source/stubs.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19992\"\u003e#19992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Remove unused import in example (\u003ccode\u003eANN401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20000\"\u003e#20000\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/c2bc15bc15103f46b55b6f35b1d0ce815fdfc547\"\u003e\u003ccode\u003ec2bc15b\u003c/code\u003e\u003c/a\u003e Bump 0.12.11 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20136\"\u003e#20136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e586f6dcc426bdceddf43e811aaace460e4f56f9\"\u003e\u003ccode\u003ee586f6d\u003c/code\u003e\u003c/a\u003e [ty] Benchmarks for problematic implicit instance attributes cases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20133\"\u003e#20133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/76a6b7e3e2061de320a17ab7513708809019aecc\"\u003e\u003ccode\u003e76a6b7e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyflakes\u003c/code\u003e] Fix \u003ccode\u003eallowed-unused-imports\u003c/code\u003e matching for top-level modules (`F4...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1ce65714c05faa85b177d5be8d16814820e23032\"\u003e\u003ccode\u003e1ce6571\u003c/code\u003e\u003c/a\u003e Move GitLab output rendering to \u003ccode\u003eruff_db\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20117\"\u003e#20117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d9aaacd01f9da1219013c5413a94db7d487298d7\"\u003e\u003ccode\u003ed9aaacd\u003c/code\u003e\u003c/a\u003e [ty] Evaluate reachability of non-definitely-bound to Ambiguous (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19579\"\u003e#19579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/18eaa659c1ea9a03bee798e161d2f2db454e154f\"\u003e\u003ccode\u003e18eaa65\u003c/code\u003e\u003c/a\u003e [ty] Introduce a representation for the top/bottom materialization of an inva...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/af259faed57f2428da4fa09aab03dbb96b0f160e\"\u003e\u003ccode\u003eaf259fa\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eblocking-http-call-httpx\u003c/code\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20091\"\u003e#20091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d75ef3823c7dc7c6a0dc38dbc42ab9f8075424b6\"\u003e\u003ccode\u003ed75ef38\u003c/code\u003e\u003c/a\u003e [ty] print diagnostics with fully qualified name to disambiguate some cases (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/89ca493fd963bb3ba875b170989d9468d2d1a5bd\"\u003e\u003ccode\u003e89ca493\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eruff\u003c/code\u003e] Preserve relative whitespace in multi-line expressions (\u003ccode\u003eRUF033\u003c/code\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4b80f5fa4f08dd0948761e15e36f5138658793e4\"\u003e\u003ccode\u003e4b80f5f\u003c/code\u003e\u003c/a\u003e [ty] Optimize TDD atom ordering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20098\"\u003e#20098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.12.3...0.12.11\"\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/twohoursonelife/dictator/pull/138","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/twohoursonelife%2Fdictator/issues/138","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/138/packages"}},{"old_version":"0.12.7","new_version":"0.12.10","update_type":"patch","path":null,"pr_created_at":"2025-08-26T05:08:53.000Z","version_change":"0.12.7 → 0.12.10","issue":{"uuid":"2773822305","node_id":"PR_kwDOBablg86lVSth","number":665,"state":"closed","title":"Bump the pip-deps group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["patch","bumpless"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-08-26T19:39:07.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-26T05:08:53.000Z","updated_at":"2025-08-26T19:39:08.000Z","time_to_close":52214,"merged_at":"2025-08-26T19:39:07.000Z","merged_by":"jtherrmann","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-deps","update_count":4,"packages":[{"name":"hyp3lib","old_version":"4.0.0","new_version":"4.0.1","repository_url":"https://github.com/ASFHyP3/hyp3-lib"},{"name":"lxml","old_version":"6.0.0","new_version":"6.0.1","repository_url":"https://github.com/lxml/lxml"},{"name":"rtree","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/Toblerity/rtree"},{"name":"ruff","old_version":"0.12.7","new_version":"0.12.10","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the pip-deps group with 4 updates in the / directory: [hyp3lib](https://github.com/ASFHyP3/hyp3-lib), [lxml](https://github.com/lxml/lxml), [rtree](https://github.com/Toblerity/rtree) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `hyp3lib` from 4.0.0 to 4.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/releases\"\u003ehyp3lib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHyP3-lib v4.0.1\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echunk_size\u003c/code\u003e parameter to \u003ccode\u003eaws.upload_file_to_s3\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/blob/develop/CHANGELOG.md\"\u003ehyp3lib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.1]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echunk_size\u003c/code\u003e parameter to \u003ccode\u003eaws.upload_file_to_s3\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/77235328ae7c45f7514ca180b3e13d0d25277ab0\"\u003e\u003ccode\u003e7723532\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/379\"\u003e#379\u003c/a\u003e from ASFHyP3/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/71ee0c80a6a73341e554b2b4c8b5272a33256ddf\"\u003e\u003ccode\u003e71ee0c8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/380\"\u003e#380\u003c/a\u003e from ASFHyP3/chunk-size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/d0c730626b0f237ef54909d9b1dae251d2721e8f\"\u003e\u003ccode\u003ed0c7306\u003c/code\u003e\u003c/a\u003e generalize test to avoid failure if part2 happens to execute before part1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/d4b895de22ccd9e5079020e9272b2561bf231023\"\u003e\u003ccode\u003ed4b895d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/377\"\u003e#377\u003c/a\u003e from ASFHyP3/dependabot/pip/pip-deps-c95e428ad8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/b08e9d7e91e6b0882ccf05d3a40ed733a59151b8\"\u003e\u003ccode\u003eb08e9d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/378\"\u003e#378\u003c/a\u003e from ASFHyP3/chunk-size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/2f0e9b300c1dab6bab47fed57204019912243a36\"\u003e\u003ccode\u003e2f0e9b3\u003c/code\u003e\u003c/a\u003e add configurable chunk_size paramter to aws.upload_file_to_s3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/55001ee7acc6a79dd772a3b166c807a27293ad12\"\u003e\u003ccode\u003e55001ee\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.12.7 to 0.12.8 in the pip-deps group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/7d8348cfbed1f1b92bf3c08b4df78e3e691731fa\"\u003e\u003ccode\u003e7d8348c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/376\"\u003e#376\u003c/a\u003e from ASFHyP3/dependabot/pip/pip-deps-0aaee5b8c0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/a8f8fc2db87fbf3cb084a07fbc29fcb82b995dd7\"\u003e\u003ccode\u003ea8f8fc2\u003c/code\u003e\u003c/a\u003e Bump the pip-deps group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/commit/dabc37932c87983e54abfa7bc0d9f8aaba22940a\"\u003e\u003ccode\u003edabc379\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ASFHyP3/hyp3-lib/issues/375\"\u003e#375\u003c/a\u003e from ASFHyP3/dependabot/pip/pip-deps-e80dcac413\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ASFHyP3/hyp3-lib/compare/v4.0.0...v4.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lxml` from 6.0.0 to 6.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lxml/lxml/blob/master/CHANGES.txt\"\u003elxml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e6.0.1 (2025-08-22)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2116333: \u003ccode\u003elxml.sax._getNsTag()\u003c/code\u003e could fail with an exception on malformed input.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#467: Some test adaptations were made for libxml2 2.15.\nPatch by Nick Wellnhofer.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLP2119510, GH#473: A Python compatibility test was fixed for Python 3.14+.\nPatch by Lumír Balhar.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#471: Wheels for \u0026quot;riscv64\u0026quot; on recent Python versions were added.\nPatch by ffgan.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#469: The wheel build no longer requires the \u003ccode\u003ewheel\u003c/code\u003e package unconditionally.\nPatch by Miro Hrončok.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels use the library version libxml2 2.14.5.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWindows binary wheels continue to use a security patched library version libxml2 2.11.9.\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/lxml/lxml/commit/5aca07dac191316a8d7da314c283ac7bc9c36f54\"\u003e\u003ccode\u003e5aca07d\u003c/code\u003e\u003c/a\u003e Prepare release of lxml 6.0.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/f0e555a07a35e03207ad401c0b71efc2bb88caa9\"\u003e\u003ccode\u003ef0e555a\u003c/code\u003e\u003c/a\u003e Build: Add Py3.14 also to tox.ini.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/afc745a5e064225414af71b1a39406ee0c7e0d9a\"\u003e\u003ccode\u003eafc745a\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/25242c69f7b554f5508e4c92a61e47b15819723b\"\u003e\u003ccode\u003e25242c6\u003c/code\u003e\u003c/a\u003e Build: Add \u0026quot;riscv64\u0026quot; wheels for Py3.12+.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/457c56428d63e470fe0e679f2232545d6da8e7da\"\u003e\u003ccode\u003e457c564\u003c/code\u003e\u003c/a\u003e Build: Mark Py3.14 as officially supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/66a3cc3065db3dcc809aa79a925486a5cb8f0910\"\u003e\u003ccode\u003e66a3cc3\u003c/code\u003e\u003c/a\u003e Remove Py2 test code.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/6e8883808918cf3ff2cb0efb82898ffc10610ed6\"\u003e\u003ccode\u003e6e88838\u003c/code\u003e\u003c/a\u003e CI: Fix version usage in cache keys.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/fe5df4689d1fbdf46184387d24c8d173513b65de\"\u003e\u003ccode\u003efe5df46\u003c/code\u003e\u003c/a\u003e Build: bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/lxml/lxml/issues/476\"\u003e#476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/91771210eb8dd575c8e08bf00703d82ad9c6c32a\"\u003e\u003ccode\u003e9177121\u003c/code\u003e\u003c/a\u003e CI: Configure library versions centrally in pyproject.toml to prevent build t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/525c6b91b6aa7a9eca37410316437a11dc391ee5\"\u003e\u003ccode\u003e525c6b9\u003c/code\u003e\u003c/a\u003e Build: Separate libs cache by CPU architecture.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lxml/lxml/compare/lxml-6.0.0...lxml-6.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rtree` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Toblerity/rtree/releases\"\u003ertree's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.1b3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efire CI when a pre-release is published by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/381\"\u003eToblerity/rtree#381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eonly publish to pypi on released event by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/382\"\u003eToblerity/rtree#382\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Toblerity/rtree/compare/1.4.1b1...1.4.1b3\"\u003ehttps://github.com/Toblerity/rtree/compare/1.4.1b1...1.4.1b3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.1b1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename main branch references by \u003ca href=\"https://github.com/mwtoews\"\u003e\u003ccode\u003e@​mwtoews\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/356\"\u003eToblerity/rtree#356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixing an incorrect reassignment in nearest_v and intersection_v by \u003ca href=\"https://github.com/Atilleusz\"\u003e\u003ccode\u003e@​Atilleusz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/358\"\u003eToblerity/rtree#358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/cibuildwheel from 2.23.0 to 2.23.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/359\"\u003eToblerity/rtree#359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spatialindex version to tests, add common pytest configuration by \u003ca href=\"https://github.com/mwtoews\"\u003e\u003ccode\u003e@​mwtoews\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/360\"\u003eToblerity/rtree#360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor array-loading methods, add tests by \u003ca href=\"https://github.com/mwtoews\"\u003e\u003ccode\u003e@​mwtoews\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/361\"\u003eToblerity/rtree#361\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/cibuildwheel from 2.23.1 to 2.23.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/363\"\u003eToblerity/rtree#363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor refactor of code blocks in docs by \u003ca href=\"https://github.com/mwtoews\"\u003e\u003ccode\u003e@​mwtoews\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/362\"\u003eToblerity/rtree#362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/364\"\u003eToblerity/rtree#364\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve some issues in the batch API by \u003ca href=\"https://github.com/FreddieWitherden\"\u003e\u003ccode\u003e@​FreddieWitherden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/367\"\u003eToblerity/rtree#367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/cibuildwheel from 2.23.2 to 2.23.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/365\"\u003eToblerity/rtree#365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/373\"\u003eToblerity/rtree#373\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/cibuildwheel from 2.23.3 to 3.1.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/374\"\u003eToblerity/rtree#374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/cibuildwheel from 3.1.1 to 3.1.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/375\"\u003eToblerity/rtree#375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/369\"\u003e#369\u003c/a\u003e (load libspatialindex without changing cwd) by \u003ca href=\"https://github.com/remicres\"\u003e\u003ccode\u003e@​remicres\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/370\"\u003eToblerity/rtree#370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust CI build by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/376\"\u003eToblerity/rtree#376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI Refactor by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/377\"\u003eToblerity/rtree#377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003earm64 wheels on windows by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/378\"\u003eToblerity/rtree#378\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-artifact from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/379\"\u003eToblerity/rtree#379\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003egenerate a pre-release when a tag is pushed by \u003ca href=\"https://github.com/hobu\"\u003e\u003ccode\u003e@​hobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/380\"\u003eToblerity/rtree#380\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/Atilleusz\"\u003e\u003ccode\u003e@​Atilleusz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/358\"\u003eToblerity/rtree#358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remicres\"\u003e\u003ccode\u003e@​remicres\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Toblerity/rtree/pull/370\"\u003eToblerity/rtree#370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Toblerity/rtree/compare/1.4.0...1.4.1b1\"\u003ehttps://github.com/Toblerity/rtree/compare/1.4.0...1.4.1b1\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/Toblerity/rtree/blob/main/CHANGES.rst\"\u003ertree's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.4.1: 2025-08-13\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRename main branch references by :user:\u003ccode\u003emwtoews\u003c/code\u003e in :PR:\u003ccode\u003e356\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixing an incorrect reassignment in nearest_v and intersection_v by :user:\u003ccode\u003eAtilleusz\u003c/code\u003e in :PR:\u003ccode\u003e358\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd spatialindex version to tests, add common pytest configuration by :user:\u003ccode\u003emwtoews\u003c/code\u003e in :PR:\u003ccode\u003e360\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRefactor array-loading methods, add tests by :user:\u003ccode\u003emwtoews\u003c/code\u003e in :PR:\u003ccode\u003e361\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMinor refactor of code blocks in docs by :user:\u003ccode\u003emwtoews\u003c/code\u003e in :PR:\u003ccode\u003e362\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eResolve some issues in the batch API by :user:\u003ccode\u003eFreddieWitherden\u003c/code\u003e in :PR:\u003ccode\u003e367\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/369\"\u003e#369\u003c/a\u003e (load libspatialindex without changing cwd) by :user:\u003ccode\u003eremicres\u003c/code\u003e in :PR:\u003ccode\u003e370\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003earm64 wheels on windows by \u003ca href=\"https://github.com/w8sl\"\u003e\u003ccode\u003e@​w8sl\u003c/code\u003e\u003c/a\u003e in :PR:\u003ccode\u003e378\u003c/code\u003e and :PR:\u003ccode\u003e371\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003eFull Changelog \u0026lt;https://github.com/Toblerity/rtree/compare/1.4.0...1.4.1\u0026gt;\u003c/code\u003e__\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/4a46e61ae96067e7929965e11d93c386435e6723\"\u003e\u003ccode\u003e4a46e61\u003c/code\u003e\u003c/a\u003e add release notes and bump to 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/34c6efe1ec97f70fdae98b3196a46e9955f12a9b\"\u003e\u003ccode\u003e34c6efe\u003c/code\u003e\u003c/a\u003e only publish to pypi on released event (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/c29b7e71665d1c0c5b25bdc2d63085448744cb91\"\u003e\u003ccode\u003ec29b7e7\u003c/code\u003e\u003c/a\u003e fire CI when a pre-release is published (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/cc24560aa5021a7869bf6bbcb14ad35b2aaa2bb8\"\u003e\u003ccode\u003ecc24560\u003c/code\u003e\u003c/a\u003e generate a pre-release when a tag is pushed (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/380\"\u003e#380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/a057863814964081b4ffaea339ec61fec72a5e3b\"\u003e\u003ccode\u003ea057863\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/379\"\u003e#379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/e202aef456ab91d7ba3d723ba9daabaae22acefe\"\u003e\u003ccode\u003ee202aef\u003c/code\u003e\u003c/a\u003e bump to 1.4.1b1 for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/0ec34f3b5ef55eea15b3ba755886d99e880ecb2f\"\u003e\u003ccode\u003e0ec34f3\u003c/code\u003e\u003c/a\u003e silence warning about conda-remove-defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/02af863ce89198f654f15ebfadbfbbca6e6044e1\"\u003e\u003ccode\u003e02af863\u003c/code\u003e\u003c/a\u003e adapt \u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/371\"\u003e#371\u003c/a\u003e for arm64 wheels on windows (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/febd2bb667f8cf29f1b5422e39d46b5975b36b64\"\u003e\u003ccode\u003efebd2bb\u003c/code\u003e\u003c/a\u003e CI Refactor (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Toblerity/rtree/commit/18db6dc91cbba3156dc8114d6f1008ef30406906\"\u003e\u003ccode\u003e18db6dc\u003c/code\u003e\u003c/a\u003e Adjust CI build (\u003ca href=\"https://redirect.github.com/Toblerity/rtree/issues/376\"\u003e#376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Toblerity/rtree/compare/1.4.0...1.4.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.12.7 to 0.12.10\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.12.10\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Implement fix for \u003ccode\u003emaxsplit\u003c/code\u003e without separator (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19851\"\u003e#19851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fixes for \u003ccode\u003ePTH102\u003c/code\u003e and \u003ccode\u003ePTH103\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19514\"\u003e#19514\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Handle multiple continuation lines after module docstring (\u003ccode\u003eI002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19818\"\u003e#19818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid reporting \u003ccode\u003e__future__\u003c/code\u003e features as unnecessary when they are used (\u003ccode\u003eUP010\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Handle nested \u003ccode\u003eOptional\u003c/code\u003es (\u003ccode\u003eUP045\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19770\"\u003e#19770\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Make \u003ccode\u003eE731\u003c/code\u003e fix unsafe instead of display-only for class assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19700\"\u003e#19700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Add secondary annotation showing previous definition (\u003ccode\u003eF811\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19900\"\u003e#19900\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix description of global config file discovery strategy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19188\"\u003e#19188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate outdated links to \u003ca href=\"https://typing.python.org/en/latest/source/stubs.html\"\u003ehttps://typing.python.org/en/latest/source/stubs.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19992\"\u003e#19992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Remove unused import in example (\u003ccode\u003eANN401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20000\"\u003e#20000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\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/Avasam\"\u003e\u003ccode\u003e@​Avasam\u003c/code\u003e\u003c/a\u003e\u003c/li\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/Cjkjvfnby\"\u003e\u003ccode\u003e@​Cjkjvfnby\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/IDrokin117\"\u003e\u003ccode\u003e@​IDrokin117\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatthewMckee4\"\u003e\u003ccode\u003e@​MatthewMckee4\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/PrettyWood\"\u003e\u003ccode\u003e@​PrettyWood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RazerM\"\u003e\u003ccode\u003e@​RazerM\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/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/dcreager\"\u003e\u003ccode\u003e@​dcreager\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/ericmarkmartin\"\u003e\u003ccode\u003e@​ericmarkmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gkowzan\"\u003e\u003ccode\u003e@​gkowzan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshiba\"\u003e\u003ccode\u003e@​mtshiba\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/renovate\"\u003e\u003ccode\u003e@​renovate\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/theammir\"\u003e\u003ccode\u003e@​theammir\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.12.10\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Implement fix for \u003ccode\u003emaxsplit\u003c/code\u003e without separator (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19851\"\u003e#19851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add fixes for \u003ccode\u003ePTH102\u003c/code\u003e and \u003ccode\u003ePTH103\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19514\"\u003e#19514\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Handle multiple continuation lines after module docstring (\u003ccode\u003eI002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19818\"\u003e#19818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid reporting \u003ccode\u003e__future__\u003c/code\u003e features as unnecessary when they are used (\u003ccode\u003eUP010\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Handle nested \u003ccode\u003eOptional\u003c/code\u003es (\u003ccode\u003eUP045\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19770\"\u003e#19770\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Make \u003ccode\u003eE731\u003c/code\u003e fix unsafe instead of display-only for class assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19700\"\u003e#19700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Add secondary annotation showing previous definition (\u003ccode\u003eF811\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19900\"\u003e#19900\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix description of global config file discovery strategy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19188\"\u003e#19188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate outdated links to \u003ca href=\"https://typing.python.org/en/latest/source/stubs.html\"\u003ehttps://typing.python.org/en/latest/source/stubs.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19992\"\u003e#19992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Remove unused import in example (\u003ccode\u003eANN401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20000\"\u003e#20000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.12.9\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Add check for \u003ccode\u003eairflow.secrets.cache.SecretCache\u003c/code\u003e (\u003ccode\u003eAIR301\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/17707\"\u003e#17707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Offer a safe fix for multi-digit zeros (\u003ccode\u003eRUF064\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19847\"\u003e#19847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-blind-except\u003c/code\u003e] Fix \u003ccode\u003eBLE001\u003c/code\u003e false-positive on \u003ccode\u003eraise ... from None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19755\"\u003e#19755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Fix false positive for \u003ccode\u003eC420\u003c/code\u003e with attribute, subscript, or slice assignment targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19513\"\u003e#19513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Fix handling of U+001C..U+001F whitespace (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19849\"\u003e#19849\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Use lowercase hex characters to match the formatter (\u003ccode\u003ePLE2513\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19808\"\u003e#19808\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elint.future-annotations\u003c/code\u003e link (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19876\"\u003e#19876\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBuild \u003ccode\u003eriscv64\u003c/code\u003e binaries for release (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19819\"\u003e#19819\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd rule code to error description in GitLab output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19896\"\u003e#19896\u003c/a\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/astral-sh/ruff/commit/c68ff8d90b57e2fc525d905527c1e9e0919802b0\"\u003e\u003ccode\u003ec68ff8d\u003c/code\u003e\u003c/a\u003e Bump 0.12.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20025\"\u003e#20025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5931a5207de19583484e53b5b5d9583690f22f6e\"\u003e\u003ccode\u003e5931a52\u003c/code\u003e\u003c/a\u003e [ty] Stop running every mdtest twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/692be72f5aff65bfea504504c54d82112657c98a\"\u003e\u003ccode\u003e692be72\u003c/code\u003e\u003c/a\u003e Move diff rendering to \u003ccode\u003eruff_db\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20006\"\u003e#20006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/14fe1228e72dca90db6b3dbb7e07f973d175ea0e\"\u003e\u003ccode\u003e14fe122\u003c/code\u003e\u003c/a\u003e [ty] Perform assignability etc checks using new \u003ccode\u003eConstraints\u003c/code\u003e trait (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19838\"\u003e#19838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/045cba382ad4ba019146192d3124f99fe1deb752\"\u003e\u003ccode\u003e045cba3\u003c/code\u003e\u003c/a\u003e [ty] Use \u003ccode\u003ededent\u003c/code\u003e in cursor tests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a5cbca156ccba18900f95d5597db9ed2935a31d6\"\u003e\u003ccode\u003ea5cbca1\u003c/code\u003e\u003c/a\u003e Fix rust feature activation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20012\"\u003e#20012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d43a3d34dda1c9d90114955ffb4dc8039c5ecfae\"\u003e\u003ccode\u003ed43a3d3\u003c/code\u003e\u003c/a\u003e [ty] Avoid unnecessary argument type expansion (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19999\"\u003e#19999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/99111961c05a92d2fac4f1b93e0b27eb391cf891\"\u003e\u003ccode\u003e9911196\u003c/code\u003e\u003c/a\u003e [ty] Add link for namespaces being partial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/859475f017c3295ba2dbac144dcefdb2a2318250\"\u003e\u003ccode\u003e859475f\u003c/code\u003e\u003c/a\u003e [ty] add docstrings to completions based on type (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20008\"\u003e#20008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7b75aee21d45bb84e6bb4d747cd5715dd0d03c95\"\u003e\u003ccode\u003e7b75aee\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid reporting \u003ccode\u003e__future__\u003c/code\u003e features as unnecessary when they ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.12.7...0.12.10\"\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/ASFHyP3/hyp3-gamma/pull/665","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ASFHyP3%2Fhyp3-gamma/issues/665","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/665/packages"}},{"old_version":"0.12.3","new_version":"0.12.7","update_type":"patch","path":null,"pr_created_at":"2025-08-04T12:20:15.000Z","version_change":"0.12.3 → 0.12.7","issue":{"uuid":"2717771799","node_id":"PR_kwDOM_QUS86h_egX","number":777,"state":"closed","title":"build(deps): bump the minor-and-patch group with 4 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-08-05T06:27:57.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-04T12:20:15.000Z","updated_at":"2025-08-05T06:27:57.000Z","time_to_close":65262,"merged_at":"2025-08-05T06:27:57.000Z","merged_by":"tgvashworth","closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"minor-and-patch","update_count":4,"packages":[{"name":"docutils","old_version":"0.21.2","new_version":"0.22","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"jsonschema","old_version":"4.24.0","new_version":"4.25.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"playwright","old_version":"1.53.0","new_version":"1.54.0","repository_url":"https://github.com/microsoft/playwright-python"},{"name":"ruff","old_version":"0.12.3","new_version":"0.12.7","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"conda"},"body":"Bumps the minor-and-patch group with 4 updates: [docutils](https://github.com/rtfd/recommonmark), [jsonschema](https://github.com/python-jsonschema/jsonschema), [playwright](https://github.com/microsoft/playwright-python) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `docutils` from 0.21.2 to 0.22\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rtfd/recommonmark/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsonschema` from 4.24.0 to 4.25.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003eiri\u003c/code\u003e and \u003ccode\u003eiri-reference\u003c/code\u003e formats to the \u003ccode\u003eformat-nongpl\u003c/code\u003e extra by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1388\"\u003epython-jsonschema/jsonschema#1388\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/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1388\"\u003epython-jsonschema/jsonschema#1388\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.24.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUnambiguously quote and escape properties in JSON path rendering by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1390\"\u003epython-jsonschema/jsonschema#1390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop python\u0026lt;3.9 backports by \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1367\"\u003epython-jsonschema/jsonschema#1367\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/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1367\"\u003epython-jsonschema/jsonschema#1367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1390\"\u003epython-jsonschema/jsonschema#1390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.24.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.24.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003eiri\u003c/code\u003e and \u003ccode\u003eiri-reference\u003c/code\u003e formats to the \u003ccode\u003eformat-nongpl\u003c/code\u003e extra via the MIT-licensed \u003ccode\u003erfc3987-syntax\u003c/code\u003e.\nThey were alread supported by the \u003ccode\u003eformat\u003c/code\u003e extra. (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1388\"\u003e#1388\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.24.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly escape segments in \u003ccode\u003eValidationError.json_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/139\"\u003e#139\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/python-jsonschema/jsonschema/commit/9889f69eb5ccb532e2147465697f30c82b2a8bb0\"\u003e\u003ccode\u003e9889f69\u003c/code\u003e\u003c/a\u003e Add the new functionality to the CHANGELOG.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/18855d01f7839083efc5bad1ca67688a7177be42\"\u003e\u003ccode\u003e18855d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1388\"\u003e#1388\u003c/a\u003e from jkowalleck/feat/validate_rfc3987_non-gpl/rfc398...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1a6067fc441177d1911446c7325eee7c776007ae\"\u003e\u003ccode\u003e1a6067f\u003c/code\u003e\u003c/a\u003e adjust rfc3987-syntax min-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6aadb8b7ad7f9d5eee58eed73df5a7d865dad34c\"\u003e\u003ccode\u003e6aadb8b\u003c/code\u003e\u003c/a\u003e Add the fix to the CHANGELOG.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/785741e73b63d97eda3973442b109df3f8aa5892\"\u003e\u003ccode\u003e785741e\u003c/code\u003e\u003c/a\u003e Add a dependency group for our new test dependency.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/dc547341f2a3304d73114b1d18da063be7fc43e0\"\u003e\u003ccode\u003edc54734\u003c/code\u003e\u003c/a\u003e Add a uv.lock.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/b5572c9971358be547bbcf614a304f85886c1627\"\u003e\u003ccode\u003eb5572c9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1390\"\u003e#1390\u003c/a\u003e from kurtmckee/fix-json_path-str-rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/4cf45b95de90191b02396bd04d41760d9798ecd6\"\u003e\u003ccode\u003e4cf45b9\u003c/code\u003e\u003c/a\u003e Feedback: Use jsonpath-ng to re-parse the rendered JSON path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/2680f6ab44d6fe36d321fef6ee626608a5f0ec7a\"\u003e\u003ccode\u003e2680f6a\u003c/code\u003e\u003c/a\u003e Feedback: Make a compiled regex pattern private\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/9a957d770d6e63646f4fc874bf8df6be4593f8c8\"\u003e\u003ccode\u003e9a957d7\u003c/code\u003e\u003c/a\u003e Unambiguously quote and escape properties in JSON path rendering\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.25.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `playwright` from 1.53.0 to 1.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright-python/releases\"\u003eplaywright's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.54.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNew cookie property \u003ccode\u003epartition_key\u003c/code\u003e in \u003ca href=\"https://playwright.dev/python/docs/api/class-browsercontext#browser-context-cookies\"\u003eBrowserContext.cookies()\u003c/a\u003e and \u003ca href=\"https://playwright.dev/python/docs/api/class-browsercontext#browser-context-add-cookies\"\u003ebrowserContext.add_cookies()\u003c/a\u003e. This property allows to save and restore partitioned cookies. See \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/Privacy/Guides/Privacy_sandbox/Partitioned_cookies\"\u003eCHIPS MDN article\u003c/a\u003e for more information. Note that browsers have different support and defaults for cookie partitioning.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew option \u003ccode\u003e--user-data-dir\u003c/code\u003e in multiple commands. You can specify the same user data dir to reuse browsing state, like authentication, between sessions.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eplaywright codegen --user-data-dir=./user-data\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eplaywright open\u003c/code\u003e does not open the test recorder anymore. Use \u003ccode\u003eplaywright codegen\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBrowser Versions\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChromium 139.0.7258.5\u003c/li\u003e\n\u003cli\u003eMozilla Firefox 140.0.2\u003c/li\u003e\n\u003cli\u003eWebKit 26.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis version was also tested against the following stable channels:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGoogle Chrome 140\u003c/li\u003e\n\u003cli\u003eMicrosoft Edge 140\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/microsoft/playwright-python/commit/cc27d2512920d9bc7208722d3293815f3f2e6139\"\u003e\u003ccode\u003ecc27d25\u003c/code\u003e\u003c/a\u003e test: update client certificate test certs (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2923\"\u003e#2923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/bd5b0331e67ed22bc75417092e87a456dd73c832\"\u003e\u003ccode\u003ebd5b033\u003c/code\u003e\u003c/a\u003e chore: roll to 1.54.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/6af4fb2ac5951576b8a47ce553aacf84f2ef5561\"\u003e\u003ccode\u003e6af4fb2\u003c/code\u003e\u003c/a\u003e chore: roll to 1.54.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2913\"\u003e#2913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/3f957528af49f6c5314b0fdb5317e15eeb87bb5e\"\u003e\u003ccode\u003e3f95752\u003c/code\u003e\u003c/a\u003e build(deps): bump pytest from 8.4.0 to 8.4.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/8cd92566bc6724d54216c4aa333546c3906c81b4\"\u003e\u003ccode\u003e8cd9256\u003c/code\u003e\u003c/a\u003e fix: Make context manager \u003cstrong\u003eexit\u003c/strong\u003e/\u003cstrong\u003eaexit\u003c/strong\u003e signatures compatible with typin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/6157d89ed543719a7e149f1debf0d0fd1de73a1d\"\u003e\u003ccode\u003e6157d89\u003c/code\u003e\u003c/a\u003e build(deps): bump typing-extensions from 4.13.2 to 4.14.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-python/commit/b7882d99feae7d5b31bb83c814c55abf2090461d\"\u003e\u003ccode\u003eb7882d9\u003c/code\u003e\u003c/a\u003e fix(api): ignore deprecated timeout arg provided to is_visible/hidden (\u003ca href=\"https://redirect.github.com/microsoft/playwright-python/issues/2905\"\u003e#2905\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/playwright-python/compare/v1.53.0...v1.54.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.12.3 to 0.12.7\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.12.7\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eThis is a follow-up release to 0.12.6. Because of an issue in the package metadata, 0.12.6 failed to publish fully to PyPI and has been yanked. Similarly, there is no GitHub release or Git tag for 0.12.6. The contents of the 0.12.7 release are identical to 0.12.6, except for the updated metadata.\u003c/p\u003e\n\u003ch2\u003e0.12.6 Release Notes\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-commas\u003c/code\u003e] Add support for trailing comma checks in type parameter lists (\u003ccode\u003eCOM812\u003c/code\u003e, \u003ccode\u003eCOM819\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19390\"\u003e#19390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement auto-fix for \u003ccode\u003emissing-maxsplit-arg\u003c/code\u003e (\u003ccode\u003ePLC0207\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19387\"\u003e#19387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Offer fixes for \u003ccode\u003eRUF039\u003c/code\u003e in more cases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19065\"\u003e#19065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003e.pyi\u003c/code\u003e files in ruff analyze graph (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19611\"\u003e#19611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Preserve inline comment in ellipsis removal (\u003ccode\u003ePYI013\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19399\"\u003e#19399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eperflint\u003c/code\u003e] Ignore rule if target is \u003ccode\u003eglobal\u003c/code\u003e or \u003ccode\u003enonlocal\u003c/code\u003e (\u003ccode\u003ePERF401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19539\"\u003e#19539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP030\u003c/code\u003e to avoid modifying double curly braces in format strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19378\"\u003e#19378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Ignore decorated functions for \u003ccode\u003eFURB118\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19339\"\u003e#19339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003eint\u003c/code\u003e and \u003ccode\u003ebool\u003c/code\u003e cases for \u003ccode\u003eDecimal.from_float\u003c/code\u003e as safe fixes (\u003ccode\u003eFURB164\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19468\"\u003e#19468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix \u003ccode\u003eRUF033\u003c/code\u003e for named default expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19115\"\u003e#19115\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-blind-except\u003c/code\u003e] Change \u003ccode\u003eBLE001\u003c/code\u003e to permit \u003ccode\u003elogging.critical(..., exc_info=True)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19520\"\u003e#19520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for specifying minimum dots in detected string imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19538\"\u003e#19538\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\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/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CodeMan62\"\u003e\u003ccode\u003e@​CodeMan62\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\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/Luunynliny\"\u003e\u003ccode\u003e@​Luunynliny\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/UnboundVariable\"\u003e\u003ccode\u003e@​UnboundVariable\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clockback\"\u003e\u003ccode\u003e@​clockback\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/dcreager\"\u003e\u003ccode\u003e@​dcreager\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/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junhsonjb\"\u003e\u003ccode\u003e@​junhsonjb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshiba\"\u003e\u003ccode\u003e@​mtshiba\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.12.7\u003c/h2\u003e\n\u003cp\u003eThis is a follow-up release to 0.12.6. Because of an issue in the package metadata, 0.12.6 failed to publish fully to PyPI and has been yanked. Similarly, there is no GitHub release or Git tag for 0.12.6. The contents of the 0.12.7 release are identical to 0.12.6, except for the updated metadata.\u003c/p\u003e\n\u003ch2\u003e0.12.6\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-commas\u003c/code\u003e] Add support for trailing comma checks in type parameter lists (\u003ccode\u003eCOM812\u003c/code\u003e, \u003ccode\u003eCOM819\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19390\"\u003e#19390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement auto-fix for \u003ccode\u003emissing-maxsplit-arg\u003c/code\u003e (\u003ccode\u003ePLC0207\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19387\"\u003e#19387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Offer fixes for \u003ccode\u003eRUF039\u003c/code\u003e in more cases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19065\"\u003e#19065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003e.pyi\u003c/code\u003e files in ruff analyze graph (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19611\"\u003e#19611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Preserve inline comment in ellipsis removal (\u003ccode\u003ePYI013\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19399\"\u003e#19399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eperflint\u003c/code\u003e] Ignore rule if target is \u003ccode\u003eglobal\u003c/code\u003e or \u003ccode\u003enonlocal\u003c/code\u003e (\u003ccode\u003ePERF401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19539\"\u003e#19539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP030\u003c/code\u003e to avoid modifying double curly braces in format strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19378\"\u003e#19378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Ignore decorated functions for \u003ccode\u003eFURB118\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19339\"\u003e#19339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003eint\u003c/code\u003e and \u003ccode\u003ebool\u003c/code\u003e cases for \u003ccode\u003eDecimal.from_float\u003c/code\u003e as safe fixes (\u003ccode\u003eFURB164\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19468\"\u003e#19468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix \u003ccode\u003eRUF033\u003c/code\u003e for named default expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19115\"\u003e#19115\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-blind-except\u003c/code\u003e] Change \u003ccode\u003eBLE001\u003c/code\u003e to permit \u003ccode\u003elogging.critical(..., exc_info=True)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19520\"\u003e#19520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for specifying minimum dots in detected string imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19538\"\u003e#19538\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.12.5\u003c/h2\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Add autofix for \u003ccode\u003ePTH101\u003c/code\u003e, \u003ccode\u003ePTH104\u003c/code\u003e, \u003ccode\u003ePTH105\u003c/code\u003e, \u003ccode\u003ePTH121\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19404\"\u003e#19404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Support byte strings (\u003ccode\u003eRUF055\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/18926\"\u003e#18926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eunreachable\u003c/code\u003e panic in parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19183\"\u003e#19183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Skip fix if all \u003ccode\u003eUnion\u003c/code\u003e members are \u003ccode\u003eNone\u003c/code\u003e (\u003ccode\u003ePYI016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19416\"\u003e#19416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eperflint\u003c/code\u003e] Parenthesize generator expressions (\u003ccode\u003ePERF401\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19325\"\u003e#19325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Handle empty comments after line continuation (\u003ccode\u003ePLR2044\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19405\"\u003e#19405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epep8-naming\u003c/code\u003e] Fix \u003ccode\u003eN802\u003c/code\u003e false positives for \u003ccode\u003eCGIHTTPRequestHandler\u003c/code\u003e and \u003ccode\u003eSimpleHTTPRequestHandler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19432\"\u003e#19432\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.12.4\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/astral-sh/ruff/commit/c5ac998892a339be0304c7f9e69a5318b371deb8\"\u003e\u003ccode\u003ec5ac998\u003c/code\u003e\u003c/a\u003e Bump 0.12.7 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19627\"\u003e#19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/04a8f64cd731580c77a4e444f02c8eb873c673ac\"\u003e\u003ccode\u003e04a8f64\u003c/code\u003e\u003c/a\u003e Revert \u003ccode\u003elicense\u003c/code\u003e and \u003ccode\u003elicense-files\u003c/code\u003e changes in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19624\"\u003e#19624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6e00adf308c9aa8681930d2498b0efc87f6da2a2\"\u003e\u003ccode\u003e6e00adf\u003c/code\u003e\u003c/a\u003e Bump 0.12.6 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19622\"\u003e#19622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/864196b988a4f1d783eb40477fac4e2cea8334a2\"\u003e\u003ccode\u003e864196b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eChecker::context\u003c/code\u003e method, deduplicate Unicode checks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19609\"\u003e#19609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ae26fa020c0a1fc90f45281fd2b2ebbd86d6c647\"\u003e\u003ccode\u003eae26fa0\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-pyi\u003c/code\u003e] Preserve inline comment in ellipsis removal (\u003ccode\u003ePYI013\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/19399\"\u003e#19399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/88a679945ce405c5de8ed819aadad97e65abd2e0\"\u003e\u003ccode\u003e88a6799\u003c/code\u003e\u003c/a\u003e [ty] Add flow diagram for import resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/941be523583aafecea6f88e454e092fe5d97ee28\"\u003e\u003ccode\u003e941be52\u003c/code\u003e\u003c/a\u003e [ty] Add comments to some core resolver functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/13624ce17fba2be4788ed090dd3112357f4e896b\"\u003e\u003ccode\u003e13624ce\u003c/code\u003e\u003c/a\u003e [ty] Add missing ticks and use consistent quoting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/edb2f8e997fa0ca79eb73d30f513843cb9e94d70\"\u003e\u003ccode\u003eedb2f8e\u003c/code\u003e\u003c/a\u003e [ty] Reflow some long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5e6ad849ff164893ce78101234cc3a168b46735a\"\u003e\u003ccode\u003e5e6ad84\u003c/code\u003e\u003c/a\u003e [ty] Unexport helper function\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.12.3...0.12.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/gyrinx-app/gyrinx/pull/777","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gyrinx-app%2Fgyrinx/issues/777","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/777/packages"}}]}