{"id":68738,"name":"prek","ecosystem":"pip","repository_url":"https://github.com/j178/prek","issues_count":196,"created_at":"2025-09-15T18:13:28.869Z","updated_at":"2025-09-15T18:13:28.869Z","purl":"pkg:pypi/prek","metadata":{"id":11989393,"name":"prek","ecosystem":"pypi","description":"Better `pre-commit`, re-engineered in Rust","homepage":"https://github.com/j178/prek","licenses":"MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/j178/prek","keywords_array":["pre-commit","git","hooks"],"namespace":null,"versions_count":20,"first_release_published_at":"2025-08-08T14:54:47.000Z","latest_release_published_at":"2025-09-14T04:52:20.000Z","latest_release_number":"0.2.0","last_synced_at":"2025-09-15T09:55:06.044Z","created_at":"2025-08-08T15:00:51.599Z","updated_at":"2025-09-17T15:39:33.026Z","registry_url":"https://pypi.org/project/prek/","install_command":"pip install prek --index-url https://pypi.org/simple","documentation_url":"https://prek.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 2 - Pre-Alpha","Environment :: Console","Intended Audience :: Developers","License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Rust","Topic :: Software Development :: Quality Assurance"],"normalized_name":"prek","project_status":null},"repo_metadata":{"id":260052936,"uuid":"868811259","full_name":"j178/prek","owner":"j178","description":"⚡ Better `pre-commit`, re-engineered in Rust","archived":false,"fork":false,"pushed_at":"2025-09-15T09:06:49.000Z","size":4520,"stargazers_count":1376,"open_issues_count":60,"forks_count":48,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-09-15T09:39:26.480Z","etag":null,"topics":["git","git-hooks","pre-commit"],"latest_commit_sha":null,"homepage":"https://prek.j178.dev/","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/j178.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"j178"}},"created_at":"2024-10-07T08:21:29.000Z","updated_at":"2025-09-15T09:06:53.000Z","dependencies_parsed_at":"2024-12-19T05:19:50.259Z","dependency_job_id":"35807a7e-672f-43d9-81d5-92a273d54888","html_url":"https://github.com/j178/prek","commit_stats":{"total_commits":243,"total_committers":5,"mean_commits":48.6,"dds":"0.020576131687242816","last_synced_commit":"f5772a2f059f997d0c82c48a7a150374bfef8e2d"},"previous_names":["j178/pre-commit-rs","j178/prefligit","j178/prek"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/j178/prek","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/j178","download_url":"https://codeload.github.com/j178/prek/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275411090,"owners_count":25460100,"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-09-16T02:00:10.229Z","response_time":65,"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":"j178","name":"Jo","uuid":"10510431","kind":"user","description":"that ship has sailed","email":"","website":null,"location":null,"twitter":"niceoe","company":null,"icon_url":"https://avatars.githubusercontent.com/u/10510431?u=fbb25027b39b057a21ebc1d8a7cb2dc8472e1c9d\u0026v=4","repositories_count":135,"last_synced_at":"2025-09-14T16:40:36.670Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"j178"}},"html_url":"https://github.com/j178","funding_links":["https://github.com/sponsors/j178"],"total_stars":2408,"followers":406,"following":181,"created_at":"2022-11-15T02:19:51.053Z","updated_at":"2025-09-14T16:40:36.671Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/j178","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/j178/repositories"},"tags":[{"name":"v0.2.0","sha":"e3eeb39fd1523b79d3eff6015946c9b415898f85","kind":"commit","published_at":"2025-09-14T04:43:16.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.2.0","html_url":"https://github.com/j178/prek/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0/manifests"},{"name":"v0.2.0-alpha.5","sha":"98e0b71a61db8c9dbfb130fc83da0a9b2625e07d","kind":"commit","published_at":"2025-09-11T02:52:26.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.2.0-alpha.5","html_url":"https://github.com/j178/prek/releases/tag/v0.2.0-alpha.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.2.0-alpha.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0-alpha.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0-alpha.5/manifests"},{"name":"v0.2.0-alpha.4","sha":"d3825a1fad77ee2660512a1df0c2e7c32df04a06","kind":"commit","published_at":"2025-09-09T16:44:20.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.2.0-alpha.4","html_url":"https://github.com/j178/prek/releases/tag/v0.2.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.2.0-alpha.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0-alpha.4/manifests"},{"name":"v0.2.0-alpha.3","sha":"d5f2d6b303e93749779d6e0f2333210254d79611","kind":"commit","published_at":"2025-09-08T07:21:24.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.2.0-alpha.3","html_url":"https://github.com/j178/prek/releases/tag/v0.2.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.2.0-alpha.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0-alpha.3/manifests"},{"name":"v0.2.0-alpha.2","sha":"e404b618cff5b089853bf9a721eaf73c255bac74","kind":"commit","published_at":"2025-09-07T08:01:00.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.2.0-alpha.2","html_url":"https://github.com/j178/prek/releases/tag/v0.2.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.2.0-alpha.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0-alpha.2/manifests"},{"name":"v0.2.0-alpha.1","sha":"2ad6d1b2da0d613df468397c758e0d267e5076b3","kind":"commit","published_at":"2025-09-07T07:24:27.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.2.0-alpha.1","html_url":"https://github.com/j178/prek/releases/tag/v0.2.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.2.0-alpha.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.2.0-alpha.1/manifests"},{"name":"v0.1.6","sha":"2092da67dc177650938b7c99d9380767860d96fb","kind":"commit","published_at":"2025-09-03T12:01:08.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.1.6","html_url":"https://github.com/j178/prek/releases/tag/v0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.6/manifests"},{"name":"v0.1.5","sha":"946e80e9629b60f6d0d251fd2e14dcd702d6f8ca","kind":"commit","published_at":"2025-09-01T18:49:32.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.1.5","html_url":"https://github.com/j178/prek/releases/tag/v0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.5/manifests"},{"name":"v0.1.4","sha":"1e14466240da9b372c82f327ac09a234bf24603f","kind":"commit","published_at":"2025-08-26T16:18:54.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.1.4","html_url":"https://github.com/j178/prek/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.4/manifests"},{"name":"v0.1.3","sha":"78f785ad64e247dce1a9bbb31fc620bb1b1e4068","kind":"commit","published_at":"2025-08-25T09:35:36.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.1.3","html_url":"https://github.com/j178/prek/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"e072d4f67d2846473d68f2d81a70be855b6d59b6","kind":"commit","published_at":"2025-08-21T04:04:53.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.1.2","html_url":"https://github.com/j178/prek/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"cdd2319b6087cc83caa9dcc4596f5d500f5b0480","kind":"commit","published_at":"2025-08-20T11:17:49.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.1.1","html_url":"https://github.com/j178/prek/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.1.1/manifests"},{"name":"v0.0.29","sha":"32174ff029a07c52d2baeba52a8c4ff1cc534610","kind":"commit","published_at":"2025-08-18T15:01:02.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.29","html_url":"https://github.com/j178/prek/releases/tag/v0.0.29","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.29","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.29","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.29/manifests"},{"name":"v0.0.28","sha":"f2f7ba0e5a408a894d0f26c8d00b16902a8718ea","kind":"commit","published_at":"2025-08-18T06:48:49.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.28","html_url":"https://github.com/j178/prek/releases/tag/v0.0.28","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.28","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.28","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.28/manifests"},{"name":"v0.0.27","sha":"6e2a9f4d315ff7b792cf31b15a86ffccf92f8938","kind":"commit","published_at":"2025-08-17T10:12:48.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.27","html_url":"https://github.com/j178/prek/releases/tag/v0.0.27","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.27","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.27","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.27/manifests"},{"name":"v0.0.26","sha":"070db96f418c04eda9178c1f214dff05136e3175","kind":"commit","published_at":"2025-08-16T03:57:11.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.26","html_url":"https://github.com/j178/prek/releases/tag/v0.0.26","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.26","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.26","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.26/manifests"},{"name":"v0.0.25","sha":"e0426ed6f4bbf6a3a27110daa7a932c9d766af19","kind":"commit","published_at":"2025-08-14T16:15:51.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.25","html_url":"https://github.com/j178/prek/releases/tag/v0.0.25","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.25","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.25/manifests"},{"name":"v0.0.24","sha":"77fb92dff2a549df189851bb0e0103391fd8d8e5","kind":"commit","published_at":"2025-08-11T11:37:28.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.24","html_url":"https://github.com/j178/prek/releases/tag/v0.0.24","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.24","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.24/manifests"},{"name":"v0.0.23","sha":"96fed00c5587c6bb48eb0ee4cdf37d8672629cc6","kind":"commit","published_at":"2025-08-08T15:29:15.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.23","html_url":"https://github.com/j178/prek/releases/tag/v0.0.23","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.23","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.23/manifests"},{"name":"v0.0.22","sha":"0ccf454387af1bf575505379e406a6d3fb8aff27","kind":"commit","published_at":"2025-08-07T17:13:31.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.22","html_url":"https://github.com/j178/prek/releases/tag/v0.0.22","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.22","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.22/manifests"},{"name":"v0.0.21","sha":"3c40b0032a1863b486d4525a236f4a17a02f312c","kind":"commit","published_at":"2025-08-06T12:06:28.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.21","html_url":"https://github.com/j178/prek/releases/tag/v0.0.21","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.21","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.21/manifests"},{"name":"v0.0.20","sha":"56908cfa16220c1f8aedf926e2112c11078f7b8f","kind":"commit","published_at":"2025-08-05T11:51:19.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.20","html_url":"https://github.com/j178/prek/releases/tag/v0.0.20","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.20","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.20/manifests"},{"name":"v0.0.19","sha":"c30a95f3a9bc11f66224720031a2af9212663c66","kind":"commit","published_at":"2025-08-04T17:40:09.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.19","html_url":"https://github.com/j178/prek/releases/tag/v0.0.19","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.19","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.19/manifests"},{"name":"v0.0.18","sha":"40bdff4d7f5cd2e21c8853db6da2b1fd84e1c61e","kind":"commit","published_at":"2025-08-04T13:26:41.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.18","html_url":"https://github.com/j178/prek/releases/tag/v0.0.18","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.18","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.18/manifests"},{"name":"v0.0.17","sha":"9370e9800e97665ad98db755d2d04509f88dc9be","kind":"commit","published_at":"2025-08-03T12:51:34.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.17","html_url":"https://github.com/j178/prek/releases/tag/v0.0.17","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.17","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.17/manifests"},{"name":"v0.0.16","sha":"5ef4db3ed93a88b8ea0dfa9e0456efe856b390ed","kind":"commit","published_at":"2025-08-02T13:07:56.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.16","html_url":"https://github.com/j178/prek/releases/tag/v0.0.16","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.16","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.16/manifests"},{"name":"v0.0.15","sha":"49a200473c5570f197c170bcbc55fae50f2fe07c","kind":"commit","published_at":"2025-08-02T03:18:00.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.15","html_url":"https://github.com/j178/prek/releases/tag/v0.0.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.15/manifests"},{"name":"v0.0.14","sha":"baf6145bb8308bd9b82bfd7a6f9ef1fad30017ba","kind":"commit","published_at":"2025-08-01T04:17:34.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.14","html_url":"https://github.com/j178/prek/releases/tag/v0.0.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.14/manifests"},{"name":"v0.0.13","sha":"f422b2e0cdcc7ffc3c2fde41be26830b4d25dd76","kind":"commit","published_at":"2025-07-31T16:34:37.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.13","html_url":"https://github.com/j178/prek/releases/tag/v0.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.13/manifests"},{"name":"v0.0.12","sha":"fe931547dd3d151d9fb32238cbec3a22fc4066df","kind":"commit","published_at":"2025-07-29T02:19:16.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.12","html_url":"https://github.com/j178/prek/releases/tag/v0.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.12/manifests"},{"name":"v0.0.11","sha":"c3fcb70247e227da010e193886c64f1a3e5ad20e","kind":"commit","published_at":"2025-07-28T09:05:46.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.11","html_url":"https://github.com/j178/prek/releases/tag/v0.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.11/manifests"},{"name":"v0.0.10","sha":"781b6ac45ca84350682d34ed2312914abd15e31f","kind":"commit","published_at":"2025-02-18T08:33:42.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.10","html_url":"https://github.com/j178/prek/releases/tag/v0.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.10/manifests"},{"name":"v0.0.8","sha":"f80b0e568e797c31366d0de61a6c63b966044b92","kind":"commit","published_at":"2025-01-06T11:20:53.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.8","html_url":"https://github.com/j178/prek/releases/tag/v0.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.8/manifests"},{"name":"v0.0.7","sha":"7ba41bf77e7818578d4f152437e6839d982c65e6","kind":"commit","published_at":"2024-12-09T09:33:09.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.7","html_url":"https://github.com/j178/prek/releases/tag/v0.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.7/manifests"},{"name":"v0.0.6","sha":"8dfb3101ff04c3c19df8d4b66effb28b2d9f9b0a","kind":"commit","published_at":"2024-12-03T05:20:00.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.6","html_url":"https://github.com/j178/prek/releases/tag/v0.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.6/manifests"},{"name":"v0.0.5","sha":"476f693d2e962e42f18d896a3c3b48fc623b0be3","kind":"commit","published_at":"2024-11-21T14:58:39.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.5","html_url":"https://github.com/j178/prek/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"d617786d3e3d31e5c705d5b23b6cd2a02b707feb","kind":"tag","published_at":"2024-11-21T14:55:54.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.4","html_url":"https://github.com/j178/prek/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"d4015b4d67ef70a35fa7142c9c78da9ab44bae64","kind":"commit","published_at":"2024-11-18T07:22:22.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.3","html_url":"https://github.com/j178/prek/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"85aed24fb8bb7be6b88bf17fc2ca69d1cdc8bbb0","kind":"commit","published_at":"2024-11-16T15:09:43.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.2","html_url":"https://github.com/j178/prek/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"4d1ee801c85274b611de19851e96688cbb06e48d","kind":"commit","published_at":"2024-10-31T06:54:00.000Z","download_url":"https://codeload.github.com/j178/prek/tar.gz/v0.0.1","html_url":"https://github.com/j178/prek/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/j178/prek@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2025-09-17T15:39:33.026Z","dependent_packages_count":0,"downloads":5191431,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":49.10951478313177,"dependent_packages_count":8.714458581350941,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":28.911986682241356},"purl":"pkg:pypi/prek","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/prek","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/prek","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/prek/dependencies","status":null,"funding_links":["https://github.com/sponsors/j178"],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-17T14:12:18.075Z","issues_count":77,"pull_requests_count":180,"avg_time_to_close_issue":1567363.8235294118,"avg_time_to_close_pull_request":28257.55652173913,"issues_closed_count":51,"pull_requests_closed_count":115,"pull_request_authors_count":19,"issue_authors_count":36,"avg_comments_per_issue":1.1428571428571428,"avg_comments_per_pull_request":0.4222222222222222,"merged_pull_requests_count":109,"bot_issues_count":0,"bot_pull_requests_count":43,"past_year_issues_count":77,"past_year_pull_requests_count":180,"past_year_avg_time_to_close_issue":1567363.8235294118,"past_year_avg_time_to_close_pull_request":28257.55652173913,"past_year_issues_closed_count":51,"past_year_pull_requests_closed_count":115,"past_year_pull_request_authors_count":19,"past_year_issue_authors_count":36,"past_year_avg_comments_per_issue":1.1428571428571428,"past_year_avg_comments_per_pull_request":0.4222222222222222,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":43,"past_year_merged_pull_requests_count":109,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/j178%2Fprek/issues","maintainers":[{"login":"j178","count":147,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/j178"}],"active_maintainers":[{"login":"j178","count":147,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/j178"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/prek/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/prek/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/prek/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/prek/related_packages","maintainers":[{"uuid":"johnj","login":"johnj","name":null,"email":null,"url":null,"packages_count":11,"html_url":"https://pypi.org/user/johnj/","role":"Owner","created_at":"2025-08-08T16:34:41.838Z","updated_at":"2025-08-08T16:34:41.838Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/johnj/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":731416,"maintainers_count":310887,"namespaces_count":0,"keywords_count":239862,"github":"pypi","metadata":{"funded_packages_count":50862},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-22T06:32:28.627Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":123,"unique_repositories_count_past_30_days":29,"recent_issues":[{"uuid":"4610444559","node_id":"PR_kwDORXxKvc7jxpbu","number":77,"state":"open","title":"build(deps-dev): bump the python-dev group with 6 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T06:11:18.000Z","updated_at":"2026-06-08T06:14:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): bump","group_name":"python-dev","update_count":6,"packages":[{"name":"beautifulsoup4","old_version":"4.14.3","new_version":"4.15.0"},{"name":"hatchling","old_version":"1.29.0","new_version":"1.30.1","repository_url":"https://github.com/pypa/hatch"},{"name":"hypothesis","old_version":"6.155.1","new_version":"6.155.2","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"prek","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/j178/prek"},{"name":"ruff","old_version":"0.15.15","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.42","new_version":"0.0.44","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dev group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.14.3` | `4.15.0` |\n| [hatchling](https://github.com/pypa/hatch) | `1.29.0` | `1.30.1` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.155.1` | `6.155.2` |\n| [prek](https://github.com/j178/prek) | `0.4.3` | `0.4.4` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.15` | `0.15.16` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.42` | `0.0.44` |\n\nUpdates `beautifulsoup4` from 4.14.3 to 4.15.0\n\nUpdates `hatchling` from 1.29.0 to 1.30.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/hatch/releases\"\u003ehatchling's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHatchling v1.30.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault core metadata version kept at 2.4 until more tools support 2.5\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/hatch/commit/37b00c3d2221438fa79084b92e81ee1819d6c630\"\u003e\u003ccode\u003e37b00c3\u003c/code\u003e\u003c/a\u003e release Hatchling v1.30.1 (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2298\"\u003e#2298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/0446d99ef6461644624e8bdc461fd3c0a684a13c\"\u003e\u003ccode\u003e0446d99\u003c/code\u003e\u003c/a\u003e Update history for new patch release of hatchling after fixing default metada...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/4f5cdf094ec515488777705fc01e484ddd4f3e5f\"\u003e\u003ccode\u003e4f5cdf0\u003c/code\u003e\u003c/a\u003e Make 2.4 metadata default until other tools support it. (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2296\"\u003e#2296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/0497be09d555c300851d55344104e9aea2f9f200\"\u003e\u003ccode\u003e0497be0\u003c/code\u003e\u003c/a\u003e Fix draft release uploads. (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2293\"\u003e#2293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/3aae0faf98a5e90c146d5af21738e049ecac471e\"\u003e\u003ccode\u003e3aae0fa\u003c/code\u003e\u003c/a\u003e Fix hatchling to use Metadata 2.4 (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2291\"\u003e#2291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/5ee41893d556aaa862d32621e37bb179646c60e8\"\u003e\u003ccode\u003e5ee4189\u003c/code\u003e\u003c/a\u003e release Hatch v1.17.0 (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2290\"\u003e#2290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/6109ee756a79d1341798a47517d778d149807b15\"\u003e\u003ccode\u003e6109ee7\u003c/code\u003e\u003c/a\u003e release Hatchling v1.30.0 (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2289\"\u003e#2289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/246e22bb1681b74ff493ec60aa8849d95ce048fe\"\u003e\u003ccode\u003e246e22b\u003c/code\u003e\u003c/a\u003e Block duplicate files in wheel archives (closes \u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2066\"\u003e#2066\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2269\"\u003e#2269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/d2afcb6003321c9dca1628b2840ec4acb1e1a9ef\"\u003e\u003ccode\u003ed2afcb6\u003c/code\u003e\u003c/a\u003e Update docs as pre-release for 1.17.0 (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2287\"\u003e#2287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/818d2841958f0797f0e4ed014b9f0a8123d11b63\"\u003e\u003ccode\u003e818d284\u003c/code\u003e\u003c/a\u003e Feat hatch check command with new sub command for types (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2278\"\u003e#2278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/hatch/compare/hatchling-v1.29.0...hatchling-v1.30.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.155.1 to 6.155.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/fcc26c4c67eb9aaf4f153417f373f4c349128b54\"\u003e\u003ccode\u003efcc26c4\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.155.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/13cdd0b401f23468171e8d424da391892d5e5b26\"\u003e\u003ccode\u003e13cdd0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4760\"\u003e#4760\u003c/a\u003e from Zac-HD/datetime-symbolic-4759\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e48846d29ac846ca054697f4a2463f9550847e26\"\u003e\u003ccode\u003ee48846d\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b4152eaeae285ef4e24f0ebdc72b1e9ce817f769\"\u003e\u003ccode\u003eb4152ea\u003c/code\u003e\u003c/a\u003e rewrite comments and improve test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6b18db3fd215d15484f072b31bddafcef1a0b162\"\u003e\u003ccode\u003e6b18db3\u003c/code\u003e\u003c/a\u003e fixed flake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/eb7d53abdc3a0c06efe919b4c75f6e4dc766d3f2\"\u003e\u003ccode\u003eeb7d53a\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1bbeb59dce2f9cfe5a4bde03bac16e8f09ae6da9\"\u003e\u003ccode\u003e1bbeb59\u003c/code\u003e\u003c/a\u003e Fix update_pyodide_versions for relocated xbuildenv metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/552a461a915fe2deb610db19766c9d120272d492\"\u003e\u003ccode\u003e552a461\u003c/code\u003e\u003c/a\u003e Make date/time drawing symbolic-execution friendly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2c6dfdb16694041a49110590ef598b0324ff89f8\"\u003e\u003ccode\u003e2c6dfdb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4758\"\u003e#4758\u003c/a\u003e from bsluther/docs-fix-assume-condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1416fe1a5d906a5dffa176bddee8899da9e4b129\"\u003e\u003ccode\u003e1416fe1\u003c/code\u003e\u003c/a\u003e Fix assume condition in \u003ccode\u003eadapting-strategies.rst\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.155.1...v6.155.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.4.3 to 0.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.4\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003e✨  Highlights\u003c/h3\u003e\n\u003cp\u003e0.4.4 makes \u003ccode\u003eprek run\u003c/code\u003e easier to watch and easier to slice.\u003c/p\u003e\n\u003cp\u003eHook stream output now shows a small live preview under the running hook in the\nprogress UI. Long-running hooks no longer look stuck while they are producing\nlogs, and failed hooks are easier to diagnose because recent output is already\nvisible before the final result.\u003c/p\u003e\n\u003cp\u003eThe new group selector lets a single config support different workflows. Tag\nhooks with \u003ccode\u003egroups\u003c/code\u003e, then select or exclude those groups at run time:\u003c/p\u003e\n\u003cpre lang=\"yaml\"\u003e\u003ccode\u003erepos:\r\n  - repo: local\r\n    hooks:\r\n      - id: format\r\n        name: Format Python\r\n        language: system\r\n        entry: ruff format\r\n        groups: [format, ci]\r\n\u003cpre\u003e\u003ccode\u003e  - id: lint\r\n    name: Lint Python\r\n    language: system\r\n    entry: ruff check\r\n    groups: [lint, ci]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eprek run --all-files --group ci\r\nprek run --all-files --no-group format\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is useful when local development, CI, slow validation, or project-specific\nchecks need different hook sets without splitting the config.\u003c/p\u003e\n\u003ch3\u003e💚 Sponsorship\u003c/h3\u003e\n\u003cp\u003eIf prek saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.4\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.4 makes \u003ccode\u003eprek run\u003c/code\u003e easier to watch and easier to slice.\u003c/p\u003e\n\u003cp\u003eHook stream output now shows a small live preview under the running hook in the\nprogress UI. Long-running hooks no longer look stuck while they are producing\nlogs, and failed hooks are easier to diagnose because recent output is already\nvisible before the final result.\u003c/p\u003e\n\u003cp\u003eThe new group selector lets a single config support different workflows. Tag\nhooks with \u003ccode\u003egroups\u003c/code\u003e, then select or exclude those groups at run time:\u003c/p\u003e\n\u003cpre lang=\"yaml\"\u003e\u003ccode\u003erepos:\n  - repo: local\n    hooks:\n      - id: format\n        name: Format Python\n        language: system\n        entry: ruff format\n        groups: [format, ci]\n\u003cpre\u003e\u003ccode\u003e  - id: lint\n    name: Lint Python\n    language: system\n    entry: ruff check\n    groups: [lint, ci]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eprek run --all-files --group ci\nprek run --all-files --no-group format\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is useful when local development, CI, slow validation, or project-specific\nchecks need different hook sets without splitting the config.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd hook group filters to \u003ccode\u003eprek run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2141\"\u003e#2141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelay hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2140\"\u003e#2140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStream hook output in progress UI (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2136\"\u003e#2136\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix intent-to-add stash restore (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2143\"\u003e#2143\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/j178/prek/commit/f44270e63f839011442ac96420cedc6aec3d8dfa\"\u003e\u003ccode\u003ef44270e\u003c/code\u003e\u003c/a\u003e Bump version 0.4.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2148\"\u003e#2148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/da457c57b5602b815dceb9ba115ad164f5e1315c\"\u003e\u003ccode\u003eda457c5\u003c/code\u003e\u003c/a\u003e Document hook stage file input (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2147\"\u003e#2147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0fa29294fad36956c5099d8b6cb790d6122ab9ac\"\u003e\u003ccode\u003e0fa2929\u003c/code\u003e\u003c/a\u003e Add hook group filters to \u003ccode\u003eprek run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2141\"\u003e#2141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9b0047ffb3c1f255edac769ce56667aad0f935dc\"\u003e\u003ccode\u003e9b0047f\u003c/code\u003e\u003c/a\u003e Fix intent-to-add stash restore (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2143\"\u003e#2143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/00b2520f41c5722db0b3be684be245320c4dec37\"\u003e\u003ccode\u003e00b2520\u003c/code\u003e\u003c/a\u003e Delay hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2140\"\u003e#2140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/a54fdf0935e18d3e35f848cb40c18ae96220288b\"\u003e\u003ccode\u003ea54fdf0\u003c/code\u003e\u003c/a\u003e Simplify hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2139\"\u003e#2139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/ab7165d5cd06be239766ab25426d4459d51ec5e4\"\u003e\u003ccode\u003eab7165d\u003c/code\u003e\u003c/a\u003e Stream hook output in progress UI (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2136\"\u003e#2136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/f60958443fa8a9928924aa9cfcbb6d3412d9ef71\"\u003e\u003ccode\u003ef609584\u003c/code\u003e\u003c/a\u003e Remove unpinned dotnet test (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2137\"\u003e#2137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/ce0d8b34de8800f713de19a108dfcf70a95b2a62\"\u003e\u003ccode\u003ece0d8b3\u003c/code\u003e\u003c/a\u003e Update Rust to 1.96 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2134\"\u003e#2134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/1815fc50cca664fa48c96494ec7d4aa7df72a135\"\u003e\u003ccode\u003e1815fc5\u003c/code\u003e\u003c/a\u003e Update PyPI Downloads badge to dynamic JSON\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.3...v0.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.15 to 0.15.16\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.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\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-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\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/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\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/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\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\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.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\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-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\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/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\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/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\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/blockquote\u003e\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/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.15...0.15.16\"\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.42 to 0.0.44\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.44\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\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/lerebear\"\u003e\u003ccode\u003e@​lerebear\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/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\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/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.44\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.44/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.44/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ty 0.0.44\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.44\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\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/lerebear\"\u003e\u003ccode\u003e@​lerebear\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/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\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/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't inject \u003ccode\u003eUnknown\u003c/code\u003e from non-callable elements of intersection call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25538\"\u003e#25538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't needlessly disambiguate the same type alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25563\"\u003e#25563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance inference for nested type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25567\"\u003e#25567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore rejected member annotations for synthesized bindings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25427\"\u003e#25427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize dynamic class literals in cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25558\"\u003e#25558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegister file roots for first-party search paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25522\"\u003e#25522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat union-bound typevars like unions for \u003ccode\u003epossibly-missing-attribute\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25561\"\u003e#25561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress importable completions that are already in scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25479\"\u003e#25479\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/f5523e256eb275c9b473f174aedc383e7b050c34\"\u003e\u003ccode\u003ef5523e2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.44 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3667\"\u003e#3667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/29ce3146faa2d42867dadd7ecbda84759b8183be\"\u003e\u003ccode\u003e29ce314\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.43 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3648\"\u003e#3648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/794322d34624abc56301bd85ac354b94ca54fbb2\"\u003e\u003ccode\u003e794322d\u003c/code\u003e\u003c/a\u003e Update docker/build-push-action action to v7.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ce89685310383494c7dfec92bd2fc2dd2a46d074\"\u003e\u003ccode\u003ece89685\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/792fb71ca172f8d67fcfdb5fdd452a049724c8fd\"\u003e\u003ccode\u003e792fb71\u003c/code\u003e\u003c/a\u003e Update docker/login-action action to v4.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c377476823a4b77a903fb5340d77b51d68db389\"\u003e\u003ccode\u003e5c37747\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v6.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3631\"\u003e#3631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5a3e1695ce1e2205070afc18d9a7449e0ed045d0\"\u003e\u003ccode\u003e5a3e169\u003c/code\u003e\u003c/a\u003e Update docker/setup-buildx-action action to v4.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c2500cc57e4aea85ae8e3287351538ad60a9ee00\"\u003e\u003ccode\u003ec2500cc\u003c/code\u003e\u003c/a\u003e Release: Force usage of PyPI as the index (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.42...0.0.44\"\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/bitflight-devops/skilllint/pull/77","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitflight-devops%2Fskilllint/issues/77","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/77/packages"},{"uuid":"4606027904","node_id":"PR_kwDOEUNzas7jj4hJ","number":1167,"state":"open","title":"Bump prek from 0.4.3 to 0.4.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-07T03:22:33.000Z","updated_at":"2026-06-07T03:23:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.4.3 to 0.4.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.4\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003e✨  Highlights\u003c/h3\u003e\n\u003cp\u003e0.4.4 makes \u003ccode\u003eprek run\u003c/code\u003e easier to watch and easier to slice.\u003c/p\u003e\n\u003cp\u003eHook stream output now shows a small live preview under the running hook in the\nprogress UI. Long-running hooks no longer look stuck while they are producing\nlogs, and failed hooks are easier to diagnose because recent output is already\nvisible before the final result.\u003c/p\u003e\n\u003cp\u003eThe new group selector lets a single config support different workflows. Tag\nhooks with \u003ccode\u003egroups\u003c/code\u003e, then select or exclude those groups at run time:\u003c/p\u003e\n\u003cpre lang=\"yaml\"\u003e\u003ccode\u003erepos:\r\n  - repo: local\r\n    hooks:\r\n      - id: format\r\n        name: Format Python\r\n        language: system\r\n        entry: ruff format\r\n        groups: [format, ci]\r\n\u003cpre\u003e\u003ccode\u003e  - id: lint\r\n    name: Lint Python\r\n    language: system\r\n    entry: ruff check\r\n    groups: [lint, ci]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eprek run --all-files --group ci\r\nprek run --all-files --no-group format\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is useful when local development, CI, slow validation, or project-specific\nchecks need different hook sets without splitting the config.\u003c/p\u003e\n\u003ch3\u003e💚 Sponsorship\u003c/h3\u003e\n\u003cp\u003eIf prek saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.4\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.4 makes \u003ccode\u003eprek run\u003c/code\u003e easier to watch and easier to slice.\u003c/p\u003e\n\u003cp\u003eHook stream output now shows a small live preview under the running hook in the\nprogress UI. Long-running hooks no longer look stuck while they are producing\nlogs, and failed hooks are easier to diagnose because recent output is already\nvisible before the final result.\u003c/p\u003e\n\u003cp\u003eThe new group selector lets a single config support different workflows. Tag\nhooks with \u003ccode\u003egroups\u003c/code\u003e, then select or exclude those groups at run time:\u003c/p\u003e\n\u003cpre lang=\"yaml\"\u003e\u003ccode\u003erepos:\n  - repo: local\n    hooks:\n      - id: format\n        name: Format Python\n        language: system\n        entry: ruff format\n        groups: [format, ci]\n\u003cpre\u003e\u003ccode\u003e  - id: lint\n    name: Lint Python\n    language: system\n    entry: ruff check\n    groups: [lint, ci]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eprek run --all-files --group ci\nprek run --all-files --no-group format\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is useful when local development, CI, slow validation, or project-specific\nchecks need different hook sets without splitting the config.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd hook group filters to \u003ccode\u003eprek run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2141\"\u003e#2141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelay hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2140\"\u003e#2140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStream hook output in progress UI (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2136\"\u003e#2136\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix intent-to-add stash restore (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2143\"\u003e#2143\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/j178/prek/commit/f44270e63f839011442ac96420cedc6aec3d8dfa\"\u003e\u003ccode\u003ef44270e\u003c/code\u003e\u003c/a\u003e Bump version 0.4.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2148\"\u003e#2148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/da457c57b5602b815dceb9ba115ad164f5e1315c\"\u003e\u003ccode\u003eda457c5\u003c/code\u003e\u003c/a\u003e Document hook stage file input (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2147\"\u003e#2147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0fa29294fad36956c5099d8b6cb790d6122ab9ac\"\u003e\u003ccode\u003e0fa2929\u003c/code\u003e\u003c/a\u003e Add hook group filters to \u003ccode\u003eprek run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2141\"\u003e#2141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9b0047ffb3c1f255edac769ce56667aad0f935dc\"\u003e\u003ccode\u003e9b0047f\u003c/code\u003e\u003c/a\u003e Fix intent-to-add stash restore (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2143\"\u003e#2143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/00b2520f41c5722db0b3be684be245320c4dec37\"\u003e\u003ccode\u003e00b2520\u003c/code\u003e\u003c/a\u003e Delay hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2140\"\u003e#2140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/a54fdf0935e18d3e35f848cb40c18ae96220288b\"\u003e\u003ccode\u003ea54fdf0\u003c/code\u003e\u003c/a\u003e Simplify hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2139\"\u003e#2139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/ab7165d5cd06be239766ab25426d4459d51ec5e4\"\u003e\u003ccode\u003eab7165d\u003c/code\u003e\u003c/a\u003e Stream hook output in progress UI (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2136\"\u003e#2136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/f60958443fa8a9928924aa9cfcbb6d3412d9ef71\"\u003e\u003ccode\u003ef609584\u003c/code\u003e\u003c/a\u003e Remove unpinned dotnet test (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2137\"\u003e#2137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/ce0d8b34de8800f713de19a108dfcf70a95b2a62\"\u003e\u003ccode\u003ece0d8b3\u003c/code\u003e\u003c/a\u003e Update Rust to 1.96 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2134\"\u003e#2134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/1815fc50cca664fa48c96494ec7d4aa7df72a135\"\u003e\u003ccode\u003e1815fc5\u003c/code\u003e\u003c/a\u003e Update PyPI Downloads badge to dynamic JSON\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.3...v0.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=pip\u0026previous-version=0.4.3\u0026new-version=0.4.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/home-assistant-libs/aioshelly/pull/1167","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant-libs%2Faioshelly/issues/1167","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1167/packages"},{"uuid":"4576124505","node_id":"PR_kwDOBEvNrc7iB0d9","number":150,"state":"open","title":"build(deps-dev): bump prek from 0.3.13 to 0.4.3","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-06-03T01:16:07.000Z","updated_at":"2026-06-03T01:22:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"prek","old_version":"0.3.13","new_version":"0.4.3","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.3.13 to 0.4.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.3\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.3\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/commit/02bb73f2be5539f3a1d219e74ad2ba344a633758\"\u003e\u003ccode\u003e02bb73f\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0f64ff91cf2a0934c30407522b93058c8d70cc6c\"\u003e\u003ccode\u003e0f64ff9\u003c/code\u003e\u003c/a\u003e Ignore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.13...v0.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.3.13\u0026new-version=0.4.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/steven-murray/powerbox/pull/150","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/steven-murray%2Fpowerbox/issues/150","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/150/packages"},{"uuid":"4568738682","node_id":"PR_kwDOSNjN9s7hpjfT","number":22,"state":"open","title":"⬆ Bump prek from 0.2.30 to 0.4.3","user":"dependabot[bot]","labels":["internal"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T05:34:17.000Z","updated_at":"2026-06-02T05:34:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆ Bump","packages":[{"name":"prek","old_version":"0.2.30","new_version":"0.4.3","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.2.30 to 0.4.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.3\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.3\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/commit/02bb73f2be5539f3a1d219e74ad2ba344a633758\"\u003e\u003ccode\u003e02bb73f\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0f64ff91cf2a0934c30407522b93058c8d70cc6c\"\u003e\u003ccode\u003e0f64ff9\u003c/code\u003e\u003c/a\u003e Ignore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.2.30...v0.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.2.30\u0026new-version=0.4.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/tasawaralii/replync/pull/22","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tasawaralii%2Freplync/issues/22","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/22/packages"},{"uuid":"4555529108","node_id":"PR_kwDOF8_QEs7g_sBJ","number":1989,"state":"open","title":"⬆ Bump the python-packages group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","internal","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-30T19:59:46.000Z","updated_at":"2026-05-31T06:06:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆ Bump","group_name":"python-packages","update_count":9,"packages":[{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"black","old_version":"26.3.1","new_version":"26.5.1","repository_url":"https://github.com/psf/black"},{"name":"zensical","old_version":"0.0.42","new_version":"0.0.43","repository_url":"https://github.com/zensical/zensical"},{"name":"fastapi","old_version":"0.136.1","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.35","new_version":"0.0.39","repository_url":"https://github.com/astral-sh/ty"},{"name":"prek","old_version":"0.3.13","new_version":"0.4.1","repository_url":"https://github.com/j178/prek"},{"name":"zizmor","old_version":"1.24.1","new_version":"1.25.2","repository_url":"https://github.com/zizmorcore/zizmor"},{"name":"pygithub","old_version":"2.9.0","new_version":"2.9.1","repository_url":"https://github.com/pygithub/pygithub"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.4` |\n| [black](https://github.com/psf/black) | `26.3.1` | `26.5.1` |\n| [zensical](https://github.com/zensical/zensical) | `0.0.42` | `0.0.43` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.136.1` | `0.136.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.14` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.35` | `0.0.39` |\n| [prek](https://github.com/j178/prek) | `0.3.13` | `0.4.1` |\n| [zizmor](https://github.com/zizmorcore/zizmor) | `1.24.1` | `1.25.2` |\n| [pygithub](https://github.com/pygithub/pygithub) | `2.9.0` | `2.9.1` |\n\n\nUpdates `pydantic` from 2.12.5 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 26.3.1 to 26.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.5.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix unstable formatting of annotated assignments whose subscript annotation contains\nan inline comment (e.g. \u003ccode\u003ex: list[  # pyright: ignore[...]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/5130\"\u003e#5130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve inline comments (including \u003ccode\u003e# type: ignore\u003c/code\u003e) immediately before a\n\u003ccode\u003e# fmt: skip\u003c/code\u003e line, avoiding AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/5139\"\u003e#5139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the version in the published executables (\u003ca href=\"https://redirect.github.com/psf/black/issues/5137\"\u003e#5137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Neovim integration guide covering conform.nvim, ALE, and simple command approaches\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5124\"\u003e#5124\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.5.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for unpacking in comprehensions (PEP 798) and for lazy imports (PEP 810),\nboth new syntactic features in Python 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5048\"\u003e#5048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePython 3.15 is now supported. Compiled wheels are not yet provided for Python 3.15, so\nperformance may be slower than on existing Python versions. Wheels will be provided\nonce Python 3.15 is later in its release cycle. (\u003ca href=\"https://redirect.github.com/psf/black/issues/5127\"\u003e#5127\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e# fmt: skip\u003c/code\u003e being ignored in nested \u003ccode\u003eif\u003c/code\u003e expressions with parenthesized \u003ccode\u003ein\u003c/code\u003e\nclauses (\u003ca href=\"https://redirect.github.com/psf/black/issues/4903\"\u003e#4903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd syntactic support for Python 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5048\"\u003e#5048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when an f-string follows a \u003ccode\u003e# fmt: off\u003c/code\u003e comment inside brackets (\u003ca href=\"https://redirect.github.com/psf/black/issues/5097\"\u003e#5097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve multiline compound statement headers when \u003ccode\u003e# fmt: skip\u003c/code\u003e is placed on the\ncolon line (\u003ca href=\"https://redirect.github.com/psf/black/issues/5117\"\u003e#5117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove heuristics around whether blank lines should appear before, within and after\ngroups of same-name decorated functions (such as \u003ccode\u003e@overload\u003c/code\u003e groups) in \u003ccode\u003e.pyi\u003c/code\u003e stub\nfiles (\u003ca href=\"https://redirect.github.com/psf/black/issues/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix blank lines being removed between a function and a decorated class in \u003ccode\u003e.pyi\u003c/code\u003e stub\nfiles (\u003ca href=\"https://redirect.github.com/psf/black/issues/5092\"\u003e#5092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent string merger from creating unsplittable long lines when a pragma comment\n(e.g. \u003ccode\u003e# type: ignore\u003c/code\u003e) follows the closing bracket (\u003ca href=\"https://redirect.github.com/psf/black/issues/5096\"\u003e#5096\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun CI on 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5127\"\u003e#5127\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\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/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 26.5.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix unstable formatting of annotated assignments whose subscript annotation contains\nan inline comment (e.g. \u003ccode\u003ex: list[  # pyright: ignore[...]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/5130\"\u003e#5130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve inline comments (including \u003ccode\u003e# type: ignore\u003c/code\u003e) immediately before a\n\u003ccode\u003e# fmt: skip\u003c/code\u003e line, avoiding AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/5139\"\u003e#5139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the version in the published executables (\u003ca href=\"https://redirect.github.com/psf/black/issues/5137\"\u003e#5137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Neovim integration guide covering conform.nvim, ALE, and simple command approaches\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5124\"\u003e#5124\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 26.5.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for unpacking in comprehensions (PEP 798) and for lazy imports (PEP 810),\nboth new syntactic features in Python 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5048\"\u003e#5048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePython 3.15 is now supported. Compiled wheels are not yet provided for Python 3.15, so\nperformance may be slower than on existing Python versions. Wheels will be provided\nonce Python 3.15 is later in its release cycle. (\u003ca href=\"https://redirect.github.com/psf/black/issues/5127\"\u003e#5127\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e# fmt: skip\u003c/code\u003e being ignored in nested \u003ccode\u003eif\u003c/code\u003e expressions with parenthesized \u003ccode\u003ein\u003c/code\u003e\nclauses (\u003ca href=\"https://redirect.github.com/psf/black/issues/4903\"\u003e#4903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd syntactic support for Python 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5048\"\u003e#5048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when an f-string follows a \u003ccode\u003e# fmt: off\u003c/code\u003e comment inside brackets (\u003ca href=\"https://redirect.github.com/psf/black/issues/5097\"\u003e#5097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve multiline compound statement headers when \u003ccode\u003e# fmt: skip\u003c/code\u003e is placed on the\ncolon line (\u003ca href=\"https://redirect.github.com/psf/black/issues/5117\"\u003e#5117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove heuristics around whether blank lines should appear before, within and after\ngroups of same-name decorated functions (such as \u003ccode\u003e@overload\u003c/code\u003e groups) in \u003ccode\u003e.pyi\u003c/code\u003e stub\nfiles (\u003ca href=\"https://redirect.github.com/psf/black/issues/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix blank lines being removed between a function and a decorated class in \u003ccode\u003e.pyi\u003c/code\u003e stub\nfiles (\u003ca href=\"https://redirect.github.com/psf/black/issues/5092\"\u003e#5092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent string merger from creating unsplittable long lines when a pragma comment\n(e.g. \u003ccode\u003e# type: ignore\u003c/code\u003e) follows the closing bracket (\u003ca href=\"https://redirect.github.com/psf/black/issues/5096\"\u003e#5096\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun CI on 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5127\"\u003e#5127\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/psf/black/commit/87928e6d6761a4a6d22250e1fee5601b3998086e\"\u003e\u003ccode\u003e87928e6\u003c/code\u003e\u003c/a\u003e Prepare release 26.5.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5140\"\u003e#5140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c970a49702488739add6c728122deb3a99900803\"\u003e\u003ccode\u003ec970a49\u003c/code\u003e\u003c/a\u003e Preserve comments before fmt: skip lines (\u003ca href=\"https://redirect.github.com/psf/black/issues/5139\"\u003e#5139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/5809338fd5f92d50e80c2ad312292ae6d428a480\"\u003e\u003ccode\u003e5809338\u003c/code\u003e\u003c/a\u003e Preserve inline comments inside annotation subscripts (\u003ca href=\"https://redirect.github.com/psf/black/issues/5130\"\u003e#5130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/61361b71995f6ea44ce01915bacd3ecc50642507\"\u003e\u003ccode\u003e61361b7\u003c/code\u003e\u003c/a\u003e docs: add Neovim integration guide and fix http link (\u003ca href=\"https://redirect.github.com/psf/black/issues/5124\"\u003e#5124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ebe6018e3254629788376e619207719fbe34a849\"\u003e\u003ccode\u003eebe6018\u003c/code\u003e\u003c/a\u003e CI Hotfixes (\u003ca href=\"https://redirect.github.com/psf/black/issues/5136\"\u003e#5136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/9cbd95f80e97c1ab4d690d1d41b81579a13bf75c\"\u003e\u003ccode\u003e9cbd95f\u003c/code\u003e\u003c/a\u003e Fix publish binaries again on Windows (\u003ca href=\"https://redirect.github.com/psf/black/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/3dc8e6c41911bdaedb4bac8d633979c34a112b78\"\u003e\u003ccode\u003e3dc8e6c\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5132\"\u003e#5132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/6d0fff0d5a965b9d0d3dbd7c5738d835fd574130\"\u003e\u003ccode\u003e6d0fff0\u003c/code\u003e\u003c/a\u003e Fix publish binaries workflow (\u003ca href=\"https://redirect.github.com/psf/black/issues/5133\"\u003e#5133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/d2490e24dad33b8f68c77602ee29160de0fea24b\"\u003e\u003ccode\u003ed2490e2\u003c/code\u003e\u003c/a\u003e Prepare release 26.5.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5131\"\u003e#5131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2b13ea76fa69d4923381df65deb1a5c896ca27ad\"\u003e\u003ccode\u003e2b13ea7\u003c/code\u003e\u003c/a\u003e Preserve multiline headers with fmt skip (\u003ca href=\"https://redirect.github.com/psf/black/issues/5117\"\u003e#5117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/26.3.1...26.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zensical` from 0.0.42 to 0.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zensical/zensical/releases\"\u003ezensical's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis version fixes further edge cases in link validation, and adds support for UTF-8 encoding with byte-order-marks.\u003c/p\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e1e873a3 \u003cstrong\u003ecompat\u003c/strong\u003e – ignore links in code after literal dollar during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e62a0feb \u003cstrong\u003ezensical\u003c/strong\u003e – report \u003ccode\u003epath.md/#anchor\u003c/code\u003e as invalid during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e7be40c6 \u003cstrong\u003ecompat\u003c/strong\u003e – ignore GitHub-style callouts during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e85c3b1e \u003cstrong\u003ecompat\u003c/strong\u003e – ignore \u003ccode\u003e[TOC]\u003c/code\u003e marker during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edaafc8b \u003cstrong\u003ezensical\u003c/strong\u003e – filter out icons folder when watching theme directories (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e913fd61 \u003cstrong\u003ezensical\u003c/strong\u003e – strip Byte-Order-Mark (BOM) from Markdown files (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/687\"\u003e#687\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/zensical/zensical/commit/7d2178a8a9df7c559a746643ccfa34f1531f20a3\"\u003e\u003ccode\u003e7d2178a\u003c/code\u003e\u003c/a\u003e chore: release v0.0.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/35a20425ac3a30007ed2ba9e1d54bbdae98399cd\"\u003e\u003ccode\u003e35a2042\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/zensical/zensical/issues/697\"\u003e#697\u003c/a\u003e from zensical/fix/validation-regressions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/1e873a397c314843444adb68dcd5238af62dfe22\"\u003e\u003ccode\u003e1e873a3\u003c/code\u003e\u003c/a\u003e fix: ignore links in code after literal dollar during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/62a0feb8f45ed10ea3c4c9816501ff1c2245f244\"\u003e\u003ccode\u003e62a0feb\u003c/code\u003e\u003c/a\u003e fix: report \u003ccode\u003epath.md/#anchor\u003c/code\u003e as invalid during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/7be40c6ceb4407992a1d93cb6e30563b737e4724\"\u003e\u003ccode\u003e7be40c6\u003c/code\u003e\u003c/a\u003e fix: ignore GitHub-style callouts during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/85c3b1e321dc4eaa60fc7bd885a4da509e1e4127\"\u003e\u003ccode\u003e85c3b1e\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e[TOC]\u003c/code\u003e marker during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/daafc8becba138735046b63dcf839c89c9f8c024\"\u003e\u003ccode\u003edaafc8b\u003c/code\u003e\u003c/a\u003e fix: filter out icons folder when watching theme directories (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/913fd61670ae2d1a01c76388613f6378c9431a3d\"\u003e\u003ccode\u003e913fd61\u003c/code\u003e\u003c/a\u003e fix: strip Byte-Order-Mark (BOM) from Markdown files (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/zensical/zensical/compare/v0.0.42...v0.0.43\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.136.1 to 0.136.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.136.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (the default). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15589\"\u003e#15589\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.136.2\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Validate Server Sent Event fields to avoid applications from sending broken data. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15588\"\u003e#15588\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15464\"\u003e#15464\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update and simplify docs about help and management. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15583\"\u003e#15583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add docs references to central contributing docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15580\"\u003e#15580\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update security policy. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15577\"\u003e#15577\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🍱 Update sponsors: TalorData image. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15562\"\u003e#15562\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs, simplify usage of admonitions, only default ones. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15553\"\u003e#15553\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix image URLs in \u003ccode\u003eindex.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15534\"\u003e#15534\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix Azkaban spelling typo in \u003ccode\u003evirtual-environments.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15463\"\u003e#15463\u003c/a\u003e by \u003ca href=\"https://github.com/isaacbernat\"\u003e\u003ccode\u003e@​isaacbernat\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Improve layout and styling. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15462\"\u003e#15462\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Refactor opinions section with interactive tabs and new logos. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15458\"\u003e#15458\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add FastAPI Conf '26 announcement to docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15457\"\u003e#15457\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Improve translation consistency in \u003ccode\u003e‎docs/pt/docs/advanced/generate-clients.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15456\"\u003e#15456\u003c/a\u003e by \u003ca href=\"https://github.com/Will-thom\"\u003e\u003ccode\u003e@​Will-thom\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15530\"\u003e#15530\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15529\"\u003e#15529\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15528\"\u003e#15528\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15527\"\u003e#15527\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15526\"\u003e#15526\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15525\"\u003e#15525\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15524\"\u003e#15524\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for fr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15522\"\u003e#15522\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15523\"\u003e#15523\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15520\"\u003e#15520\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15521\"\u003e#15521\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Fix typos in Spanish LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15472\"\u003e#15472\u003c/a\u003e by \u003ca href=\"https://github.com/crr004\"\u003e\u003ccode\u003e@​crr004\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Update tests, don't double dispose the engine. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15587\"\u003e#15587\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⚡️ Speed up test suite via caching and fixture scopes to make it ~24% faster. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13583\"\u003e#13583\u003c/a\u003e by \u003ca href=\"https://github.com/dikos1337\"\u003e\u003ccode\u003e@​dikos1337\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove config files now in central GitHub repo. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15585\"\u003e#15585\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump urllib3 from 2.6.3 to 2.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15502\"\u003e#15502\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump idna from 3.11 to 3.15. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15565\"\u003e#15565\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.15.0 to 4.0.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15571\"\u003e#15571\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Migrate docs from MkDocs to Zensical. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15563\"\u003e#15563\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔒️ Only allow team members to modify dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15548\"\u003e#15548\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/82064857539e6286522c347b4b11331b48dd2378\"\u003e\u003ccode\u003e8206485\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c910e0139f983d0e04e2d1d235cd71803afeae34\"\u003e\u003ccode\u003ec910e01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/063b5bf582d31fb155cc6bc6f88cf512329d0fd5\"\u003e\u003ccode\u003e063b5bf\u003c/code\u003e\u003c/a\u003e ♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/22b02e26f9e8c7e32bd8266e2b0ebe8bb3a0db2b\"\u003e\u003ccode\u003e22b02e2\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3b252a2a22ba27a8ab83d6bde7d9cddbc5bf738e\"\u003e\u003ccode\u003e3b252a2\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c7fb7851b3389f24c51701d705458989be53ccbb\"\u003e\u003ccode\u003ec7fb785\u003c/code\u003e\u003c/a\u003e ♻️ Validate Server Sent Event fields to avoid applications from sending broke...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb83b83dcf78eab4ea17d504db5abcda705fbdc4\"\u003e\u003ccode\u003ecb83b83\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/00f805cec94c0bf48c1f9a563535a3ab2e6f90ab\"\u003e\u003ccode\u003e00f805c\u003c/code\u003e\u003c/a\u003e ✅ Update tests, don't double dispose the engine (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15587\"\u003e#15587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3675137523dc167981aa3a3c44599b4f3079ccd8\"\u003e\u003ccode\u003e3675137\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7b57e42986bb4d40c9eb6580537d13fb8e76097e\"\u003e\u003ccode\u003e7b57e42\u003c/code\u003e\u003c/a\u003e 📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15464\"\u003e#15464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.136.1...0.136.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\nUpdates `ty` from 0.0.35 to 0.0.39\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.39\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-22.\u003c/p\u003e\n\u003cp\u003eThis release removes the Python 3.9 branches from our vendored standard library stubs. ty now only has \u0026quot;full\u0026quot; support for\nPython 3.10 and later, but will still report version-specific syntax errors and other diagnostics when \u003ccode\u003e--python-version 3.9\u003c/code\u003e\nis provided via the CLI.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panicking on \u003ccode\u003e__new__\u003c/code\u003e assignments to classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25282\"\u003e#25282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve declaration order when synthesizing class fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25249\"\u003e#25249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003edict\u003c/code\u003e-compatible fallbacks in TypedDict unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25242\"\u003e#25242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRetain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Quick Fix to remove redundant cast (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25211\"\u003e#25211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClassify property declaration semantic tokens (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25322\"\u003e#25322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEscape HTML syntax in docstring rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25247\"\u003e#25247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer symbols from standard library over those of the same name from third party libraries for import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25108\"\u003e#25108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type aliases in document symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25302\"\u003e#25302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd error context for extra callable parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25269\"\u003e#25269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid exponential blow-up in fall-through narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25278\"\u003e#25278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up include filtering for projects with many literal include patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25266\"\u003e#25266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit a diagnostic for subclassing with \u003ccode\u003eorder=True\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21704\"\u003e#21704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFull-scope bidirectional inference for unconstrained container literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25279\"\u003e#25279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003edict(TypedDict)\u003c/code\u003e as \u003ccode\u003edict[str, object]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24852\"\u003e#24852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject incompatible explicit variance in generic base classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25327\"\u003e#25327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi-inference through type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25245\"\u003e#25245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25271\"\u003e#25271\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25172\"\u003e#25172\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/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/sqqueak\"\u003e\u003ccode\u003e@​sqqueak\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\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.39\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-22.\u003c/p\u003e\n\u003cp\u003eThis release removes the Python 3.9 branches from our vendored standard library stubs. ty now only has \u0026quot;full\u0026quot; support for\nPython 3.10 and later, but will still report version-specific syntax errors and other diagnostics when \u003ccode\u003e--python-version 3.9\u003c/code\u003e\nis provided via the CLI.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panicking on \u003ccode\u003e__new__\u003c/code\u003e assignments to classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25282\"\u003e#25282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve declaration order when synthesizing class fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25249\"\u003e#25249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003edict\u003c/code\u003e-compatible fallbacks in TypedDict unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25242\"\u003e#25242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRetain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Quick Fix to remove redundant cast (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25211\"\u003e#25211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClassify property declaration semantic tokens (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25322\"\u003e#25322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEscape HTML syntax in docstring rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25247\"\u003e#25247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer symbols from standard library over those of the same name from third party libraries for import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25108\"\u003e#25108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type aliases in document symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25302\"\u003e#25302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd error context for extra callable parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25269\"\u003e#25269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid exponential blow-up in fall-through narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25278\"\u003e#25278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up include filtering for projects with many literal include patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25266\"\u003e#25266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit a diagnostic for subclassing with \u003ccode\u003eorder=True\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21704\"\u003e#21704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFull-scope bidirectional inference for unconstrained container literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25279\"\u003e#25279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003edict(TypedDict)\u003c/code\u003e as \u003ccode\u003edict[str, object]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24852\"\u003e#24852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject incompatible explicit variance in generic base classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25327\"\u003e#25327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi-inference through type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25245\"\u003e#25245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25271\"\u003e#25271\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25172\"\u003e#25172\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/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/sqqueak\"\u003e\u003ccode\u003e@​sqqueak\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/sharkdp\"\u003e\u003ccode\u003e@​sharkdp\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/0205125174c135d6fc4014244dee374678b61c72\"\u003e\u003ccode\u003e0205125\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.39 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3516\"\u003e#3516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ae8058d40e641b545bbad046c487e964206a2286\"\u003e\u003ccode\u003eae8058d\u003c/code\u003e\u003c/a\u003e Update maturin to v1.13.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3494\"\u003e#3494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/33b60f8ad0f2da648b867831548a4b8c7985647d\"\u003e\u003ccode\u003e33b60f8\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3495\"\u003e#3495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/1d3efc1d68e36a8f982fa73b1f8c2a5ebc50fcde\"\u003e\u003ccode\u003e1d3efc1\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.38 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3492\"\u003e#3492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/f5100ccde50ff577fa311add5232ae6074ed68f9\"\u003e\u003ccode\u003ef5100cc\u003c/code\u003e\u003c/a\u003e scripts/update_schemastore: use -C to allow re-running schema update on exist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/f18aed6430c781ff3bc4fe41d9b5c2a7161657c4\"\u003e\u003ccode\u003ef18aed6\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.37 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3473\"\u003e#3473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a63e55929645f8eeaa6f28117afda8d2ed39d1a4\"\u003e\u003ccode\u003ea63e559\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.36 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/94370d5b43c48d01720a9e65d8d8d5286b6697b1\"\u003e\u003ccode\u003e94370d5\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.35...0.0.39\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.3.13 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.13...v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zizmor` from 1.24.1 to 1.25.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zizmorcore/zizmor/releases\"\u003ezizmor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.25.2\u003c/h2\u003e\n\u003ch2\u003eBug Fixes 🐛\u003ca href=\"https://docs.zizmor.sh/release-notes/#bug-fixes\"\u003e🔗\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where the \u003ca href=\"https://docs.zizmor.sh/audits/#unpinned-tools\"\u003eunpinned-tools\u003c/a\u003e audit would incorrectly flag the \u003ca href=\"https://github.com/aquasecurity/trivy-action\"\u003eaquasecurity/trivy-action\u003c/a\u003e action as installing an unpinned tool version, rather than \u003ca href=\"https://github.com/aquasecurity/setup-trivy\"\u003eaquasecurity/setup-trivy\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/2018\"\u003e#2018\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.25.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes 🐛\u003ca href=\"https://docs.zizmor.sh/release-notes/#bug-fixes\"\u003e🔗\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a bug where the \u003ca href=\"https://docs.zizmor.sh/audits/#cache-poisoning\"\u003ecache-poisoning\u003c/a\u003e audit would fail to consider release events as exempt from cache usage findings when filtered by a tag condition (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/2004\"\u003e#2004\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a typo when suggesting --fix flags for findings (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/2010\"\u003e#2010\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eMany thanks to \u003ca href=\"https://github.com/0xdea\"\u003e\u003ccode\u003e@​0xdea\u003c/code\u003e\u003c/a\u003e for implementing this fix!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a typo in \u003ca href=\"https://docs.zizmor.sh/audits/#unpinned-tools\"\u003eunpinned-tools\u003c/a\u003e annotations (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/2008\"\u003e#2008\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eMany thanks to \u003ca href=\"https://github.com/martincostello\"\u003e\u003ccode\u003e@​martincostello\u003c/code\u003e\u003c/a\u003e for implementing this fix!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a bug where the \u003ca href=\"https://docs.zizmor.sh/audits/#github-app\"\u003egithub-app\u003c/a\u003e audit would incorrectly flag some safe uses of \u003ca href=\"https://github.com/actions/create-github-app-token\"\u003eactions/create-github-app-token\u003c/a\u003e as unsafe (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/2011\"\u003e#2011\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.25.0\u003c/h2\u003e\n\u003ch2\u003eNew Features 🌈\u003ca href=\"https://docs.zizmor.sh/release-notes/#new-features\"\u003e🔗\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ezizmor's finding severities can now be remapped on a per-audit basis. See \u003ca href=\"https://docs.zizmor.sh/configuration/#rules-id-remap\"\u003ethe configuration\u003c/a\u003e for details (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eMany thanks to \u003ca href=\"https://github.com/Proximyst\"\u003e\u003ccode\u003e@​Proximyst\u003c/code\u003e\u003c/a\u003e for proposing and implementing this improvement!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew audit: \u003ca href=\"https://docs.zizmor.sh/audits/#github-app\"\u003egithub-app\u003c/a\u003e detects dangerous usages of GitHub App installation tokens (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1926\"\u003e#1926\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew audit: [unpinned-tools] detects actions that install tools without pinning to a specific version (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ezizmor now accepts the --no-ignores flag to disable all ignore comments and configurations when reporting findings (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1935\"\u003e#1935\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ezizmor's LSP now honors the --persona flag on the CLI (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1943\"\u003e#1943\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ezizmor is now aware of Docker-based action definitions, in addition to the pre-existing support for \u0026quot;composite\u0026quot; actions (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1965\"\u003e#1965\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003ca href=\"https://docs.zizmor.sh/release-notes/#enhancements\"\u003e🔗\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRecommend gh issue edit --add-label / gh pr edit --add-label as a replacement for \u003ca href=\"https://github.com/actions-ecosystem/action-add-labels\"\u003eactions-ecosystem/action-add-labels\u003c/a\u003e in \u003ca href=\"https://docs.zizmor.sh/audits/#superfluous-actions\"\u003esuperfluous-actions\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRecommend gh issue edit --remove-label / gh pr edit --remove-label as a replacement for \u003ca href=\"https://github.com/actions-ecosystem/action-remove-labels\"\u003eactions-ecosystem/action-remove-labels\u003c/a\u003e in \u003ca href=\"https://docs.zizmor.sh/audits/#superfluous-actions\"\u003esuperfluous-actions\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRecommend jq as a replacement for \u003ca href=\"https://github.com/sergeysova/jq-action\"\u003esergeysova/jq-action\u003c/a\u003e in \u003ca href=\"https://docs.zizmor.sh/audits/#superfluous-actions\"\u003esuperfluous-actions\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRecommend git add, git commit, and git push as a replacement for \u003ca href=\"https://github.com/stefanzweifel/git-auto-commit-action\"\u003estefanzweifel/git-auto-commit-action\u003c/a\u003e in \u003ca href=\"https://docs.zizmor.sh/audits/#superfluous-actions\"\u003esuperfluous-actions\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRecommend git add, git commit, and git push as a replacement for \u003ca href=\"https://github.com/EndBug/add-and-commit\"\u003eEndBug/add-and-commit\u003c/a\u003e in \u003ca href=\"https://docs.zizmor.sh/audits/#superfluous-actions\"\u003esuperfluous-actions\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/tibdex/github-app-token\"\u003etibdex/github-app-token\u003c/a\u003e is now recognized as an archived action by \u003ca href=...\n\n_Description has been truncated_","html_url":"https://github.com/fastapi/sqlmodel/pull/1989","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastapi%2Fsqlmodel/issues/1989","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1989/packages"},{"uuid":"4554161346","node_id":"PR_kwDOPjHe0M7g7nBY","number":247,"state":"open","title":"chore(deps): bump the uv-all group with 5 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-30T10:54:03.000Z","updated_at":"2026-05-30T10:58:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv-all","update_count":5,"packages":[{"name":"selectolax","old_version":"0.4.9","new_version":"0.4.10","repository_url":"https://github.com/rushter/selectolax"},{"name":"hypothesis","old_version":"6.153.0","new_version":"6.155.1","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"prek","old_version":"0.4.1","new_version":"0.4.3","repository_url":"https://github.com/j178/prek"},{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"ruff","old_version":"0.15.14","new_version":"0.15.15","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-all group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [selectolax](https://github.com/rushter/selectolax) | `0.4.9` | `0.4.10` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.153.0` | `6.155.1` |\n| [prek](https://github.com/j178/prek) | `0.4.1` | `0.4.3` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.14` | `0.15.15` |\n\nUpdates `selectolax` from 0.4.9 to 0.4.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rushter/selectolax/releases\"\u003eselectolax's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.4.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDo not destroy nodes when stripping tags\u003c/li\u003e\n\u003cli\u003eAllow building selectolax using older lexbor versions (\u003ca href=\"https://redirect.github.com/rushter/selectolax/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate lexbor. Fixes crashes when parsing HTML (\u003ca href=\"https://redirect.github.com/rushter/selectolax/issues/217\"\u003e#217\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/rushter/selectolax/blob/master/CHANGES.md\"\u003eselectolax's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.4.10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDo not destroy nodes when stripping tags\u003c/li\u003e\n\u003cli\u003eAllow building selectolax using older lexbor versions (\u003ca href=\"https://redirect.github.com/rushter/selectolax/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate lexbor. Fixes crashes when parsing HTML (\u003ca href=\"https://redirect.github.com/rushter/selectolax/issues/217\"\u003e#217\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/rushter/selectolax/commit/c516547eb3bb76d69b3377080ca71f52394b83ff\"\u003e\u003ccode\u003ec516547\u003c/code\u003e\u003c/a\u003e Bump version: 0.4.9 → 0.4.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rushter/selectolax/commit/a4ff9b283ee98af9141f10556ad8a56a997fc214\"\u003e\u003ccode\u003ea4ff9b2\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rushter/selectolax/commit/d6a512d4ec0e09900fd81c1ffe734b75fdbc8b77\"\u003e\u003ccode\u003ed6a512d\u003c/code\u003e\u003c/a\u003e Update lexbor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rushter/selectolax/commit/e15a8b0eb87d16489a6883846a1775b963892eeb\"\u003e\u003ccode\u003ee15a8b0\u003c/code\u003e\u003c/a\u003e Allow building selectolax using older lexbor versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rushter/selectolax/commit/8e6f76d0ecb9957814a20ec21437815a581ecb28\"\u003e\u003ccode\u003e8e6f76d\u003c/code\u003e\u003c/a\u003e Do not destroy nodes when stripping\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rushter/selectolax/compare/v0.4.9...v0.4.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.153.0 to 6.155.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4afeada246751658ceadf7389ad946a4fcf64175\"\u003e\u003ccode\u003e4afeada\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.155.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1dafffb33415019bce34e2f4709887e1f10c64ec\"\u003e\u003ccode\u003e1dafffb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4755\"\u003e#4755\u003c/a\u003e from Zac-HD/claude/nice-bardeen-xS6yA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/78b2a0199662606d2ce0d361c7d7851e55254b75\"\u003e\u003ccode\u003e78b2a01\u003c/code\u003e\u003c/a\u003e Address review feedback on the overrun-repair branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ba3a2063e026b799f8ffd89d1f6b74c4b6b4c8f4\"\u003e\u003ccode\u003eba3a206\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4757\"\u003e#4757\u003c/a\u003e from Zac-HD/cleanups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f72f644407be54cfc1f9e16d3dd596fd7887ac8\"\u003e\u003ccode\u003e4f72f64\u003c/code\u003e\u003c/a\u003e deflake tests?\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44114873e422b68492c8308c0e933b63b2fe4444\"\u003e\u003ccode\u003e4411487\u003c/code\u003e\u003c/a\u003e crosshair tests cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b19b02e1f52e3b545f532ecccfb2a78fea7ed146\"\u003e\u003ccode\u003eb19b02e\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.155.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/05a605b6a78fe260dd0db69592322ead778cdb89\"\u003e\u003ccode\u003e05a605b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4756\"\u003e#4756\u003c/a\u003e from Zac-HD/claude/hopeful-einstein-zhwDO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/5690ba97cb1eaa809ab0f624be4dc09ed241b830\"\u003e\u003ccode\u003e5690ba9\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.154.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7e91ba0923cb265f39250feb819fc339fccda90d\"\u003e\u003ccode\u003e7e91ba0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4751\"\u003e#4751\u003c/a\u003e from Zac-HD/claude/amazing-brahmagupta-6XQsP\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.153.0...v6.155.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.4.1 to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.3\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.3\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/commit/02bb73f2be5539f3a1d219e74ad2ba344a633758\"\u003e\u003ccode\u003e02bb73f\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0f64ff91cf2a0934c30407522b93058c8d70cc6c\"\u003e\u003ccode\u003e0f64ff9\u003c/code\u003e\u003c/a\u003e Ignore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.1...v0.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.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/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio v1.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0\"\u003e1.4.0\u003c/a\u003e - 2026-05-26\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated minimum supported pytest version to v8.4.0. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397\"\u003e#1397\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u003ccode\u003eResourceWarning: unclosed event loop\u003c/code\u003e warning that could occur when a synchronous test called \u003ccode\u003easyncio.run()\u003c/code\u003e or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded dependency on \u003ccode\u003esphinx-tabs \u0026gt;= 3.5\u003c/code\u003e to organize documentation examples into tabs. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio v1.4.0a2\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2\"\u003e1.4.0a2\u003c/a\u003e - 2026-05-02\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\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/pytest-dev/pytest-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425\"\u003e\u003ccode\u003e6e14cd2\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e\"\u003e\u003ccode\u003e4b900fb\u003c/code\u003e\u003c/a\u003e Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf\"\u003e\u003ccode\u003eab9f632\u003c/code\u003e\u003c/a\u003e Build(deps): Bump zipp from 3.23.1 to 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa\"\u003e\u003ccode\u003ea56fc77\u003c/code\u003e\u003c/a\u003e Build(deps): Bump hypothesis from 6.152.6 to 6.152.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d\"\u003e\u003ccode\u003ee8bae9b\u003c/code\u003e\u003c/a\u003e Build(deps): Bump requests from 2.34.0 to 2.34.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de\"\u003e\u003ccode\u003efc43340\u003c/code\u003e\u003c/a\u003e Build(deps): Bump idna from 3.14 to 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b\"\u003e\u003ccode\u003e762eaf5\u003c/code\u003e\u003c/a\u003e Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f\"\u003e\u003ccode\u003eb62e222\u003c/code\u003e\u003c/a\u003e Build(deps): Bump click from 8.3.3 to 8.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb\"\u003e\u003ccode\u003e9190447\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pydantic from 2.13.3 to 2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236\"\u003e\u003ccode\u003e82a393c\u003c/code\u003e\u003c/a\u003e ci: Remove unnecessary debug output.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.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.14 to 0.15.15\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.15\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Markdown closing fence handling (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25310\"\u003e#25310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Report duplicate imports in \u003ccode\u003etyping.TYPE_CHECKING\u003c/code\u003e block (\u003ccode\u003eF811\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22560\"\u003e#22560\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] Treat function-scope bare annotations as locals per PEP 526 (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21540\"\u003e#21540\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid redundant \u003ccode\u003eTokenValue\u003c/code\u003e drops in the lexer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25300\"\u003e#25300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce memory usage by dropping token-excess capacity and improve performance by approximating the initial tokens \u003ccode\u003eVec\u003c/code\u003e size (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25354\"\u003e#25354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eThinVec\u003c/code\u003e in AST to shrink \u003ccode\u003eStmt\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25361\"\u003e#25361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eline-length\u003c/code\u003e example for \u003ccode\u003e--config\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25389\"\u003e#25389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Document \u003ccode\u003eRecursionError\u003c/code\u003e edge case in \u003ccode\u003e__len__\u003c/code\u003e (\u003ccode\u003eC416\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25286\"\u003e#25286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003emccabe\u003c/code\u003e] Improve example (\u003ccode\u003eC901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25287\"\u003e#25287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Clarify fix safety docs (\u003ccode\u003eUP007\u003c/code\u003e, \u003ccode\u003eUP045\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25288\"\u003e#25288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Document \u003ccode\u003eFURB192\u003c/code\u003e exception change for empty sequences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25317\"\u003e#25317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Document false negative for user-defined types (\u003ccode\u003eRUF013\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25289\"\u003e#25289\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix formatting of lambdas nested within f-strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25398\"\u003e#25398\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn code action for \u003ccode\u003ecodeAction/resolve\u003c/code\u003e requests that contain no or no valid URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25365\"\u003e#25365\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand semantic syntax errors for invalid walruses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25415\"\u003e#25415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/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\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/fallintoplace\"\u003e\u003ccode\u003e@​fallintoplace\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martin-schlossarek\"\u003e\u003ccode\u003e@​martin-schlossarek\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\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.15\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Markdown closing fence handling (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25310\"\u003e#25310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Report duplicate imports in \u003ccode\u003etyping.TYPE_CHECKING\u003c/code\u003e block (\u003ccode\u003eF811\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22560\"\u003e#22560\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] Treat function-scope bare annotations as locals per PEP 526 (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21540\"\u003e#21540\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid redundant \u003ccode\u003eTokenValue\u003c/code\u003e drops in the lexer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25300\"\u003e#25300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce memory usage by dropping token-excess capacity and improve performance by approximating the initial tokens \u003ccode\u003eVec\u003c/code\u003e size (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25354\"\u003e#25354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eThinVec\u003c/code\u003e in AST to shrink \u003ccode\u003eStmt\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25361\"\u003e#25361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eline-length\u003c/code\u003e example for \u003ccode\u003e--config\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25389\"\u003e#25389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Document \u003ccode\u003eRecursionError\u003c/code\u003e edge case in \u003ccode\u003e__len__\u003c/code\u003e (\u003ccode\u003eC416\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25286\"\u003e#25286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003emccabe\u003c/code\u003e] Improve example (\u003ccode\u003eC901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25287\"\u003e#25287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Clarify fix safety docs (\u003ccode\u003eUP007\u003c/code\u003e, \u003ccode\u003eUP045\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25288\"\u003e#25288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Document \u003ccode\u003eFURB192\u003c/code\u003e exception change for empty sequences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25317\"\u003e#25317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Document false negative for user-defined types (\u003ccode\u003eRUF013\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25289\"\u003e#25289\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix formatting of lambdas nested within f-strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25398\"\u003e#25398\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn code action for \u003ccode\u003ecodeAction/resolve\u003c/code\u003e requests that contain no or no valid URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25365\"\u003e#25365\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand semantic syntax errors for invalid walruses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25415\"\u003e#25415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/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\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/fallintoplace\"\u003e\u003ccode\u003e@​fallintoplace\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martin-schlossarek\"\u003e\u003ccode\u003e@​martin-schlossarek\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/Ruchir28\"\u003e\u003ccode\u003e@​Ruchir28\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/db5aa0a5f1b92cb91d910bf0866a967554dd94f5\"\u003e\u003ccode\u003edb5aa0a\u003c/code\u003e\u003c/a\u003e Bump 0.15.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25431\"\u003e#25431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/366fe21ba369ccdd01eb99c1043c9a969c99230b\"\u003e\u003ccode\u003e366fe21\u003c/code\u003e\u003c/a\u003e [ty] Improve diagnostics for syntax errors in forward annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25158\"\u003e#25158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2e1e647d182b8567845039c9a65fb0608a4dcfc\"\u003e\u003ccode\u003ee2e1e64\u003c/code\u003e\u003c/a\u003e [ty] Remove excess capacity from more Salsa cached collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25411\"\u003e#25411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1bd77e1646f2213d86b8da215f08279187867d72\"\u003e\u003ccode\u003e1bd77e1\u003c/code\u003e\u003c/a\u003e [ty] Use diagnostic message as tie breaker when sorting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25424\"\u003e#25424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7e1bc1e75f15795f12c846294b13df4535f2abbf\"\u003e\u003ccode\u003e7e1bc1e\u003c/code\u003e\u003c/a\u003e Add agent skills for working on ty (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25422\"\u003e#25422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/574e10752f8cfa9e0cdbe3b01e96c4380950469b\"\u003e\u003ccode\u003e574e107\u003c/code\u003e\u003c/a\u003e Expand semantic syntax errors for invalid walruses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25415\"\u003e#25415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4a7ca062fccd80443a43aa61e5dc7e5858e88dc1\"\u003e\u003ccode\u003e4a7ca06\u003c/code\u003e\u003c/a\u003e [ty] Display docs for matching parameter when hovering over the name of an ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54327092dbfe455040690d63bb1e5e4b5f551239\"\u003e\u003ccode\u003e5432709\u003c/code\u003e\u003c/a\u003e Refine a few agents instructions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25423\"\u003e#25423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3cb09eba689ebb49e799131092121928cc789c18\"\u003e\u003ccode\u003e3cb09eb\u003c/code\u003e\u003c/a\u003e [ty] Support \u003ccode\u003etyping.TypeForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25334\"\u003e#25334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c8cd59f189f2b6f55d542b29bddb953622add6fc\"\u003e\u003ccode\u003ec8cd59f\u003c/code\u003e\u003c/a\u003e [ty] Infer class attributes assigned by metaclass initialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25342\"\u003e#25342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.14...0.15.15\"\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/Ven0m0/Revanced-auto/pull/247","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ven0m0%2FRevanced-auto/issues/247","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/247/packages"},{"uuid":"4552047658","node_id":"PR_kwDOSB39Q87g0-Qo","number":9,"state":"open","title":"chore(deps): bump prek from 0.3.9 to 0.4.3","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-29T22:37:54.000Z","updated_at":"2026-05-29T22:38:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"prek","old_version":"0.3.9","new_version":"0.4.3","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.3.9 to 0.4.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.3\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.3\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/commit/02bb73f2be5539f3a1d219e74ad2ba344a633758\"\u003e\u003ccode\u003e02bb73f\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0f64ff91cf2a0934c30407522b93058c8d70cc6c\"\u003e\u003ccode\u003e0f64ff9\u003c/code\u003e\u003c/a\u003e Ignore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.9...v0.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.3.9\u0026new-version=0.4.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\n\u003c!-- Macroscope's pull request summary starts here --\u003e\n\u003c!-- Macroscope will only edit the content between these invisible markers, and the markers themselves will not be visible in the GitHub rendered markdown. --\u003e\n\u003c!-- If you delete either of the start / end markers from your PR's description, Macroscope will append its summary at the bottom of the description. --\u003e\n\u003e [!NOTE]\n\u003e ### Bump `prek` minimum version from 0.3.8 to 0.4.3\n\u003e Updates the `prek` dependency constraint in [pyproject.toml](https://github.com/detailobsessed/matter-mcp/pull/9/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711) and regenerates the lockfile to reflect the new minimum version.\n\u003e\n\u003e \u003c!-- Macroscope's review summary starts here --\u003e\n\u003e\n\u003e \u003csup\u003e\u003ca href=\"https://app.macroscope.com\"\u003eMacroscope\u003c/a\u003e summarized 50b98e8.\u003c/sup\u003e\n\u003e \u003c!-- Macroscope's review summary ends here --\u003e\n\u003e\n\u003c!-- macroscope-ui-refresh --\u003e\n\u003c!-- Macroscope's pull request summary ends here --\u003e","html_url":"https://github.com/detailobsessed/matter-mcp/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/detailobsessed%2Fmatter-mcp/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4537128230","node_id":"PR_kwDORz44is7gEHQ9","number":21,"state":"closed","title":"chore(deps): bump the uv-minor-patch group across 1 directory with 3 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-28T02:15:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-28T02:08:42.000Z","updated_at":"2026-05-28T02:15:57.000Z","time_to_close":433,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv-minor-patch","update_count":3,"packages":[{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"ty","old_version":"0.0.39","new_version":"0.0.40","repository_url":"https://github.com/astral-sh/ty"},{"name":"prek","old_version":"0.4.1","new_version":"0.4.3","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-minor-patch group with 3 updates in the / directory: [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio), [ty](https://github.com/astral-sh/ty) and [prek](https://github.com/j178/prek).\n\nUpdates `pytest-asyncio` 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/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio v1.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0\"\u003e1.4.0\u003c/a\u003e - 2026-05-26\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated minimum supported pytest version to v8.4.0. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397\"\u003e#1397\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u003ccode\u003eResourceWarning: unclosed event loop\u003c/code\u003e warning that could occur when a synchronous test called \u003ccode\u003easyncio.run()\u003c/code\u003e or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded dependency on \u003ccode\u003esphinx-tabs \u0026gt;= 3.5\u003c/code\u003e to organize documentation examples into tabs. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio v1.4.0a2\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2\"\u003e1.4.0a2\u003c/a\u003e - 2026-05-02\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\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/pytest-dev/pytest-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425\"\u003e\u003ccode\u003e6e14cd2\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e\"\u003e\u003ccode\u003e4b900fb\u003c/code\u003e\u003c/a\u003e Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf\"\u003e\u003ccode\u003eab9f632\u003c/code\u003e\u003c/a\u003e Build(deps): Bump zipp from 3.23.1 to 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa\"\u003e\u003ccode\u003ea56fc77\u003c/code\u003e\u003c/a\u003e Build(deps): Bump hypothesis from 6.152.6 to 6.152.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d\"\u003e\u003ccode\u003ee8bae9b\u003c/code\u003e\u003c/a\u003e Build(deps): Bump requests from 2.34.0 to 2.34.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de\"\u003e\u003ccode\u003efc43340\u003c/code\u003e\u003c/a\u003e Build(deps): Bump idna from 3.14 to 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b\"\u003e\u003ccode\u003e762eaf5\u003c/code\u003e\u003c/a\u003e Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f\"\u003e\u003ccode\u003eb62e222\u003c/code\u003e\u003c/a\u003e Build(deps): Bump click from 8.3.3 to 8.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb\"\u003e\u003ccode\u003e9190447\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pydantic from 2.13.3 to 2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236\"\u003e\u003ccode\u003e82a393c\u003c/code\u003e\u003c/a\u003e ci: Remove unnecessary debug output.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.0\"\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.39 to 0.0.40\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.40\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept complete enum-literal alias unions as enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25341\"\u003e#25341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix diagnostics in ignored folders after adding new files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25236\"\u003e#25236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow \u003ccode\u003eLiteralString\u003c/code\u003e when hovering over an inline of a literal string in an IDE (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25373\"\u003e#25373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFollow aliases when attempting to map a definition in a stub file to its \u0026quot;real\u0026quot; runtime definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25328\"\u003e#25328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat Python notebook text documents as Python sources (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25393\"\u003e#25393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix autocompletion for elements inside incomplete list comprehensions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25326\"\u003e#25326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a subdiagnostic help message to \u003ccode\u003einvalid-generic-class\u003c/code\u003e diagnostics regarding incompatible variance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25385\"\u003e#25385\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore and reject annotations on non-name targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25324\"\u003e#25324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer class attributes assigned by metaclass initialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25342\"\u003e#25342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject inconsistent generic bases in \u0026quot;dynamic\u0026quot; classes created using \u003ccode\u003etype(...)\u003c/code\u003e, \u003ccode\u003etypes.new_type(...)\u003c/code\u003e, etc. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25413\"\u003e#25413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve enum names for all unions arms in \u003ccode\u003eLiteral\u003c/code\u003e enum subsets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25379\"\u003e#25379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.TypeForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25334\"\u003e#25334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many issues in the generics solver by using constraint sets more widely to solve type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24540\"\u003e#24540\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/anuraaga\"\u003e\u003ccode\u003e@​anuraaga\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\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/Dev-X25874\"\u003e\u003ccode\u003e@​Dev-X25874\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.40\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.40/ty-installer.sh | sh\r\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.40/ty-installer.ps1 | iex\u0026quot;\r\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/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.40\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept complete enum-literal alias unions as enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25341\"\u003e#25341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix diagnostics in ignored folders after adding new files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25236\"\u003e#25236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow \u003ccode\u003eLiteralString\u003c/code\u003e when hovering over an inline of a literal string in an IDE (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25373\"\u003e#25373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFollow aliases when attempting to map a definition in a stub file to its \u0026quot;real\u0026quot; runtime definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25328\"\u003e#25328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat Python notebook text documents as Python sources (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25393\"\u003e#25393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix autocompletion for elements inside incomplete list comprehensions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25326\"\u003e#25326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a subdiagnostic help message to \u003ccode\u003einvalid-generic-class\u003c/code\u003e diagnostics regarding incompatible variance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25385\"\u003e#25385\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore and reject annotations on non-name targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25324\"\u003e#25324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer class attributes assigned by metaclass initialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25342\"\u003e#25342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject inconsistent generic bases in \u0026quot;dynamic\u0026quot; classes created using \u003ccode\u003etype(...)\u003c/code\u003e, \u003ccode\u003etypes.new_type(...)\u003c/code\u003e, etc. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25413\"\u003e#25413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve enum names for all unions arms in \u003ccode\u003eLiteral\u003c/code\u003e enum subsets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25379\"\u003e#25379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.TypeForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25334\"\u003e#25334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many issues in the generics solver by using constraint sets more widely to solve type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24540\"\u003e#24540\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/anuraaga\"\u003e\u003ccode\u003e@​anuraaga\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\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/Dev-X25874\"\u003e\u003ccode\u003e@​Dev-X25874\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/ty/commit/7b95bc219d1dcebc3ce39d222c66c14a3825c9a0\"\u003e\u003ccode\u003e7b95bc2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.40 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3554\"\u003e#3554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/54c7498ec94de87135edb8b54c311b54d30ec534\"\u003e\u003ccode\u003e54c7498\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3546\"\u003e#3546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/0d8540acdbf1340af95a2f364b9fd7d3b6bba3a8\"\u003e\u003ccode\u003e0d8540a\u003c/code\u003e\u003c/a\u003e docs: set Eglot \u003ccode\u003e:language-id\u003c/code\u003e so ty works with \u003ccode\u003epython-base-mode\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3532\"\u003e#3532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/8f1cee048254accb008fc391428b9c3139cebb2f\"\u003e\u003ccode\u003e8f1cee0\u003c/code\u003e\u003c/a\u003e scripts/update_schemastore: add text=True to git revision check_output calls ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/32b654a899f1c2cffd9909a89fec19ec53af2d9d\"\u003e\u003ccode\u003e32b654a\u003c/code\u003e\u003c/a\u003e docs: add Flycheck note to Emacs editor integration (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3528\"\u003e#3528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/4e1b4e72018457d0cea0efa818ecccd63b3f3f01\"\u003e\u003ccode\u003e4e1b4e7\u003c/code\u003e\u003c/a\u003e docs: fix broken link and minor wording in suppression.md (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3527\"\u003e#3527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.39...0.0.40\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.4.1 to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.3\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.3\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/commit/02bb73f2be5539f3a1d219e74ad2ba344a633758\"\u003e\u003ccode\u003e02bb73f\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0f64ff91cf2a0934c30407522b93058c8d70cc6c\"\u003e\u003ccode\u003e0f64ff9\u003c/code\u003e\u003c/a\u003e Ignore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.1...v0.4.3\"\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/ZYLVEXT/litestar-auth/pull/21","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZYLVEXT%2Flitestar-auth/issues/21","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/21/packages"},{"uuid":"4526994283","node_id":"PR_kwDOHOQPss7fjNz6","number":1261,"state":"closed","title":"Bump prek from 0.4.0 to 0.4.2","user":"dependabot[bot]","labels":["dependencies"],"assignees":["Vaskivskyi"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-27T14:43:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-26T19:42:04.000Z","updated_at":"2026-05-27T14:43:33.000Z","time_to_close":68486,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.4.0","new_version":"0.4.2","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.4.0 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake rustup install profile configurable (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize diff checks for clean worktrees (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2109\"\u003e#2109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip diff checks for read-only hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2108\"\u003e#2108\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Carlomus\"\u003e\u003ccode\u003e@​Carlomus\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake rustup install profile configurable (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize diff checks for clean worktrees (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2109\"\u003e#2109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip diff checks for read-only hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2108\"\u003e#2108\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Carlomus\"\u003e\u003ccode\u003e@​Carlomus\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\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/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/8686776c62e27eb45e60f40bb27cda25bcc151fc\"\u003e\u003ccode\u003e8686776\u003c/code\u003e\u003c/a\u003e Update dependency PyO3/maturin to v1.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2117\"\u003e#2117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c1467f217a90ac18982ce9a2f41332537b611743\"\u003e\u003ccode\u003ec1467f2\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.0...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.4.0\u0026new-version=0.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Vaskivskyi/ha-asusrouter/pull/1261","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vaskivskyi%2Fha-asusrouter/issues/1261","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1261/packages"},{"uuid":"4512719141","node_id":"PR_kwDORz44is7e1I3V","number":20,"state":"open","title":"chore(deps): bump the uv-minor-patch group with 7 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-05-24T19:45:30.000Z","updated_at":"2026-05-28T04:00:15.044Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv-minor-patch","update_count":7,"packages":[{"name":"litestar","old_version":"2.21.1","new_version":"2.22.0","repository_url":"https://github.com/litestar-org/litestar"},{"name":"advanced-alchemy","old_version":"1.9.3","new_version":"1.10.0","repository_url":"https://github.com/litestar-org/advanced-alchemy"},{"name":"pyjwt","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.37","new_version":"0.0.39","repository_url":"https://github.com/astral-sh/ty"},{"name":"prek","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/j178/prek"},{"name":"zensical","old_version":"0.0.42","new_version":"0.0.43","repository_url":"https://github.com/zensical/zensical"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-minor-patch group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [litestar](https://github.com/litestar-org/litestar) | `2.21.1` | `2.22.0` |\n| [advanced-alchemy](https://github.com/litestar-org/advanced-alchemy) | `1.9.3` | `1.10.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.1` | `2.13.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.14` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.37` | `0.0.39` |\n| [prek](https://github.com/j178/prek) | `0.4.0` | `0.4.1` |\n| [zensical](https://github.com/zensical/zensical) | `0.0.42` | `0.0.43` |\n\nUpdates `litestar` from 2.21.1 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/litestar-org/litestar/releases\"\u003elitestar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.22.0\u003c/h2\u003e\n\u003ch2\u003eSponsors 🌟\u003c/h2\u003e\n\u003cp\u003eThanks to these incredible business sponsors:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://scalar.com/\"\u003eScalar\u003c/a\u003e (\u003ca href=\"https://github.com/scalar\"\u003e\u003ccode\u003e@​scalar\u003c/code\u003e\u003c/a\u003e), \u003ca href=\"https://telemetrysports.com/\"\u003eTelemetry Sports\u003c/a\u003e (via \u003ca href=\"https://github.com/chris-telemetry\"\u003e\u003ccode\u003e@​chris-telemetry\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to these incredible personal sponsors:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://polar.sh/\"\u003ePolar.sh\u003c/a\u003e: \u003ca href=\"https://github.com/Nozavi\"\u003e\u003ccode\u003e@​Nozavi\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cemrehancavdar\"\u003e\u003ccode\u003e@​cemrehancavdar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/thomastu\"\u003e\u003ccode\u003e@​thomastu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sponsors/litestar-org/\"\u003eGitHub Sponsors\u003c/a\u003e: \u003ca href=\"https://github.com/ddahan\"\u003e\u003ccode\u003e@​ddahan\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/roboflow\"\u003e\u003ccode\u003e@​roboflow\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cbscsm\"\u003e\u003ccode\u003e@​cbscsm\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/scalar\"\u003e\u003ccode\u003e@​scalar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/benjamin-kirkbride\"\u003e\u003ccode\u003e@​benjamin-kirkbride\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://opencollective.com/litestar\"\u003eOpenCollective\u003c/a\u003e: Christian Y, Shaun Wah, Jordan Russel\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/maksimzayats\"\u003e\u003ccode\u003e@​maksimzayats\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/litestar-org/litestar/pull/4636\"\u003elitestar-org/litestar#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/worksbyfriday\"\u003e\u003ccode\u003e@​worksbyfriday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/litestar-org/litestar/pull/4605\"\u003elitestar-org/litestar#4605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pavdwest\"\u003e\u003ccode\u003e@​pavdwest\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/litestar-org/litestar/pull/4676\"\u003elitestar-org/litestar#4676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/infraAnchor\"\u003e\u003ccode\u003e@​infraAnchor\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/litestar-org/litestar/pull/4659\"\u003elitestar-org/litestar#4659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://docs.litestar.dev/2/release-notes/changelog.html#2.22.0\"\u003ehttps://docs.litestar.dev/2/release-notes/changelog.html#2.22.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/litestar-org/litestar/compare/v2.21.1...v2.22.0\"\u003ehttps://github.com/litestar-org/litestar/compare/v2.21.1...v2.22.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/litestar-org/litestar/commit/2f80070e237bde0a5c8035efde1ffebb1b949271\"\u003e\u003ccode\u003e2f80070\u003c/code\u003e\u003c/a\u003e fix: 3.9 typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/6930a20ceb543912cd651b42deae5b9f3637a262\"\u003e\u003ccode\u003e6930a20\u003c/code\u003e\u003c/a\u003e fix: ignore x-allowed-hosts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/299a5845d2e9a067ed7fb716fecf518cfed8b67b\"\u003e\u003ccode\u003e299a584\u003c/code\u003e\u003c/a\u003e fix: Ensure 'csrf_input' is properly escaped before rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/a1d51b95a08fc71545ad5861c47dc9ede075ec1b\"\u003e\u003ccode\u003ea1d51b9\u003c/code\u003e\u003c/a\u003e feat(core): Introduce explicit parameter declarations with generics (\u003ca href=\"https://redirect.github.com/litestar-org/litestar/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/a8095beb8e78418189ce3bdd803596733833e0f3\"\u003e\u003ccode\u003ea8095be\u003c/code\u003e\u003c/a\u003e chore: Typing fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/2d9f742ccf7077c7b5c31256cb68c299423cf31c\"\u003e\u003ccode\u003e2d9f742\u003c/code\u003e\u003c/a\u003e chore: add Python 3.14 classifier to pyproject.toml (\u003ca href=\"https://redirect.github.com/litestar-org/litestar/issues/4776\"\u003e#4776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/45c0ef9b3aa340d365269fc5425f7e1558c61db5\"\u003e\u003ccode\u003e45c0ef9\u003c/code\u003e\u003c/a\u003e fix(request): content-length check incompatible with decompression middleware...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/693649e962dd77b0ec9eda3ecb36afe92299dc04\"\u003e\u003ccode\u003e693649e\u003c/code\u003e\u003c/a\u003e ci: Remove codeql (\u003ca href=\"https://redirect.github.com/litestar-org/litestar/issues/4706\"\u003e#4706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/bf891515be12f03bb122319c2cb9b716c4aa2118\"\u003e\u003ccode\u003ebf89151\u003c/code\u003e\u003c/a\u003e test: Remove deprecated \u003ccode\u003easyncio.WindowsSelectorEventLoopPolicy\u003c/code\u003e  (\u003ca href=\"https://redirect.github.com/litestar-org/litestar/issues/4704\"\u003e#4704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/f17780a00542959231322da01049b7157329aad8\"\u003e\u003ccode\u003ef17780a\u003c/code\u003e\u003c/a\u003e docs(usage/excluding-and-including-endpoints): fix misleading regex examples ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/litestar-org/litestar/compare/v2.21.1...v2.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `advanced-alchemy` from 1.9.3 to 1.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/litestar-org/advanced-alchemy/releases\"\u003eadvanced-alchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003ch3\u003eNew features 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: configurable serialization with Protocol-based architecture by \u003ca href=\"https://github.com/cofin\"\u003e\u003ccode\u003e@​cofin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/716\"\u003elitestar-org/advanced-alchemy#716\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(litestar): Update to new-style parameter markers by \u003ca href=\"https://github.com/provinzkraut\"\u003e\u003ccode\u003e@​provinzkraut\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/736\"\u003elitestar-org/advanced-alchemy#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add support for UUID6 and UUID7 based on Python version by \u003ca href=\"https://github.com/lajxw\"\u003e\u003ccode\u003e@​lajxw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/714\"\u003elitestar-org/advanced-alchemy#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: deprecate \u003ccode\u003elist()\u003c/code\u003e/\u003ccode\u003elist_and_count()\u003c/code\u003e by \u003ca href=\"https://github.com/cofin\"\u003e\u003ccode\u003e@​cofin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/706\"\u003elitestar-org/advanced-alchemy#706\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: register session listeners in framework extension configs by \u003ca href=\"https://github.com/hasansezertasan\"\u003e\u003ccode\u003e@​hasansezertasan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/712\"\u003elitestar-org/advanced-alchemy#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: docs preview workflow by \u003ca href=\"https://github.com/Harshal6927\"\u003e\u003ccode\u003e@​Harshal6927\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/718\"\u003elitestar-org/advanced-alchemy#718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config): add cache_config field to SQLAlchemy configs by \u003ca href=\"https://github.com/hasansezertasan\"\u003e\u003ccode\u003e@​hasansezertasan\u003c/code\u003e\u003c/a\u003e  in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/731\"\u003elitestar-org/advanced-alchemy#731\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/lajxw\"\u003e\u003ccode\u003e@​lajxw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/714\"\u003elitestar-org/advanced-alchemy#714\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: migrate object storage tests to rustfs by \u003ca href=\"https://github.com/cofin\"\u003e\u003ccode\u003e@​cofin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/732\"\u003elitestar-org/advanced-alchemy#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: centralize optional-dependency typing shims by \u003ca href=\"https://github.com/cofin\"\u003e\u003ccode\u003e@​cofin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/719\"\u003elitestar-org/advanced-alchemy#719\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e\n\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/compare/v1.9.3...v1.10.0\"\u003ehttps://github.com/litestar-org/advanced-alchemy/compare/v1.9.3...v1.10.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/litestar-org/advanced-alchemy/blob/main/docs/changelog.rst\"\u003eadvanced-alchemy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e:orphan:\u003c/p\u003e\n\u003ch1\u003e1.x Changelog\u003c/h1\u003e\n\u003cp\u003e.. changelog:: 1.10.0\n:date: 2026-05-23\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e.. change:: configurable serialization with Protocol-based architecture\n    :type: feature\n    :pr: 716\n\u003cpre\u003e\u003ccode\u003eAdds ``advanced_alchemy.utils.serialization`` as the canonical home for\nJSON serialization, schema dumping, and schema/type guards. JSON\nencoding can now use msgspec, orjson, or the standard library with\nconfigurable type encoders, reversible complex-type markers, and\nLitestar encoder/decoder integration.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e.. change:: update Litestar integrations to new-style parameter markers\u003cbr /\u003e\n:type: feature\u003cbr /\u003e\n:pr: 736\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdates the Litestar extension and examples to use Litestar's new\nparameter marker style for generated dependency and filter parameters.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e.. change:: add UUID6 and UUID7 support based on Python version\u003cbr /\u003e\n:type: feature\u003cbr /\u003e\n:pr: 714\u003cbr /\u003e\n:issue: 713\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eAdds UUID6 and UUID7 primary-key support, using the standard library\nimplementation when available and falling back to the existing\ncompatibility dependency on older Python versions.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e.. change:: deprecate \u003ccode\u003elist()\u003c/code\u003e/\u003ccode\u003elist_and_count()\u003c/code\u003e\u003cbr /\u003e\n:type: feature\u003cbr /\u003e\n:pr: 706\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eAdds ``get_many()`` and ``get_many_and_count()`` as the preferred APIs\nacross repositories, services, memory repositories, query repositories,\nand cache managers. The older ``list()`` and ``list_and_count()`` names\nremain available as deprecation wrappers until 2.0.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e.. change:: configure repository caching from SQLAlchemy configs\u003cbr /\u003e\n:type: feature\u003cbr /\u003e\n:pr: 731\u003cbr /\u003e\n:issue: 730\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eAdds ``cache_config`` and ``cache_manager`` support to SQLAlchemy config\nobjects. Configured cache managers are stored in ``session.info`` so\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/83ec1175f1d5fa933a6df7a0003172279086f2d1\"\u003e\u003ccode\u003e83ec117\u003c/code\u003e\u003c/a\u003e fix(config): add cache_config field to SQLAlchemy configs (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/ed8c46b8b351975a7deb7a4be24e5ed6fd06a2ee\"\u003e\u003ccode\u003eed8c46b\u003c/code\u003e\u003c/a\u003e chore: updated changelog (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/e87371b1bea495562d02609cb2f187603798db24\"\u003e\u003ccode\u003ee87371b\u003c/code\u003e\u003c/a\u003e feat: configurable serialization with Protocol-based architecture (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/0d84a85e7ad38456b61dd5c7e6fd84f3873d9620\"\u003e\u003ccode\u003e0d84a85\u003c/code\u003e\u003c/a\u003e feat(litestar): Update to new-style parameter markers (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/736\"\u003e#736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/955df1dd154dd0e69b02c62541abf1200b408189\"\u003e\u003ccode\u003e955df1d\u003c/code\u003e\u003c/a\u003e test: migrate object storage tests to rustfs (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/a6e275d889ec376d1cc942193fc56cf356a8fddf\"\u003e\u003ccode\u003ea6e275d\u003c/code\u003e\u003c/a\u003e feat: Add support for UUID6 and UUID7 based on Python version (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/714\"\u003e#714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/c3d3e2eb5653d14abc870e3471d7c6add56f58ff\"\u003e\u003ccode\u003ec3d3e2e\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 1.26.20 to 2.6.3 in the uv group across 1 dire...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/f2b90e9bd6d19a782f8b4ac13e00d1656cd11847\"\u003e\u003ccode\u003ef2b90e9\u003c/code\u003e\u003c/a\u003e fix: register session listeners in framework extension configs (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/712\"\u003e#712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/f4c409ee21687025eeea8446ec007300d1fe60a5\"\u003e\u003ccode\u003ef4c409e\u003c/code\u003e\u003c/a\u003e refactor: centralize optional-dependency typing shims (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/719\"\u003e#719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/437d56efc5c5664d6f0acc2fb7417bb9766942df\"\u003e\u003ccode\u003e437d56e\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/github-script from 8 to 9 (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/710\"\u003e#710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/litestar-org/advanced-alchemy/compare/v1.9.3...v1.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyjwt` from 2.12.1 to 2.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jpadilla/pyjwt/releases\"\u003epyjwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.13.0\u003c/h2\u003e\n\u003ch1\u003ePyJWT 2.13.0 — Security Release\u003c/h1\u003e\n\u003cp\u003eThis release bundles five security fixes plus three additional hardening / spec-compliance changes. We recommend all users upgrade.\u003c/p\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx\"\u003e\u003ccode\u003eGHSA-xgmm-8j9v-c9wx\u003c/code\u003e\u003c/a\u003e — JWK JSON accepted as HMAC secret (algorithm confusion).\u003c/strong\u003e \u003ccode\u003eHMACAlgorithm.prepare_key\u003c/code\u003e previously rejected PEM- and SSH-formatted asymmetric keys but did not catch a JWK passed as a raw JSON string. In a verifier configured with both symmetric and asymmetric algorithms in \u003ccode\u003ealgorithms=[…]\u003c/code\u003e and a raw-JSON JWK as the key, an attacker could forge HS256 tokens using the JWK text as the HMAC secret. The guard has been extended to reject any JWK-shaped JSON. \u003cem\u003eReported by \u003ca href=\"https://github.com/aradona91\"\u003e\u003ccode\u003e@​aradona91\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-jq35-7prp-9v3f\"\u003e\u003ccode\u003eGHSA-jq35-7prp-9v3f\u003c/code\u003e\u003c/a\u003e — Algorithm allow-list bypass with \u003ccode\u003ePyJWK\u003c/code\u003e / \u003ccode\u003ePyJWKClient\u003c/code\u003e.\u003c/strong\u003e When verifying with a \u003ccode\u003ePyJWK\u003c/code\u003e, the caller's \u003ccode\u003ealgorithms=[…]\u003c/code\u003e allow-list was checked against the token header \u003ccode\u003ealg\u003c/code\u003e as a string only; actual verification used the algorithm bound to the \u003ccode\u003ePyJWK\u003c/code\u003e. An attacker who controlled a registered JWKS key could sign with one algorithm and advertise another on the header. PyJWT now requires the token header \u003ccode\u003ealg\u003c/code\u003e to match the \u003ccode\u003ePyJWK\u003c/code\u003e's algorithm before verification. \u003cem\u003eReported by \u003ca href=\"https://github.com/sushi-gif\"\u003e\u003ccode\u003e@​sushi-gif\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39\"\u003e\u003ccode\u003eGHSA-w7vc-732c-9m39\u003c/code\u003e\u003c/a\u003e — DoS via base64 decode of unused payload segment when \u003ccode\u003eb64=false\u003c/code\u003e.\u003c/strong\u003e For detached-payload JWS (\u003ccode\u003eb64=false\u003c/code\u003e), the compact-form payload segment was base64-decoded before being discarded in favor of the caller-supplied \u003ccode\u003edetached_payload\u003c/code\u003e. An attacker could inflate the unused segment to force CPU + memory cost without holding a valid signature. The segment is now required to be empty per RFC 7515 Appendix F, and is no longer decoded. \u003cem\u003eReported by \u003ca href=\"https://github.com/thesmartshadow\"\u003e\u003ccode\u003e@​thesmartshadow\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4\"\u003e\u003ccode\u003eGHSA-993g-76c3-p5m4\u003c/code\u003e\u003c/a\u003e — \u003ccode\u003ePyJWKClient\u003c/code\u003e accepts non-HTTP(S) URIs.\u003c/strong\u003e \u003ccode\u003ePyJWKClient.fetch_data\u003c/code\u003e passed its URI to \u003ccode\u003eurllib.request.urlopen\u003c/code\u003e, which by default also handles \u003ccode\u003efile://\u003c/code\u003e, \u003ccode\u003eftp://\u003c/code\u003e, and \u003ccode\u003edata:\u003c/code\u003e schemes. An application that fed an attacker-influenced URI into \u003ccode\u003ePyJWKClient\u003c/code\u003e could be coerced into reading local files or reaching other unintended schemes. \u003ccode\u003ePyJWKClient\u003c/code\u003e now rejects any URI whose scheme isn't \u003ccode\u003ehttp\u003c/code\u003e or \u003ccode\u003ehttps\u003c/code\u003e. \u003cem\u003eReported by \u003ca href=\"https://github.com/KEIJOT\"\u003e\u003ccode\u003e@​KEIJOT\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8\"\u003e\u003ccode\u003eGHSA-fhv5-28vv-h8m8\u003c/code\u003e\u003c/a\u003e — \u003ccode\u003ePyJWKClient\u003c/code\u003e cache wiped on fetch error.\u003c/strong\u003e A \u003ccode\u003efinally\u003c/code\u003e-block \u003ccode\u003eput(jwk_set=None)\u003c/code\u003e cleared the JWK Set cache whenever a fetch raised, turning a transient JWKS-endpoint outage into application-wide auth failure. The cache write was moved into the success path; transient errors no longer evict valid cached keys. \u003cem\u003eReported by \u003ca href=\"https://github.com/eddieran\"\u003e\u003ccode\u003e@​eddieran\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReject empty HMAC keys outright in \u003ccode\u003eHMACAlgorithm.prepare_key\u003c/code\u003e with \u003ccode\u003eInvalidKeyError\u003c/code\u003e instead of accepting them with only a warning. Defends against the \u003ccode\u003eos.getenv(\u0026quot;JWT_SECRET\u0026quot;, \u0026quot;\u0026quot;)\u003c/code\u003e footgun. \u003cem\u003eThanks to \u003ca href=\"https://github.com/SnailSploit\"\u003e\u003ccode\u003e@​SnailSploit\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/spartan8806\"\u003e\u003ccode\u003e@​spartan8806\u003c/code\u003e\u003c/a\u003e for the reports.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003eForward per-call \u003ccode\u003eoptions\u003c/code\u003e (including \u003ccode\u003eenforce_minimum_key_length\u003c/code\u003e) from \u003ccode\u003ePyJWT.decode\u003c/code\u003e through to \u003ccode\u003ePyJWS._verify_signature\u003c/code\u003e. The option was previously silently dropped between the two layers, so it only took effect when set on the \u003ccode\u003ePyJWT\u003c/code\u003e instance. \u003cem\u003eThanks to \u003ca href=\"https://github.com/WLUB\"\u003e\u003ccode\u003e@​WLUB\u003c/code\u003e\u003c/a\u003e for the report.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRFC 7797 §3 compliance for \u003ccode\u003eb64=false\u003c/code\u003e:\u003c/strong\u003e the encoder now auto-adds \u003ccode\u003e\u0026quot;b64\u0026quot;\u003c/code\u003e to \u003ccode\u003ecrit\u003c/code\u003e, and the decoder rejects tokens that set \u003ccode\u003eb64=false\u003c/code\u003e without listing it in \u003ccode\u003ecrit\u003c/code\u003e. \u003cem\u003eThanks to \u003ca href=\"https://github.com/MachineLearning-Nerd\"\u003e\u003ccode\u003e@​MachineLearning-Nerd\u003c/code\u003e\u003c/a\u003e for the report.\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate the \u003ccode\u003edev\u003c/code\u003e, \u003ccode\u003edocs\u003c/code\u003e, and \u003ccode\u003etests\u003c/code\u003e package extras to dependency groups, by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1152\"\u003e#1152\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpgrade notes\u003c/h2\u003e\n\u003cp\u003eMost fixes are invisible to correctly-configured callers. A few behavioral changes you may encounter:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eEmpty HMAC keys now raise.\u003c/strong\u003e If your app passed \u003ccode\u003e\u0026quot;\u0026quot;\u003c/code\u003e or \u003ccode\u003eb\u0026quot;\u0026quot;\u003c/code\u003e as a secret (often via a missing env var, e.g. \u003ccode\u003eos.getenv(\u0026quot;JWT_SECRET\u0026quot;, \u0026quot;\u0026quot;)\u003c/code\u003e), \u003ccode\u003eencode\u003c/code\u003e/\u003ccode\u003edecode\u003c/code\u003e will now raise \u003ccode\u003eInvalidKeyError\u003c/code\u003e. This is the intended behavior — fix the configuration.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ePyJWK\u003c/code\u003e decoding now requires the token's \u003ccode\u003ealg\u003c/code\u003e to match the JWK's algorithm.\u003c/strong\u003e Previously a mismatch was silently honored if the header \u003ccode\u003ealg\u003c/code\u003e appeared in the allow-list. Tokens that relied on this mismatch will now fail with \u003ccode\u003eInvalidAlgorithmError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ePyJWKClient\u003c/code\u003e now rejects non-HTTP(S) URIs at construction time.\u003c/strong\u003e Tests or dev environments that fetched JWKS from \u003ccode\u003efile://\u003c/code\u003e URIs need to switch to a local HTTP server or load the JWKS by other means (e.g. construct \u003ccode\u003ePyJWKSet.from_dict(...)\u003c/code\u003e directly).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eb64=false\u003c/code\u003e tokens are now strictly RFC 7515 / 7797 compliant.\u003c/strong\u003e Tokens with a non-empty compact-form payload segment, or that omit \u003ccode\u003e\u0026quot;b64\u0026quot;\u003c/code\u003e from \u003ccode\u003ecrit\u003c/code\u003e, will be rejected. PyJWT-produced tokens always satisfy both invariants, so round-trips through PyJWT are unaffected.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eenforce_minimum_key_length\u003c/code\u003e set per-call now takes effect.\u003c/strong\u003e Callers who passed \u003ccode\u003eoptions={\u0026quot;enforce_minimum_key_length\u0026quot;: True}\u003c/code\u003e to \u003ccode\u003ejwt.decode()\u003c/code\u003e previously got no enforcement; they will now get \u003ccode\u003eInvalidKeyError\u003c/code\u003e on undersized keys, as documented.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0\"\u003ehttps://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.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/jpadilla/pyjwt/blob/master/CHANGELOG.rst\"\u003epyjwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003ev2.13.0 \u0026lt;https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0\u0026gt;\u003c/code\u003e__\u003c/h2\u003e\n\u003cp\u003eSecurity\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Reject JWK JSON documents passed as raw HMAC secrets in\n  ``HMACAlgorithm.prepare_key`` to close an algorithm-confusion gap that\n  the existing PEM/SSH guard did not cover. Reported by @aradona91 in\n  `GHSA-xgmm-8j9v-c9wx \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx\u0026gt;`__.\n- Bind the JWT header ``alg`` to ``PyJWK.algorithm_name`` during\n  verification so the caller's ``algorithms=[...]`` allow-list cannot be\n  bypassed when decoding with a ``PyJWK`` / ``PyJWKClient`` key. Reported\n  by @sushi-gif in `GHSA-jq35-7prp-9v3f \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-jq35-7prp-9v3f\u0026gt;`__.\n- Reject non-``http(s)`` URI schemes in ``PyJWKClient`` so attacker-\n  influenced URIs cannot read local files or reach unintended schemes via\n  urllib's default ``file://`` / ``ftp://`` / ``data:`` handlers. Reported\n  by @KEIJOT in `GHSA-993g-76c3-p5m4 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4\u0026gt;`__.\n- Preserve the cached JWK Set on fetch errors in ``PyJWKClient.fetch_data``.\n  The previous ``finally``-block ``put(None)`` pattern cleared the cache\n  on any transient outage, turning one bad JWKS request into application-\n  wide auth failure. Reported by @eddieran in `GHSA-fhv5-28vv-h8m8 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8\u0026gt;`__.\n- Skip the unconditional base64 decode of the compact-form payload segment\n  when ``b64=false`` is set in the protected header, and require that\n  segment to be empty (RFC 7515 Appendix F detached form). Closes an\n  unauthenticated DoS amplifier. Reported by @thesmartshadow in\n  `GHSA-w7vc-732c-9m39 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39\u0026gt;`__.\n\u003cp\u003eFixed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Reject empty HMAC keys outright in ``HMACAlgorithm.prepare_key`` with\n  ``InvalidKeyError`` instead of accepting them with only a warning.\n  Thanks to @SnailSploit and @spartan8806 for independently flagging the\n  footgun.\n- Forward per-call ``options`` (including ``enforce_minimum_key_length``)\n  from ``PyJWT.decode`` through to ``PyJWS._verify_signature`` so the\n  option actually takes effect when set at the call site rather than only\n  on the ``PyJWT`` instance. Thanks to @WLUB for the report.\n- RFC 7797 §3 compliance for ``b64=false``: the encoder now auto-adds\n  ``\u0026amp;quot;b64\u0026amp;quot;`` to the ``crit`` header parameter, and the decoder rejects\n  tokens that set ``b64=false`` without listing it in ``crit``. Thanks to\n  @MachineLearning-Nerd for the report.\n\nChanged\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate the \u003ccode\u003edev\u003c/code\u003e, \u003ccode\u003edocs\u003c/code\u003e, and \u003ccode\u003etests\u003c/code\u003e package extras to dependency groups by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ccode\u003e[#1152](https://github.com/jpadilla/pyjwt/issues/1152) \u0026amp;lt;https://github.com/jpadilla/pyjwt/pull/1152\u0026amp;gt;\u003c/code\u003e__\n\u003c/code\u003e\u003c/pre\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/jpadilla/pyjwt/commit/7144e4534c34810f4525dc4578a32addd8212cff\"\u003e\u003ccode\u003e7144e45\u003c/code\u003e\u003c/a\u003e Apply ruff format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/d2f4bec4963897c0ef96ef64a875894f2c8542ab\"\u003e\u003ccode\u003ed2f4bec\u003c/code\u003e\u003c/a\u003e Restore \u003ccode\u003ecast()\u003c/code\u003e calls with cross-version \u003ccode\u003etype: ignore\u003c/code\u003e for \u003ccode\u003eprepare_key\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/22f478cebddd8294259c30f037ecb92b0b348774\"\u003e\u003ccode\u003e22f478c\u003c/code\u003e\u003c/a\u003e Remove redundant casts in \u003ccode\u003eRSAAlgorithm.prepare_key\u003c/code\u003e and `ECAlgorithm.prepare...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/95791b1759b8aa4f2203575d344d5c78564cdc81\"\u003e\u003ccode\u003e95791b1\u003c/code\u003e\u003c/a\u003e Bundle security fixes and hardening into 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/dcc27a9d3182a2349c30b160758785c6ce7a6508\"\u003e\u003ccode\u003edcc27a9\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/9d08a9a1896845ed8eaf88e6f6ac61e5800c3e7a\"\u003e\u003ccode\u003e9d08a9a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/b87c10014d4109f0214fea188d00faaaf8a80e64\"\u003e\u003ccode\u003eb87c100\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1154\"\u003e#1154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/40e3147eb5f790d8d041772e5fc00728a176c812\"\u003e\u003ccode\u003e40e3147\u003c/code\u003e\u003c/a\u003e Migrate development extras to dependency groups (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1152\"\u003e#1152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.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.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\nUpdates `ty` from 0.0.37 to 0.0.39\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.39\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-22.\u003c/p\u003e\n\u003cp\u003eThis release removes the Python 3.9 branches from our vendored standard library stubs. ty now only has \u0026quot;full\u0026quot; support for\nPython 3.10 and later, but will still report version-specific syntax errors and other diagnostics when \u003ccode\u003e--python-version 3.9\u003c/code\u003e\nis provided via the CLI.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panicking on \u003ccode\u003e__new__\u003c/code\u003e assignments to classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25282\"\u003e#25282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve declaration order when synthesizing class fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25249\"\u003e#25249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003edict\u003c/code\u003e-compatible fallbacks in TypedDict unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25242\"\u003e#25242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRetain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Quick Fix to remove redundant cast (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25211\"\u003e#25211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClassify property declaration semantic tokens (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25322\"\u003e#25322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEscape HTML syntax in docstring rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25247\"\u003e#25247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer symbols from standard library over those of the same name from third party libraries for import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25108\"\u003e#25108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type aliases in document symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25302\"\u003e#25302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd error context for extra callable parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25269\"\u003e#25269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid exponential blow-up in fall-through narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25278\"\u003e#25278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up include filtering for projects with many literal include patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25266\"\u003e#25266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit a diagnostic for subclassing with \u003ccode\u003eorder=True\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21704\"\u003e#21704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFull-scope bidirectional inference for unconstrained container literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25279\"\u003e#25279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003edict(TypedDict)\u003c/code\u003e as \u003ccode\u003edict[str, object]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24852\"\u003e#24852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject incompatible explicit variance in generic base classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25327\"\u003e#25327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi-inference through type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25245\"\u003e#25245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25271\"\u003e#25271\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25172\"\u003e#25172\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/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/sqqueak\"\u003e\u003ccode\u003e@​sqqueak\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\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.39\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-22.\u003c/p\u003e\n\u003cp\u003eThis release removes the Python 3.9 branches from our vendored standard library stubs. ty now only has \u0026quot;full\u0026quot; support for\nPython 3.10 and later, but will still report version-specific syntax errors and other diagnostics when \u003ccode\u003e--python-version 3.9\u003c/code\u003e\nis provided via the CLI.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panicking on \u003ccode\u003e__new__\u003c/code\u003e assignments to classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25282\"\u003e#25282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve declaration order when synthesizing class fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25249\"\u003e#25249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003edict\u003c/code\u003e-compatible fallbacks in TypedDict unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25242\"\u003e#25242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRetain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Quick Fix to remove redundant cast (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25211\"\u003e#25211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClassify property declaration semantic tokens (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25322\"\u003e#25322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEscape HTML syntax in docstring rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25247\"\u003e#25247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer symbols from standard library over those of the same name from third party libraries for import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25108\"\u003e#25108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type aliases in document symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25302\"\u003e#25302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd error context for extra callable parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25269\"\u003e#25269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid exponential blow-up in fall-through narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25278\"\u003e#25278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up include filtering for projects with many literal include patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25266\"\u003e#25266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit a diagnostic for subclassing with \u003ccode\u003eorder=True\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21704\"\u003e#21704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFull-scope bidirectional inference for unconstrained container literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25279\"\u003e#25279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003edict(TypedDict)\u003c/code\u003e as \u003ccode\u003edict[str, object]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24852\"\u003e#24852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject incompatible explicit variance in generic base classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25327\"\u003e#25327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi-inference through type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25245\"\u003e#25245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25271\"\u003e#25271\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25172\"\u003e#25172\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/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/sqqueak\"\u003e\u003ccode\u003e@​sqqueak\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/sharkdp\"\u003e\u003ccode\u003e@​sharkdp\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/0205125174c135d6fc4014244dee374678b61c72\"\u003e\u003ccode\u003e0205125\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.39 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3516\"\u003e#3516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ae8058d40e641b545bbad046c487e964206a2286\"\u003e\u003ccode\u003eae8058d\u003c/code\u003e\u003c/a\u003e Update maturin to v1.13.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3494\"\u003e#3494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/33b60f8ad0f2da648b867831548a4b8c7985647d\"\u003e\u003ccode\u003e33b60f8\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3495\"\u003e#3495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/1d3efc1d68e36a8f982fa73b1f8c2a5ebc50fcde\"\u003e\u003ccode\u003e1d3efc1\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.38 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3492\"\u003e#3492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/f5100ccde50ff577fa311add5232ae6074ed68f9\"\u003e\u003ccode\u003ef5100cc\u003c/code\u003e\u003c/a\u003e scripts/update_schemastore: use -C to allow re-running schema update on exist...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.37...0.0.39\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.4.0 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.0...v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zensical` from 0.0.42 to 0.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zensical/zensical/releases\"\u003ezensical's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis version fixes further edge cases in link validation, and adds support for UTF-8 encoding with byte-order-marks.\u003c/p\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e1e873a3 \u003cstrong\u003ecompat\u003c/strong\u003e – ignore links in code after literal dollar during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e62a0feb \u003cstrong\u003ezensical\u003c/strong\u003e – report \u003ccode\u003epath.md/#anchor\u003c/code\u003e as invalid during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e7be40c6 \u003cstrong\u003ecompat\u003c/strong\u003e – ignore GitHub-style callouts during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e85c3b1e \u003cstrong\u003ecompat\u003c/strong\u003e – ignore \u003ccode\u003e[TOC]\u003c/code\u003e marker during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edaafc8b \u003cstrong\u003ezensical\u003c/strong\u003e – filter out icons folder when watching theme directories (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e913fd61 \u003cstrong\u003ezensical\u003c/strong\u003e – strip Byte-Order-Mark (BOM) from Markdown files (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/687\"\u003e#687\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/zensical/zensical/commit/7d2178a8a9df7c559a746643ccfa34f1531f20a3\"\u003e\u003ccode\u003e7d2178a\u003c/code\u003e\u003c/a\u003e chore: release v0.0.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/35a20425ac3a30007ed2ba9e1d54bbdae98399cd\"\u003e\u003ccode\u003e35a2042\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/zensical/zensical/issues/697\"\u003e#697\u003c/a\u003e from zensical/fix/validation-regressions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/1e873a397c314843444adb68dcd5238af62dfe22\"\u003e\u003ccode\u003e1e873a3\u003c/code\u003e\u003c/a\u003e fix: ignore links in code after literal dollar during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/62a0feb8f45ed10ea3c4c9816501ff1c2245f244\"\u003e\u003ccode\u003e62a0feb\u003c/code\u003e\u003c/a\u003e fix: report \u003ccode\u003epath.md/#anchor\u003c/code\u003e as invalid during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/7be40c6ceb4407992a1d93cb6e30563b737e4724\"\u003e\u003ccode\u003e7be40c6\u003c/code\u003e\u003c/a\u003e fix: ignore GitHub-style callouts during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/85c3b1e321dc4eaa60fc7bd885a4da509e1e4127\"\u003e\u003ccode\u003e85c3b1e\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e[TOC]\u003c/code\u003e marker during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/daafc8becba138735046b63dcf839c89c9f8c024\"\u003e\u003ccode\u003edaafc8b\u003c/code\u003e\u003c/a\u003e fix: filter out icons folder when watching theme directories (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/913fd61670ae2d1a01c76388613f6378c9431a3d\"\u003e\u003ccode\u003e913fd61\u003c/code\u003e\u003c/a\u003e fix: strip Byte-Order-Mark (BOM) from Markdown files (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/zensical/zensical/compare/v0.0.42...v0.0.43\"\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/ZYLVEXT/litestar-auth/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZYLVEXT%2Flitestar-auth/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"},{"uuid":"4510755072","node_id":"PR_kwDOSmPucM7evVrr","number":10,"state":"open","title":"⬆ Bump prek from 0.2.30 to 0.4.0","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-05-24T06:48:15.000Z","updated_at":"2026-05-24T06:48:15.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆ Bump","packages":[{"name":"prek","old_version":"0.2.30","new_version":"0.4.0","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.2.30 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.0\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-05.\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/j178/prek/commit/b570c73d201a3a3034d56d9314591b3110cc964d\"\u003e\u003ccode\u003eb570c73\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.0 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/007b24453eafb2f4476fa461773ec44298d2636a\"\u003e\u003ccode\u003e007b244\u003c/code\u003e\u003c/a\u003e Revert pass-through of global install flags into generated hook scripts (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/b66c39cd52e3e8736e498127d96352f23c2f492d\"\u003e\u003ccode\u003eb66c39c\u003c/code\u003e\u003c/a\u003e Remove direct path support from language_version (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/321f8b8dbf53591d2220178d48334c6fa6d3295c\"\u003e\u003ccode\u003e321f8b8\u003c/code\u003e\u003c/a\u003e Drain PTY output without timeout (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2079\"\u003e#2079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0249d819f53b0017f1e7e73506f185c864b19452\"\u003e\u003ccode\u003e0249d81\u003c/code\u003e\u003c/a\u003e Migrate \u003ccode\u003estd::fs\u003c/code\u003e to \u003ccode\u003efs_err\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/99ac4fbeaa93c6cf60da89a24f07e188cde4c2e0\"\u003e\u003ccode\u003e99ac4fb\u003c/code\u003e\u003c/a\u003e Use managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7783bdc8916aba373336f7fc1956341b5a4decb2\"\u003e\u003ccode\u003e7783bdc\u003c/code\u003e\u003c/a\u003e Fix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/737b554f989f81cf605083c0cc0522c8945c0f02\"\u003e\u003ccode\u003e737b554\u003c/code\u003e\u003c/a\u003e Update pre-commit (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de896b6da294d9bb250ac64734c5738250cee765\"\u003e\u003ccode\u003ede896b6\u003c/code\u003e\u003c/a\u003e Update MSRV to v1.93.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/105d63083244fecff99d32e066dfd71109f07093\"\u003e\u003ccode\u003e105d630\u003c/code\u003e\u003c/a\u003e Update Rust crate reqwest to v0.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.2.30...v0.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.2.30\u0026new-version=0.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/wildanrustandy/money-tracker/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wildanrustandy%2Fmoney-tracker/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4510357364","node_id":"PR_kwDOEUNzas7euLfT","number":1150,"state":"open","title":"Bump prek from 0.4.0 to 0.4.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-24T03:22:35.000Z","updated_at":"2026-05-24T03:23:12.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.4.0 to 0.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.0...v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=pip\u0026previous-version=0.4.0\u0026new-version=0.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/home-assistant-libs/aioshelly/pull/1150","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant-libs%2Faioshelly/issues/1150","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1150/packages"},{"uuid":"4506180397","node_id":"PR_kwDOSlW5aM7ehgXI","number":6,"state":"open","title":"Bump prek from 0.3.9 to 0.4.1 in /python","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-23T00:02:36.000Z","updated_at":"2026-05-23T00:02:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.3.9","new_version":"0.4.1","repository_url":"https://github.com/j178/prek"}],"path":"/python","ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.3.9 to 0.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.9...v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=pip\u0026previous-version=0.3.9\u0026new-version=0.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/nludd25/agent-framework/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nludd25%2Fagent-framework/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"4499799759","node_id":"PR_kwDOSkkWas7eM2Jo","number":16,"state":"open","title":"⬆ Bump prek from 0.2.30 to 0.4.0","user":"dependabot[bot]","labels":["internal"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T04:24:02.000Z","updated_at":"2026-05-22T04:24:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆ Bump","packages":[{"name":"prek","old_version":"0.2.30","new_version":"0.4.0","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.2.30 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.0\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-05.\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/j178/prek/commit/b570c73d201a3a3034d56d9314591b3110cc964d\"\u003e\u003ccode\u003eb570c73\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.0 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/007b24453eafb2f4476fa461773ec44298d2636a\"\u003e\u003ccode\u003e007b244\u003c/code\u003e\u003c/a\u003e Revert pass-through of global install flags into generated hook scripts (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/b66c39cd52e3e8736e498127d96352f23c2f492d\"\u003e\u003ccode\u003eb66c39c\u003c/code\u003e\u003c/a\u003e Remove direct path support from language_version (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/321f8b8dbf53591d2220178d48334c6fa6d3295c\"\u003e\u003ccode\u003e321f8b8\u003c/code\u003e\u003c/a\u003e Drain PTY output without timeout (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2079\"\u003e#2079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0249d819f53b0017f1e7e73506f185c864b19452\"\u003e\u003ccode\u003e0249d81\u003c/code\u003e\u003c/a\u003e Migrate \u003ccode\u003estd::fs\u003c/code\u003e to \u003ccode\u003efs_err\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/99ac4fbeaa93c6cf60da89a24f07e188cde4c2e0\"\u003e\u003ccode\u003e99ac4fb\u003c/code\u003e\u003c/a\u003e Use managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7783bdc8916aba373336f7fc1956341b5a4decb2\"\u003e\u003ccode\u003e7783bdc\u003c/code\u003e\u003c/a\u003e Fix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/737b554f989f81cf605083c0cc0522c8945c0f02\"\u003e\u003ccode\u003e737b554\u003c/code\u003e\u003c/a\u003e Update pre-commit (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de896b6da294d9bb250ac64734c5738250cee765\"\u003e\u003ccode\u003ede896b6\u003c/code\u003e\u003c/a\u003e Update MSRV to v1.93.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/105d63083244fecff99d32e066dfd71109f07093\"\u003e\u003ccode\u003e105d630\u003c/code\u003e\u003c/a\u003e Update Rust crate reqwest to v0.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.2.30...v0.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.2.30\u0026new-version=0.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/aembaye2/fastapi-tiago-lms/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aembaye2%2Ffastapi-tiago-lms/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"4499542951","node_id":"PR_kwDORwMW6c7eMB4l","number":120,"state":"closed","title":"chore(deps-dev): update prek requirement from \u003e=0.4.0 to \u003e=0.4.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-22T05:42:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-22T03:19:20.000Z","updated_at":"2026-05-22T05:42:54.000Z","time_to_close":8604,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): update","packages":[{"name":"prek","old_version":"\u003e=0.4.0","new_version":"\u003e=0.4.1","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [prek](https://github.com/j178/prek) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.0...v0.4.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 this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/kreuzberg-dev/liter-llm/pull/120","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kreuzberg-dev%2Fliter-llm/issues/120","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/120/packages"},{"uuid":"4498778435","node_id":"PR_kwDORLhc987eJnWY","number":49,"state":"open","title":"Bump prek from 0.3.11 to 0.4.0","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T00:20:25.000Z","updated_at":"2026-05-29T02:01:35.438Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.3.11","new_version":"0.4.0","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.3.11 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.0\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-05.\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/j178/prek/commit/b570c73d201a3a3034d56d9314591b3110cc964d\"\u003e\u003ccode\u003eb570c73\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.0 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/007b24453eafb2f4476fa461773ec44298d2636a\"\u003e\u003ccode\u003e007b244\u003c/code\u003e\u003c/a\u003e Revert pass-through of global install flags into generated hook scripts (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/b66c39cd52e3e8736e498127d96352f23c2f492d\"\u003e\u003ccode\u003eb66c39c\u003c/code\u003e\u003c/a\u003e Remove direct path support from language_version (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/321f8b8dbf53591d2220178d48334c6fa6d3295c\"\u003e\u003ccode\u003e321f8b8\u003c/code\u003e\u003c/a\u003e Drain PTY output without timeout (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2079\"\u003e#2079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0249d819f53b0017f1e7e73506f185c864b19452\"\u003e\u003ccode\u003e0249d81\u003c/code\u003e\u003c/a\u003e Migrate \u003ccode\u003estd::fs\u003c/code\u003e to \u003ccode\u003efs_err\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/99ac4fbeaa93c6cf60da89a24f07e188cde4c2e0\"\u003e\u003ccode\u003e99ac4fb\u003c/code\u003e\u003c/a\u003e Use managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7783bdc8916aba373336f7fc1956341b5a4decb2\"\u003e\u003ccode\u003e7783bdc\u003c/code\u003e\u003c/a\u003e Fix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/737b554f989f81cf605083c0cc0522c8945c0f02\"\u003e\u003ccode\u003e737b554\u003c/code\u003e\u003c/a\u003e Update pre-commit (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de896b6da294d9bb250ac64734c5738250cee765\"\u003e\u003ccode\u003ede896b6\u003c/code\u003e\u003c/a\u003e Update MSRV to v1.93.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/105d63083244fecff99d32e066dfd71109f07093\"\u003e\u003ccode\u003e105d630\u003c/code\u003e\u003c/a\u003e Update Rust crate reqwest to v0.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.11...v0.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.3.11\u0026new-version=0.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/bjester/gh-worktree/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjester%2Fgh-worktree/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"},{"uuid":"4486886997","node_id":"PR_kwDOEvLeNc7djDfW","number":333,"state":"closed","title":"Bump prek from 0.4.0 to 0.4.1 in the dev group across 1 directory","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-26T08:17:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-20T13:32:36.000Z","updated_at":"2026-05-26T08:17:50.000Z","time_to_close":499511,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/j178/prek"}],"path":"the dev group across 1 directory","ecosystem":"pip"},"body":"Bumps the dev group with 1 update in the / directory: [prek](https://github.com/j178/prek).\n\nUpdates `prek` from 0.4.0 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.0...v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=pip\u0026previous-version=0.4.0\u0026new-version=0.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/zeridon/ha-shellies-discovery/pull/333","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeridon%2Fha-shellies-discovery/issues/333","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/333/packages"},{"uuid":"4478293535","node_id":"PR_kwDOEvLeNc7dHMbU","number":330,"state":"closed","title":"Bump the dev group with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-20T13:32:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T14:36:11.000Z","updated_at":"2026-05-20T13:33:58.000Z","time_to_close":82578,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dev","update_count":2,"packages":[{"name":"prek","old_version":"0.3.13","new_version":"0.4.0","repository_url":"https://github.com/j178/prek"},{"name":"ruff","old_version":"0.15.12","new_version":"0.15.13","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dev group with 2 updates: [prek](https://github.com/j178/prek) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `prek` from 0.3.13 to 0.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.0\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\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/j178/prek/commit/b570c73d201a3a3034d56d9314591b3110cc964d\"\u003e\u003ccode\u003eb570c73\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.0 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/007b24453eafb2f4476fa461773ec44298d2636a\"\u003e\u003ccode\u003e007b244\u003c/code\u003e\u003c/a\u003e Revert pass-through of global install flags into generated hook scripts (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/b66c39cd52e3e8736e498127d96352f23c2f492d\"\u003e\u003ccode\u003eb66c39c\u003c/code\u003e\u003c/a\u003e Remove direct path support from language_version (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/321f8b8dbf53591d2220178d48334c6fa6d3295c\"\u003e\u003ccode\u003e321f8b8\u003c/code\u003e\u003c/a\u003e Drain PTY output without timeout (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2079\"\u003e#2079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0249d819f53b0017f1e7e73506f185c864b19452\"\u003e\u003ccode\u003e0249d81\u003c/code\u003e\u003c/a\u003e Migrate \u003ccode\u003estd::fs\u003c/code\u003e to \u003ccode\u003efs_err\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/99ac4fbeaa93c6cf60da89a24f07e188cde4c2e0\"\u003e\u003ccode\u003e99ac4fb\u003c/code\u003e\u003c/a\u003e Use managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7783bdc8916aba373336f7fc1956341b5a4decb2\"\u003e\u003ccode\u003e7783bdc\u003c/code\u003e\u003c/a\u003e Fix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/737b554f989f81cf605083c0cc0522c8945c0f02\"\u003e\u003ccode\u003e737b554\u003c/code\u003e\u003c/a\u003e Update pre-commit (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de896b6da294d9bb250ac64734c5738250cee765\"\u003e\u003ccode\u003ede896b6\u003c/code\u003e\u003c/a\u003e Update MSRV to v1.93.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/105d63083244fecff99d32e066dfd71109f07093\"\u003e\u003ccode\u003e105d630\u003c/code\u003e\u003c/a\u003e Update Rust crate reqwest to v0.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.13...v0.4.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.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.12...0.15.13\"\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/zeridon/ha-shellies-discovery/pull/330","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeridon%2Fha-shellies-discovery/issues/330","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/330/packages"},{"uuid":"4474502719","node_id":"PR_kwDORXN-Gc7c69Us","number":36,"state":"closed","title":"build(deps): bump the uv group with 7 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-22T00:46:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T04:51:31.000Z","updated_at":"2026-05-22T00:46:36.000Z","time_to_close":244503,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"uv","update_count":7,"packages":[{"name":"pydantic","old_version":"2.13.0","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"tox-uv","old_version":"1.35.1","new_version":"1.35.2","repository_url":"https://github.com/tox-dev/tox-uv"},{"name":"ty","old_version":"0.0.31","new_version":"0.0.36","repository_url":"https://github.com/astral-sh/ty"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"prek","old_version":"0.3.9","new_version":"0.3.13","repository_url":"https://github.com/j178/prek"},{"name":"pymdown-extensions","old_version":"10.21.2","new_version":"10.21.3","repository_url":"https://github.com/facelessuser/pymdown-extensions"},{"name":"zensical","old_version":"0.0.33","new_version":"0.0.42","repository_url":"https://github.com/zensical/zensical"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.0` | `2.13.4` |\n| [tox-uv](https://github.com/tox-dev/tox-uv) | `1.35.1` | `1.35.2` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.31` | `0.0.36` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.13` |\n| [prek](https://github.com/j178/prek) | `0.3.9` | `0.3.13` |\n| [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) | `10.21.2` | `10.21.3` |\n| [zensical](https://github.com/zensical/zensical) | `0.0.33` | `0.0.42` |\n\nUpdates `pydantic` from 2.13.0 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.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/pydantic/pydantic/blob/v2.13.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox-uv` from 1.35.1 to 1.35.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox-uv/releases\"\u003etox-uv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.35.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHonor constraints opt for all packages by \u003ca href=\"https://github.com/stephenfin\"\u003e\u003ccode\u003e@​stephenfin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/332\"\u003etox-dev/tox-uv#332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(lock): honor --recreate in uv-venv-lock-runner by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/338\"\u003etox-dev/tox-uv#338\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/stephenfin\"\u003e\u003ccode\u003e@​stephenfin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/332\"\u003etox-dev/tox-uv#332\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\"\u003ehttps://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/595721d2a0c8695aeb9bb59e3042a79d2dff2b90\"\u003e\u003ccode\u003e595721d\u003c/code\u003e\u003c/a\u003e 🐛 fix(lock): honor --recreate in uv-venv-lock-runner (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/1026808b9d98b5c1f9d92e84b5cccfde23a01bed\"\u003e\u003ccode\u003e1026808\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/3f7ea4d7f0495f32d95a3b7f67ddc164b85b17bd\"\u003e\u003ccode\u003e3f7ea4d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/f976fc1a0548d4b4544a87e637c0fc31f6d14372\"\u003e\u003ccode\u003ef976fc1\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/c0fabe3f6c4627869552ae74a53721aaf998ce02\"\u003e\u003ccode\u003ec0fabe3\u003c/code\u003e\u003c/a\u003e Honor constraints opt for all packages (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/d4aa96d0a0583e08a45ccfc6f9a08f89425a38ea\"\u003e\u003ccode\u003ed4aa96d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/ac785195b51a3a1835702925d4150bba74134ccd\"\u003e\u003ccode\u003eac78519\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/8bab9b8484aefa61c220e38e36b497af0f590130\"\u003e\u003ccode\u003e8bab9b8\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/328\"\u003e#328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\"\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.31 to 0.0.36\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.36\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Go To-Definition for self-imported submodules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25106\"\u003e#25106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eClassVar[Self]\u003c/code\u003e assignment checks for class objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24657\"\u003e#24657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix attribute access on \u003ccode\u003eCallable\u003c/code\u003e-bounded TypeVars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24793\"\u003e#24793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from TypedDict schema cycle with \u003ccode\u003eSelf\u003c/code\u003e fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25094\"\u003e#25094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from accessing \u003ccode\u003eargs[0]\u003c/code\u003e for \u003ccode\u003estatic_assert\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25149\"\u003e#25149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from non-name walrus target access (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25121\"\u003e#25121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix singleton classification for runtime typing objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25099\"\u003e#25099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard self-referential \u003ccode\u003eTypeOf\u003c/code\u003e recursion in generic callables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24668\"\u003e#24668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve lexical ParamSpec scope for returned Callable annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24909\"\u003e#24909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve walrus bindings through negated short-circuit conditions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25163\"\u003e#25163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun full iteration analysis on narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25143\"\u003e#25143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClassify TypeVar semantic tokens as type parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24891\"\u003e#24891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit folding ranges for an entire block (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25113\"\u003e#25113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect the \u003ccode\u003eincludeDeclaration\u003c/code\u003e request parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24960\"\u003e#24960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport TypedDict key completions in incomplete, anonymous contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25147\"\u003e#25147\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound loop-header analysis for large loops (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24972\"\u003e#24972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert inference hash maps to boxed slices on finish (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25102\"\u003e#25102\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 sentinel values (\u003ca href=\"https://peps.python.org/pep-0661/\"\u003ePEP 661\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25082\"\u003e#25082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHoist path assignment implication checks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25107\"\u003e#25107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve TypedDict keys through dict unpacking (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24523\"\u003e#24523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat custom enum \u003ccode\u003e__new__\u003c/code\u003e values as dynamic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25136\"\u003e#25136\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/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\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/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Minibrams\"\u003e\u003ccode\u003e@​Minibrams\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/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.36\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.36\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Go To-Definition for self-imported submodules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25106\"\u003e#25106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eClassVar[Self]\u003c/code\u003e assignment checks for class objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24657\"\u003e#24657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix attribute access on \u003ccode\u003eCallable\u003c/code\u003e-bounded TypeVars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24793\"\u003e#24793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from TypedDict schema cycle with \u003ccode\u003eSelf\u003c/code\u003e fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25094\"\u003e#25094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from accessing \u003ccode\u003eargs[0]\u003c/code\u003e for \u003ccode\u003estatic_assert\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25149\"\u003e#25149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from non-name walrus target access (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25121\"\u003e#25121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix singleton classification for runtime typing objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25099\"\u003e#25099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard self-referential \u003ccode\u003eTypeOf\u003c/code\u003e recursion in generic callables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24668\"\u003e#24668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve lexical ParamSpec scope for returned Callable annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24909\"\u003e#24909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve walrus bindings through negated short-circuit conditions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25163\"\u003e#25163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun full iteration analysis on narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25143\"\u003e#25143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClassify TypeVar semantic tokens as type parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24891\"\u003e#24891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit folding ranges for an entire block (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25113\"\u003e#25113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect the \u003ccode\u003eincludeDeclaration\u003c/code\u003e request parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24960\"\u003e#24960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport TypedDict key completions in incomplete, anonymous contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25147\"\u003e#25147\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound loop-header analysis for large loops (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24972\"\u003e#24972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert inference hash maps to boxed slices on finish (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25102\"\u003e#25102\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 sentinel values (\u003ca href=\"https://peps.python.org/pep-0661/\"\u003ePEP 661\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25082\"\u003e#25082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHoist path assignment implication checks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25107\"\u003e#25107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve TypedDict keys through dict unpacking (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24523\"\u003e#24523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat custom enum \u003ccode\u003e__new__\u003c/code\u003e values as dynamic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25136\"\u003e#25136\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/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\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/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Minibrams\"\u003e\u003ccode\u003e@​Minibrams\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/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.35\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-10.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a63e55929645f8eeaa6f28117afda8d2ed39d1a4\"\u003e\u003ccode\u003ea63e559\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.36 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/94370d5b43c48d01720a9e65d8d8d5286b6697b1\"\u003e\u003ccode\u003e94370d5\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/bc12d1cade50bc9407486057116fa0538bfb31ac\"\u003e\u003ccode\u003ebc12d1c\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.35 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3436\"\u003e#3436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fb34d89e4acb379f6d8239d338881a6d1cce6642\"\u003e\u003ccode\u003efb34d89\u003c/code\u003e\u003c/a\u003e Build riscv64 manylinux binary (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3402\"\u003e#3402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/05def00f5eb67a599b314e1d550b4ce07ae08727\"\u003e\u003ccode\u003e05def00\u003c/code\u003e\u003c/a\u003e Update maturin to v1.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/569c081af4159100bfe7be97624da9ef9910d8c8\"\u003e\u003ccode\u003e569c081\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3416\"\u003e#3416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/608f8ff6e705b656392a89a1cf4e0b977fb10ab4\"\u003e\u003ccode\u003e608f8ff\u003c/code\u003e\u003c/a\u003e Update renovate configuration (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3379\"\u003e#3379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/518b61d7c2a2eff95e8826a9bba4a392574258b0\"\u003e\u003ccode\u003e518b61d\u003c/code\u003e\u003c/a\u003e Update uraimo/run-on-arch-action action to v3.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3405\"\u003e#3405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/55429594f26e78d277b29aaadc10ca46f9277148\"\u003e\u003ccode\u003e5542959\u003c/code\u003e\u003c/a\u003e Update pre-commit hook astral-sh/ruff-pre-commit to v0.15.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3404\"\u003e#3404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/d00448eb0204e2dd11943d21e8e08a225914775f\"\u003e\u003ccode\u003ed00448e\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.34 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3392\"\u003e#3392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.31...0.0.36\"\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.11 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.11...0.15.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.3.9 to 0.3.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.3.13\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.13/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.3.13/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.3.13\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-riscv64gc-unknown-linux-gnu.tar.gz\"\u003eprek-riscv64gc-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRISCV Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-riscv64gc-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-05.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eauto_update.cooldown_days\u003c/code\u003e is now available in both the user-level global\nconfig (\u003ccode\u003e~/.config/prek/prek.toml\u003c/code\u003e on Linux and macOS, or\n\u003ccode\u003e$XDG_CONFIG_HOME/prek/prek.toml\u003c/code\u003e when set; \u003ccode\u003e%APPDATA%\\prek\\prek.toml\u003c/code\u003e on\nWindows) and project config. Set a user default for \u003ccode\u003eprek auto-update\u003c/code\u003e, then\noverride it per project when a repository needs a different update cadence.\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e[auto_update]\ncooldown_days = 7\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd global auto-update cooldown config (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2041\"\u003e#2041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd project auto-update cooldown config (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2044\"\u003e#2044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003elanguage: dart\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePass commit message file to workspace hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2043\"\u003e#2043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve non-UTF8 filenames from git (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2023\"\u003e#2023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eruby: put resolved Ruby's bin dir on \u003ccode\u003e$PATH\u003c/code\u003e for \u003ccode\u003egem\u003c/code\u003e invocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2021\"\u003e#2021\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs with the new logo and icon (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2025\"\u003e#2025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePoint schema docs to SchemaStore (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2039\"\u003e#2039\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/j178/prek/commit/81b290ef0630d1e130dc37ae1916da0e51b8a002\"\u003e\u003ccode\u003e81b290e\u003c/code\u003e\u003c/a\u003e Bump version to 0.3.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2050\"\u003e#2050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3f5e5c6e54bdd9b1640228cdd69a449e18ddf9f8\"\u003e\u003ccode\u003e3f5e5c6\u003c/code\u003e\u003c/a\u003e Respect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/1fab88775affde4fd0c75b2f9102a5df88195efc\"\u003e\u003ccode\u003e1fab887\u003c/code\u003e\u003c/a\u003e Add Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2047\"\u003e#2047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/93a71e0b730d30d2fa56f9e47f2a293beb007988\"\u003e\u003ccode\u003e93a71e0\u003c/code\u003e\u003c/a\u003e Remove deleted \u003ccode\u003edist/post/index.cjs\u003c/code\u003e from publish prek version workflow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2046\"\u003e#2046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/56d6d0c13ef36a4ab6a705621fba41448f2b503d\"\u003e\u003ccode\u003e56d6d0c\u003c/code\u003e\u003c/a\u003e Bump version to 0.3.12 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2045\"\u003e#2045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/5f94f6f8ea8e5df0fb6604b4b8ec63072e1dc8f3\"\u003e\u003ccode\u003e5f94f6f\u003c/code\u003e\u003c/a\u003e Add project auto-update cooldown config (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2044\"\u003e#2044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c52833e9991584d03bcd7e2b6fc01fa43e1f0d09\"\u003e\u003ccode\u003ec52833e\u003c/code\u003e\u003c/a\u003e Add global auto-update cooldown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/8af3054dc690fd06fe91b2b0c0ca4fe8e4418051\"\u003e\u003ccode\u003e8af3054\u003c/code\u003e\u003c/a\u003e Pass commit message file to workspace hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2043\"\u003e#2043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/1bf54f5fa9638ad66a7d0b160170da75de1eec81\"\u003e\u003ccode\u003e1bf54f5\u003c/code\u003e\u003c/a\u003e Update Rust crate serde-saphyr to 0.0.25 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2036\"\u003e#2036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/8c9761a523bcb180ff35fcfcd8e85184f87eaceb\"\u003e\u003ccode\u003e8c9761a\u003c/code\u003e\u003c/a\u003e Bump rand to 0.9.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2040\"\u003e#2040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.9...v0.3.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymdown-extensions` from 10.21.2 to 10.21.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facelessuser/pymdown-extensions/releases\"\u003epymdown-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.21.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFIX\u003c/strong\u003e: Fix regression that allows a snippet to be loaded outside of the base path using directory traversal when\n\u003ccode\u003erestrict_base_path\u003c/code\u003e is enabled (the default). Found by \u003ca href=\"https://github.com/gistrec\"\u003e\u003ccode\u003e@​gistrec\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/facelessuser/pymdown-extensions/commit/42628414c6591b1a1ce211157090783e3b2242d6\"\u003e\u003ccode\u003e4262841\u003c/code\u003e\u003c/a\u003e Fix spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/pymdown-extensions/commit/63b7835776d703d6c339cf2110d9888f676efc0c\"\u003e\u003ccode\u003e63b7835\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/pymdown-extensions/commit/3d185501daaa1424c4a8d42124112c44ef6ab635\"\u003e\u003ccode\u003e3d18550\u003c/code\u003e\u003c/a\u003e Docs: update js deps\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facelessuser/pymdown-extensions/compare/10.21.2...10.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zensical` from 0.0.33 to 0.0.42\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zensical/zensical/releases\"\u003ezensical's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.42\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis version includes a number of bug fixes and refactorings to improve the stability and accuracy of link validation, and fixes a reload loop when the \u003ccode\u003ecustom_dir\u003c/code\u003e, which is auto-watched, is explicitly added to \u003ccode\u003ewatch\u003c/code\u003e. Moreover, GLightbox is now only downloaded when needed, which fixes an issue when using Zensical in air-gapped environments.\u003c/p\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6b54e14 \u003cstrong\u003eui\u003c/strong\u003e – update ui to v0.0.18\u003c/li\u003e\n\u003cli\u003ecdee1e8 \u003cstrong\u003ezensical\u003c/strong\u003e – disabling link validation doesn't disable link and reference collection (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4355dad \u003cstrong\u003ecompat\u003c/strong\u003e – harden link validation for files with CRLF line endings\u003c/li\u003e\n\u003cli\u003ea418c6b \u003cstrong\u003ecompat\u003c/strong\u003e – link validation doesn't ignore fenced code blocks when \u003ccode\u003e\\r\u003c/code\u003e is present\u003c/li\u003e\n\u003cli\u003eb31dd14 \u003cstrong\u003ecompat\u003c/strong\u003e – \u003ccode\u003e$\u003c/code\u003e at end of line breaks link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e17c67a2 \u003cstrong\u003ecompat\u003c/strong\u003e – remove abbreviations from table of contents (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/669\"\u003e#669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e6eb2f4d \u003cstrong\u003ecompat\u003c/strong\u003e – reserve theme name \u003ccode\u003ezensical\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ea5a8641 \u003cstrong\u003ezensical\u003c/strong\u003e – only wait for config update after a first successful build (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8207554 \u003cstrong\u003ecompat\u003c/strong\u003e – don't consider \u003ccode\u003e[]\u003c/code\u003e and \u003ccode\u003e[][]\u003c/code\u003e link references (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/663\"\u003e#663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec338b27 \u003cstrong\u003ecompat\u003c/strong\u003e – two backticks with no closing run trip up link parser  (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/663\"\u003e#663\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/zensical/zensical/issues/665\"\u003e#665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed707aa9 \u003cstrong\u003ecompat\u003c/strong\u003e – prevent reload loop by de-duplicating watched theme files (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactorings\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e53f593f \u003cstrong\u003ecompat\u003c/strong\u003e – avoid mutating configurations list\u003c/li\u003e\n\u003cli\u003ea77087a \u003cstrong\u003ecompat\u003c/strong\u003e – reorganize config module\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.41\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis version adds support for \u003ca href=\"https://zensical.org/docs/setup/extensions/macros/#reading-tabular-data\"\u003eintegrating tabular data\u003c/a\u003e as Markdown tables, covering the functionality of the \u003ca href=\"https://pypi.org/project/mkdocs-table-reader-plugin/\"\u003emkdocs-table-reader-plugin\u003c/a\u003e, as well as the \u003ca href=\"https://zensical.org/docs/setup/basics/#watch\"\u003e\u003ccode\u003ewatch\u003c/code\u003e\u003c/a\u003e option to automatically rebuild on changes in unmonitored files. Table reading is implemented as part of \u003ca href=\"https://zensical.org/docs/setup/extensions/macros/\"\u003emacros\u003c/a\u003e, which we shipped in \u003ca href=\"https://github.com/zensical/zensical/releases/tag/v0.0.40\"\u003e0.0.40\u003c/a\u003e. You can now embed CSV and other file formats with:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e{{ read_csv(\u0026quot;data/team.csv\u0026quot;) }}\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAdditionally, the stability of link \u003ca href=\"https://zensical.org/docs/setup/validation/\"\u003evalidation\u003c/a\u003e has been drastically improved, reducing the rate of false positives. We're working on support for validating links using \u003ca href=\"https://mkdocstrings.github.io/autorefs/\"\u003eautorefs\u003c/a\u003e, which we'll provide in one of the next versions.\u003c/p\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ed24ea24 \u003cstrong\u003ecompat\u003c/strong\u003e – support table reader functionality\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/zensical/zensical/commit/7a141c5678ebcedb05e8b4be8f8d6f8bce990943\"\u003e\u003ccode\u003e7a141c5\u003c/code\u003e\u003c/a\u003e chore: release v0.0.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/6b54e140c8a40fc6328a8dd4bbf87629fa1a8c87\"\u003e\u003ccode\u003e6b54e14\u003c/code\u003e\u003c/a\u003e fix: update ui to v0.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/cdee1e8bc77e83ebbb089cab0b5a0984cc6305cc\"\u003e\u003ccode\u003ecdee1e8\u003c/code\u003e\u003c/a\u003e fix: disabling link validation doesn't disable link and reference collection ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/7a5d97abe0bc15b10e4656767de658daab59c759\"\u003e\u003ccode\u003e7a5d97a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/zensical/zensical/issues/680\"\u003e#680\u003c/a\u003e from zensical/fix/validation-edge-cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/4355dad3ce47a0e647e2187a770a2b9b0b2d502e\"\u003e\u003ccode\u003e4355dad\u003c/code\u003e\u003c/a\u003e fix: harden link validation for files with CRLF line endings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/a418c6bd3c62673e91df01690fd9eccafe262041\"\u003e\u003ccode\u003ea418c6b\u003c/code\u003e\u003c/a\u003e fix: link validation doesn't ignore fenced code blocks when \u003ccode\u003e\\r\u003c/code\u003e is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/b31dd1472c091891ee6a87cb46e8313cf3dde9be\"\u003e\u003ccode\u003eb31dd14\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e$\u003c/code\u003e at end of line breaks link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/17c67a2f62181c85220275e8f87c5985135bd62f\"\u003e\u003ccode\u003e17c67a2\u003c/code\u003e\u003c/a\u003e fix: remove abbreviations from table of contents (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/669\"\u003e#669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/6eb2f4d942e79e6f48f772fa16dcddc6e6dbb4eb\"\u003e\u003ccode\u003e6eb2f4d\u003c/code\u003e\u003c/a\u003e fix: reserve theme name \u003ccode\u003ezensical\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/a5a864178ccd0616e5aea56b66f8ce6b031ce50b\"\u003e\u003ccode\u003ea5a8641\u003c/code\u003e\u003c/a\u003e fix: only wait for config update after a first successful build (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zensical/zensical/compare/v0.0.33...v0.0.42\"\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/OlegZv/machineq/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlegZv%2Fmachineq/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"},{"uuid":"4473054237","node_id":"PR_kwDOLgeIgs7c2WT2","number":196,"state":"closed","title":"Bump the python group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-19T04:55:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T22:38:35.000Z","updated_at":"2026-05-19T04:55:51.000Z","time_to_close":22635,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python","update_count":9,"packages":[{"name":"comicfn2dict","old_version":"0.2.5","new_version":"0.3.0","repository_url":"https://github.com/ajslater/comicfn2dict"},{"name":"pydantic","old_version":"2.13.3","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"seagrin","old_version":"0.4.0","new_version":"2026.1.0"},{"name":"typer","old_version":"0.25.0","new_version":"0.25.1","repository_url":"https://github.com/fastapi/typer"},{"name":"prek","old_version":"0.3.11","new_version":"0.4.0","repository_url":"https://github.com/j178/prek"},{"name":"ruff","old_version":"0.15.12","new_version":"0.15.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.32","new_version":"0.0.37","repository_url":"https://github.com/astral-sh/ty"},{"name":"tox","old_version":"4.53.0","new_version":"4.54.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"tox-uv","old_version":"1.35.1","new_version":"1.35.2","repository_url":"https://github.com/tox-dev/tox-uv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [comicfn2dict](https://github.com/ajslater/comicfn2dict) | `0.2.5` | `0.3.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.3` | `2.13.4` |\n| [seagrin](https://pypi.org/project/Seagrin) | `0.4.0` | `2026.1.0` |\n| [typer](https://github.com/fastapi/typer) | `0.25.0` | `0.25.1` |\n| [prek](https://github.com/j178/prek) | `0.3.11` | `0.4.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.12` | `0.15.13` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.32` | `0.0.37` |\n| [tox](https://github.com/tox-dev/tox) | `4.53.0` | `4.54.0` |\n| [tox-uv](https://github.com/tox-dev/tox-uv) | `1.35.1` | `1.35.2` |\n\n\nUpdates `comicfn2dict` from 0.2.5 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ajslater/comicfn2dict/releases\"\u003ecomicfn2dict's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes\n\u003cul\u003e\n\u003cli\u003eSmarter dot handling for Mega.Dude and B.U.C.K.L.E.R. without compromising\nDr. or 0.0.1 versions.\u003c/li\u003e\n\u003cli\u003eKeep publishers from sometimes being mistaken for titles.\u003c/li\u003e\n\u003cli\u003eYear (2022-) handled correctly\u003c/li\u003e\n\u003cli\u003eHandle #Alpha as an issue indicator more properly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFeatures\n\u003cul\u003e\n\u003cli\u003eNew format patterns recognized.\u003c/li\u003e\n\u003cli\u003eHandle lots of FCBD naming patterns.\u003c/li\u003e\n\u003cli\u003eWord-number volumes are recognized: \u0026quot;Book One\u0026quot; through \u0026quot;Book Twenty\u0026quot;\u003c/li\u003e\n\u003cli\u003eStrip trailing \u0026quot;by \u0026lt;Author Names\u0026gt;\u0026quot; attribution from a series when three\nor more tokens follow \u0026quot;by\u0026quot;. Single-author tails like \u0026quot;Werepenguin By\nNight\u0026quot; or \u0026quot;Step By Bloody Step\u0026quot; are preserved.\u003c/li\u003e\n\u003cli\u003eA single dash separator (\u0026quot; - \u0026quot; or \u0026quot;word- \u0026quot;) now splits a series and title\nto align with the canonical \u0026quot;:\u0026quot; convention that filesystems disallow.\nMulti-dash co-headlining names like \u0026quot;Hanuman - Foolish One - Deep Target\u0026quot;\nstay in the series.\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/ajslater/comicfn2dict/blob/main/NEWS.md\"\u003ecomicfn2dict's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes\n\u003cul\u003e\n\u003cli\u003eSmarter dot handling for Mega.Dude and B.U.C.K.L.E.R. without compromising\nDr. or 0.0.1 versions.\u003c/li\u003e\n\u003cli\u003eKeep publishers from sometimes being mistaken for titles.\u003c/li\u003e\n\u003cli\u003eYear (2022-) handled correctly\u003c/li\u003e\n\u003cli\u003eHandle #Alpha as an issue indicator more properly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFeatures\n\u003cul\u003e\n\u003cli\u003eNew format patterns recognized.\u003c/li\u003e\n\u003cli\u003eHandle lots of FCBD naming patterns.\u003c/li\u003e\n\u003cli\u003eWord-number volumes are recognized: \u0026quot;Book One\u0026quot; through \u0026quot;Book Twenty\u0026quot;\u003c/li\u003e\n\u003cli\u003eStrip trailing \u0026quot;by \u0026lt;Author Names\u0026gt;\u0026quot; attribution from a series when three\nor more tokens follow \u0026quot;by\u0026quot;. Single-author tails like \u0026quot;Werepenguin By\nNight\u0026quot; or \u0026quot;Step By Bloody Step\u0026quot; are preserved.\u003c/li\u003e\n\u003cli\u003eA single dash separator (\u0026quot; - \u0026quot; or \u0026quot;word- \u0026quot;) now splits a series and title\nto align with the canonical \u0026quot;:\u0026quot; convention that filesystems disallow.\nMulti-dash co-headlining names like \u0026quot;Hanuman - Foolish One - Deep Target\u0026quot;\nstay in the series.\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\u003eSee full diff in \u003ca href=\"https://github.com/ajslater/comicfn2dict/commits/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.13.3 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.13.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `seagrin` from 0.4.0 to 2026.1.0\n\nUpdates `typer` from 0.25.0 to 0.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/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/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1 (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/cfcc2ef9f948bcce67897a6c7e689d39da690bf9\"\u003e\u003ccode\u003ecfcc2ef\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/13846cc59bd574567a9a1f56eae3cd42b9aa2a4f\"\u003e\u003ccode\u003e13846cc\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/a43746997ad6f2b4a8829c69c919f4d4c2cc0698\"\u003e\u003ccode\u003ea437469\u003c/code\u003e\u003c/a\u003e 🔧 Add Typer Library Skill for Agents (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1620\"\u003e#1620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/ba6cc2c9e7cba35f891c91118e228e1d2da35edb\"\u003e\u003ccode\u003eba6cc2c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/0f3ead07c2bb384fdd590e895ca6705582c58d89\"\u003e\u003ccode\u003e0f3ead0\u003c/code\u003e\u003c/a\u003e ⬆ Bump ruff from 0.15.11 to 0.15.12 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/db4ade64936599b3460f2fc0a7c550c3fedc33b0\"\u003e\u003ccode\u003edb4ade6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/5a5206ceed2afdf234f88a6e2ef74ad9ebdf0d92\"\u003e\u003ccode\u003e5a5206c\u003c/code\u003e\u003c/a\u003e ⬆ Bump prek from 0.3.10 to 0.3.11 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1723\"\u003e#1723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fastapi/typer/compare/0.25.0...0.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.3.11 to 0.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.0\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-05.\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/j178/prek/commit/b570c73d201a3a3034d56d9314591b3110cc964d\"\u003e\u003ccode\u003eb570c73\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.0 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/007b24453eafb2f4476fa461773ec44298d2636a\"\u003e\u003ccode\u003e007b244\u003c/code\u003e\u003c/a\u003e Revert pass-through of global install flags into generated hook scripts (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/b66c39cd52e3e8736e498127d96352f23c2f492d\"\u003e\u003ccode\u003eb66c39c\u003c/code\u003e\u003c/a\u003e Remove direct path support from language_version (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/321f8b8dbf53591d2220178d48334c6fa6d3295c\"\u003e\u003ccode\u003e321f8b8\u003c/code\u003e\u003c/a\u003e Drain PTY output without timeout (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2079\"\u003e#2079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0249d819f53b0017f1e7e73506f185c864b19452\"\u003e\u003ccode\u003e0249d81\u003c/code\u003e\u003c/a\u003e Migrate \u003ccode\u003estd::fs\u003c/code\u003e to \u003ccode\u003efs_err\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/99ac4fbeaa93c6cf60da89a24f07e188cde4c2e0\"\u003e\u003ccode\u003e99ac4fb\u003c/code\u003e\u003c/a\u003e Use managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7783bdc8916aba373336f7fc1956341b5a4decb2\"\u003e\u003ccode\u003e7783bdc\u003c/code\u003e\u003c/a\u003e Fix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/737b554f989f81cf605083c0cc0522c8945c0f02\"\u003e\u003ccode\u003e737b554\u003c/code\u003e\u003c/a\u003e Update pre-commit (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de896b6da294d9bb250ac64734c5738250cee765\"\u003e\u003ccode\u003ede896b6\u003c/code\u003e\u003c/a\u003e Update MSRV to v1.93.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/105d63083244fecff99d32e066dfd71109f07093\"\u003e\u003ccode\u003e105d630\u003c/code\u003e\u003c/a\u003e Update Rust crate reqwest to v0.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.11...v0.4.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.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.12...0.15.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.32 to 0.0.37\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.37\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-16.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unsound \u003ccode\u003enot in\u003c/code\u003e narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25161\"\u003e#25161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix async iteration over narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25155\"\u003e#25155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in double-inference for single starred positional TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25176\"\u003e#25176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in disjoint base check (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25187\"\u003e#25187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in recursive binary inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25189\"\u003e#25189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in cyclic \u003ccode\u003e__new__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25185\"\u003e#25185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003ereveal_protocol\u003c/code\u003e, \u003ccode\u003ereveal_mro\u003c/code\u003e, etc. with keyword arguments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25179\"\u003e#25179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in imported overload definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25168\"\u003e#25168\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't show argument inlay for case-insensitive matches or prefix/suffixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25174\"\u003e#25174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce CPU usage of the LSP when switching between large changesets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25142\"\u003e#25142\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid enforcing \u003ccode\u003e__new__\u003c/code\u003e with custom metaclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25180\"\u003e#25180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake overload public type reachability-aware (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25171\"\u003e#25171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly specialized types of generic class instances should influence variance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25124\"\u003e#25124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve ParamSpec argument context through wrapper calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24934\"\u003e#24934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport partially specialized type context for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24506\"\u003e#24506\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/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.37\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.37/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.37/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.37\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-16.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unsound \u003ccode\u003enot in\u003c/code\u003e narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25161\"\u003e#25161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix async iteration over narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25155\"\u003e#25155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in double-inference for single starred positional TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25176\"\u003e#25176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in disjoint base check (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25187\"\u003e#25187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in recursive binary inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25189\"\u003e#25189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in cyclic \u003ccode\u003e__new__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25185\"\u003e#25185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003ereveal_protocol\u003c/code\u003e, \u003ccode\u003ereveal_mro\u003c/code\u003e, etc. with keyword arguments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25179\"\u003e#25179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in imported overload definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25168\"\u003e#25168\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't show argument inlay for case-insensitive matches or prefix/suffixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25174\"\u003e#25174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce CPU usage of the LSP when switching between large changesets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25142\"\u003e#25142\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid enforcing \u003ccode\u003e__new__\u003c/code\u003e with custom metaclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25180\"\u003e#25180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake overload public type reachability-aware (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25171\"\u003e#25171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly specialized types of generic class instances should influence variance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25124\"\u003e#25124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve ParamSpec argument context through wrapper calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24934\"\u003e#24934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport partially specialized type context for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24506\"\u003e#24506\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/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.36\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Go To-Definition for self-imported submodules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25106\"\u003e#25106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eClassVar[Self]\u003c/code\u003e assignment checks for class objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24657\"\u003e#24657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix attribute access on \u003ccode\u003eCallable\u003c/code\u003e-bounded TypeVars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24793\"\u003e#24793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from TypedDict schema cycle with \u003ccode\u003eSelf\u003c/code\u003e fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25094\"\u003e#25094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from accessing \u003ccode\u003eargs[0]\u003c/code\u003e for \u003ccode\u003estatic_assert\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25149\"\u003e#25149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from non-name walrus target access (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25121\"\u003e#25121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix singleton classification for runtime typing objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25099\"\u003e#25099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard self-referential \u003ccode\u003eTypeOf\u003c/code\u003e recursion in generic callables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24668\"\u003e#24668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve lexical ParamSpec scope for returned Callable annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24909\"\u003e#24909\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/f18aed6430c781ff3bc4fe41d9b5c2a7161657c4\"\u003e\u003ccode\u003ef18aed6\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.37 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3473\"\u003e#3473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a63e55929645f8eeaa6f28117afda8d2ed39d1a4\"\u003e\u003ccode\u003ea63e559\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.36 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/94370d5b43c48d01720a9e65d8d8d5286b6697b1\"\u003e\u003ccode\u003e94370d5\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/bc12d1cade50bc9407486057116fa0538bfb31ac\"\u003e\u003ccode\u003ebc12d1c\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.35 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3436\"\u003e#3436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fb34d89e4acb379f6d8239d338881a6d1cce6642\"\u003e\u003ccode\u003efb34d89\u003c/code\u003e\u003c/a\u003e Build riscv64 manylinux binary (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3402\"\u003e#3402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/05def00f5eb67a599b314e1d550b4ce07ae08727\"\u003e\u003ccode\u003e05def00\u003c/code\u003e\u003c/a\u003e Update maturin to v1.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/569c081af4159100bfe7be97624da9ef9910d8c8\"\u003e\u003ccode\u003e569c081\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3416\"\u003e#3416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/608f8ff6e705b656392a89a1cf4e0b977fb10ab4\"\u003e\u003ccode\u003e608f8ff\u003c/code\u003e\u003c/a\u003e Update renovate configuration (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3379\"\u003e#3379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/518b61d7c2a2eff95e8826a9bba4a392574258b0\"\u003e\u003ccode\u003e518b61d\u003c/code\u003e\u003c/a\u003e Update uraimo/run-on-arch-action action to v3.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3405\"\u003e#3405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/55429594f26e78d277b29aaadc10ca46f9277148\"\u003e\u003ccode\u003e5542959\u003c/code\u003e\u003c/a\u003e Update pre-commit hook astral-sh/ruff-pre-commit to v0.15.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3404\"\u003e#3404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.32...0.0.37\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.53.0 to 4.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.54.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🧪 test(conftest): strip broken nspkg.pth files under py3.15 by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3937\"\u003etox-dev/tox#3937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(packaging): declare tox.pytest deps via a testing extra by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3940\"\u003etox-dev/tox#3940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(schema): cover every replace form in the TOML schema by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3941\"\u003etox-dev/tox#3941\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.53.1...4.54.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.53.1...4.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.53.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(security): harden user-facing logs and untrusted inputs by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3924\"\u003etox-dev/tox#3924\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(type): correct argparse override signatures for ty 0.0.33 by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3932\"\u003etox-dev/tox#3932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: allow deps arrays in TOML schema by \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3931\"\u003etox-dev/tox#3931\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/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3931\"\u003etox-dev/tox#3931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.53.0...4.53.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.53.0...4.53.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/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eFeatures - 4.54.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDeclare the runtime dependencies of the \u003ccode\u003etox.pytest\u003c/code\u003e plugin (\u003ccode\u003epytest\u003c/code\u003e, \u003ccode\u003edevpi-process\u003c/code\u003e and \u003ccode\u003epytest-mock\u003c/code\u003e)\nunder a new \u003ccode\u003etesting\u003c/code\u003e extra, so plugin authors can pull them in via \u003ccode\u003etox[testing]\u003c/code\u003e - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e.\n(:issue:\u003ccode\u003e3938\u003c/code\u003e, :issue:\u003ccode\u003e3940\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug fixes - 4.54.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExtend the generated TOML schema to cover every \u003ccode\u003ereplace\u003c/code\u003e table form (\u003ccode\u003eenv\u003c/code\u003e, \u003ccode\u003eref\u003c/code\u003e, \u003ccode\u003eposargs\u003c/code\u003e, \u003ccode\u003eglob\u003c/code\u003e,\n\u003ccode\u003eif\u003c/code\u003e), including conditional replacements used inside \u003ccode\u003ecommands\u003c/code\u003e. A guard test asserts the schema stays in sync\nwith the loader implementation so future replace types cannot be added without a corresponding schema entry.\n(:issue:\u003ccode\u003e3939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev4.53.1 (2026-05-02)\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003eBug fixes - 4.53.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHardening pass on user-facing logging and config parsing:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMask secret-looking \u003ccode\u003e--key=value\u003c/code\u003e flag values in command logs (terminal warnings, \u003ccode\u003e.tox/\u0026lt;env\u0026gt;/log/*.log\u003c/code\u003e, and\n\u003ccode\u003eOutcome\u003c/code\u003e \u003ccode\u003e__repr__\u003c/code\u003e) using the same keyword regex previously applied to environment variable values.\u003c/li\u003e\n\u003cli\u003eResolve PEP 723 \u003ccode\u003escript\u003c/code\u003e paths and reject any that escape \u003ccode\u003etox_root\u003c/code\u003e; cap the script read at 5 MiB so a symlink\nto \u003ccode\u003e/dev/zero\u003c/code\u003e cannot exhaust memory.\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eeval()\u003c/code\u003e of a constructed \u003ccode\u003eLiteral[...]\u003c/code\u003e string in the CLI parser with a direct\n\u003ccode\u003eLiteral[tuple(action.choices)]\u003c/code\u003e subscript.\u003c/li\u003e\n\u003cli\u003ePass \u003ccode\u003etimeout=30\u003c/code\u003e to \u003ccode\u003eurlopen\u003c/code\u003e when fetching a remote requirements file so a slow or unresponsive mirror cannot\nhang \u003ccode\u003etox\u003c/code\u003e indefinitely. (:issue:\u003ccode\u003e3924\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow the generated TOML schema to validate array values for \u003ccode\u003edeps\u003c/code\u003e. (:issue:\u003ccode\u003e3929\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCorrect type annotations for \u003ccode\u003eArgumentParser.parse_args\u003c/code\u003e and \u003ccode\u003eparse_known_args\u003c/code\u003e overrides following \u003ccode\u003etypeshed PR [#15613](https://github.com/tox-dev/tox/issues/15613) \u0026lt;https://github.com/python/typeshed/pull/15613\u0026gt;\u003c/code\u003e_, which widened the \u003ccode\u003eargs\u003c/code\u003e parameter from \u003ccode\u003eSequence[str]\u003c/code\u003e\nto \u003ccode\u003eIterable[str]\u003c/code\u003e. The narrower type in tox's overrides violated the Liskov substitution principle and caused\n\u003ccode\u003einvalid-method-override\u003c/code\u003e errors with \u003ccode\u003ety\u003c/code\u003e 0.0.33. Also correct the \u003ccode\u003eoption_spec\u003c/code\u003e annotation in\n\u003ccode\u003edocs/tox_conf.py\u003c/code\u003e to \u003ccode\u003eClassVar[dict[str, Callable[[str], Any]]]\u003c/code\u003e matching the docutils stubs type.\n(:issue:\u003ccode\u003e3932\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev4.53.0 (2026-04-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/1f1fcc7a53665a827d8a304190696c6926ebb2eb\"\u003e\u003ccode\u003e1f1fcc7\u003c/code\u003e\u003c/a\u003e release 4.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b35c8eedaf94906ed0e7938c7526dced550e6fa0\"\u003e\u003ccode\u003eb35c8ee\u003c/code\u003e\u003c/a\u003e 🐛 fix(schema): cover every replace form in the TOML schema (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3941\"\u003e#3941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/6eb5c4f5eec439b3924d6adb3d9d16ea7fc88a20\"\u003e\u003ccode\u003e6eb5c4f\u003c/code\u003e\u003c/a\u003e ✨ feat(packaging): declare tox.pytest deps via a testing extra (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3940\"\u003e#3940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/1ad47ddaab21c891f136a9627d1c6cdb6ea655d7\"\u003e\u003ccode\u003e1ad47dd\u003c/code\u003e\u003c/a\u003e 🧪 test(conftest): strip broken nspkg.pth files under py3.15 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3937\"\u003e#3937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/dfba9661b10aa5148daf7267b80fec50f4faa9d2\"\u003e\u003ccode\u003edfba966\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3936\"\u003e#3936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/21069af5f5b93774f88c271d5deb1389cd2caf12\"\u003e\u003ccode\u003e21069af\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3933\"\u003e#3933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2b177917e4c0208c3e380e43f8d32d507180d82e\"\u003e\u003ccode\u003e2b17791\u003c/code\u003e\u003c/a\u003e release 4.53.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/86234dd57fc6a6dbf801aa98a91642cb9daf1dc8\"\u003e\u003ccode\u003e86234dd\u003c/code\u003e\u003c/a\u003e fix: allow deps arrays in TOML schema (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3931\"\u003e#3931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/dd305fe8f347c49fcd3bd63d5e56c912e4c428f2\"\u003e\u003ccode\u003edd305fe\u003c/code\u003e\u003c/a\u003e 🐛 fix(type): correct argparse override signatures for ty 0.0.33 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3932\"\u003e#3932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/3aa3cd5d4226dfdb54de3de810cd9367390c6424\"\u003e\u003ccode\u003e3aa3cd5\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.53.0...4.54.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox-uv` from 1.35.1 to 1.35.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox-uv/releases\"\u003etox-uv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.35.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHonor constraints opt for all packages by \u003ca href=\"https://github.com/stephenfin\"\u003e\u003ccode\u003e@​stephenfin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/332\"\u003etox-dev/tox-uv#332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(lock): honor --recreate in uv-venv-lock-runner by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/338\"\u003etox-dev/tox-uv#338\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/stephenfin\"\u003e\u003ccode\u003e@​stephenfin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/332\"\u003etox-dev/tox-uv#332\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\"\u003ehttps://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/595721d2a0c8695aeb9bb59e3042a79d2dff2b90\"\u003e\u003ccode\u003e595721d\u003c/code\u003e\u003c/a\u003e 🐛 fix(lock): honor --recreate in uv-venv-lock-runner (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/1026808b9d98b5c1f9d92e84b5cccfde23a01bed\"\u003e\u003ccode\u003e1026808\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/3f7ea4d7f0495f32d95a3b7f67ddc164b85b17bd\"\u003e\u003ccode\u003e3f7ea4d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/f976fc1a0548d4b4544a87e637c0fc31f6d14372\"\u003e\u003ccode\u003ef976fc1\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/c0fabe3f6c4627869552ae74a53721aaf998ce02\"\u003e\u003ccode\u003ec0fabe3\u003c/code\u003e\u003c/a\u003e Honor constraints opt for all packages (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/d4aa96d0a0583e08a45ccfc6f9a08f89425a38ea\"\u003e\u003ccode\u003ed4aa96d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/ac785195b51a3a1835702925d4150bba74134ccd\"\u003e\u003ccode\u003eac78519\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/8bab9b8484aefa61c220e38e36b497af0f590130\"\u003e\u003ccode\u003e8bab9b8\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/328\"\u003e#328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Buried-In-Code/Perdoo/pull/196","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Buried-In-Code%2FPerdoo/issues/196","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/196/packages"}],"issue_packages":[{"old_version":"0.4.3","new_version":"0.4.4","update_type":"patch","path":null,"pr_created_at":"2026-06-08T06:11:18.000Z","version_change":"0.4.3 → 0.4.4","issue":{"uuid":"4610444559","node_id":"PR_kwDORXxKvc7jxpbu","number":77,"state":"open","title":"build(deps-dev): bump the python-dev group with 6 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T06:11:18.000Z","updated_at":"2026-06-08T06:14:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): bump","group_name":"python-dev","update_count":6,"packages":[{"name":"beautifulsoup4","old_version":"4.14.3","new_version":"4.15.0"},{"name":"hatchling","old_version":"1.29.0","new_version":"1.30.1","repository_url":"https://github.com/pypa/hatch"},{"name":"hypothesis","old_version":"6.155.1","new_version":"6.155.2","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"prek","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/j178/prek"},{"name":"ruff","old_version":"0.15.15","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.42","new_version":"0.0.44","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dev group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.14.3` | `4.15.0` |\n| [hatchling](https://github.com/pypa/hatch) | `1.29.0` | `1.30.1` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.155.1` | `6.155.2` |\n| [prek](https://github.com/j178/prek) | `0.4.3` | `0.4.4` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.15` | `0.15.16` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.42` | `0.0.44` |\n\nUpdates `beautifulsoup4` from 4.14.3 to 4.15.0\n\nUpdates `hatchling` from 1.29.0 to 1.30.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/hatch/releases\"\u003ehatchling's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHatchling v1.30.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault core metadata version kept at 2.4 until more tools support 2.5\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/hatch/commit/37b00c3d2221438fa79084b92e81ee1819d6c630\"\u003e\u003ccode\u003e37b00c3\u003c/code\u003e\u003c/a\u003e release Hatchling v1.30.1 (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2298\"\u003e#2298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/0446d99ef6461644624e8bdc461fd3c0a684a13c\"\u003e\u003ccode\u003e0446d99\u003c/code\u003e\u003c/a\u003e Update history for new patch release of hatchling after fixing default metada...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/4f5cdf094ec515488777705fc01e484ddd4f3e5f\"\u003e\u003ccode\u003e4f5cdf0\u003c/code\u003e\u003c/a\u003e Make 2.4 metadata default until other tools support it. (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2296\"\u003e#2296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/0497be09d555c300851d55344104e9aea2f9f200\"\u003e\u003ccode\u003e0497be0\u003c/code\u003e\u003c/a\u003e Fix draft release uploads. (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2293\"\u003e#2293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/3aae0faf98a5e90c146d5af21738e049ecac471e\"\u003e\u003ccode\u003e3aae0fa\u003c/code\u003e\u003c/a\u003e Fix hatchling to use Metadata 2.4 (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2291\"\u003e#2291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/5ee41893d556aaa862d32621e37bb179646c60e8\"\u003e\u003ccode\u003e5ee4189\u003c/code\u003e\u003c/a\u003e release Hatch v1.17.0 (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2290\"\u003e#2290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/6109ee756a79d1341798a47517d778d149807b15\"\u003e\u003ccode\u003e6109ee7\u003c/code\u003e\u003c/a\u003e release Hatchling v1.30.0 (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2289\"\u003e#2289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/246e22bb1681b74ff493ec60aa8849d95ce048fe\"\u003e\u003ccode\u003e246e22b\u003c/code\u003e\u003c/a\u003e Block duplicate files in wheel archives (closes \u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2066\"\u003e#2066\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2269\"\u003e#2269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/d2afcb6003321c9dca1628b2840ec4acb1e1a9ef\"\u003e\u003ccode\u003ed2afcb6\u003c/code\u003e\u003c/a\u003e Update docs as pre-release for 1.17.0 (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2287\"\u003e#2287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/hatch/commit/818d2841958f0797f0e4ed014b9f0a8123d11b63\"\u003e\u003ccode\u003e818d284\u003c/code\u003e\u003c/a\u003e Feat hatch check command with new sub command for types (\u003ca href=\"https://redirect.github.com/pypa/hatch/issues/2278\"\u003e#2278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/hatch/compare/hatchling-v1.29.0...hatchling-v1.30.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.155.1 to 6.155.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/fcc26c4c67eb9aaf4f153417f373f4c349128b54\"\u003e\u003ccode\u003efcc26c4\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.155.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/13cdd0b401f23468171e8d424da391892d5e5b26\"\u003e\u003ccode\u003e13cdd0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4760\"\u003e#4760\u003c/a\u003e from Zac-HD/datetime-symbolic-4759\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e48846d29ac846ca054697f4a2463f9550847e26\"\u003e\u003ccode\u003ee48846d\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b4152eaeae285ef4e24f0ebdc72b1e9ce817f769\"\u003e\u003ccode\u003eb4152ea\u003c/code\u003e\u003c/a\u003e rewrite comments and improve test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6b18db3fd215d15484f072b31bddafcef1a0b162\"\u003e\u003ccode\u003e6b18db3\u003c/code\u003e\u003c/a\u003e fixed flake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/eb7d53abdc3a0c06efe919b4c75f6e4dc766d3f2\"\u003e\u003ccode\u003eeb7d53a\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1bbeb59dce2f9cfe5a4bde03bac16e8f09ae6da9\"\u003e\u003ccode\u003e1bbeb59\u003c/code\u003e\u003c/a\u003e Fix update_pyodide_versions for relocated xbuildenv metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/552a461a915fe2deb610db19766c9d120272d492\"\u003e\u003ccode\u003e552a461\u003c/code\u003e\u003c/a\u003e Make date/time drawing symbolic-execution friendly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2c6dfdb16694041a49110590ef598b0324ff89f8\"\u003e\u003ccode\u003e2c6dfdb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4758\"\u003e#4758\u003c/a\u003e from bsluther/docs-fix-assume-condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1416fe1a5d906a5dffa176bddee8899da9e4b129\"\u003e\u003ccode\u003e1416fe1\u003c/code\u003e\u003c/a\u003e Fix assume condition in \u003ccode\u003eadapting-strategies.rst\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.155.1...v6.155.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.4.3 to 0.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.4\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003e✨  Highlights\u003c/h3\u003e\n\u003cp\u003e0.4.4 makes \u003ccode\u003eprek run\u003c/code\u003e easier to watch and easier to slice.\u003c/p\u003e\n\u003cp\u003eHook stream output now shows a small live preview under the running hook in the\nprogress UI. Long-running hooks no longer look stuck while they are producing\nlogs, and failed hooks are easier to diagnose because recent output is already\nvisible before the final result.\u003c/p\u003e\n\u003cp\u003eThe new group selector lets a single config support different workflows. Tag\nhooks with \u003ccode\u003egroups\u003c/code\u003e, then select or exclude those groups at run time:\u003c/p\u003e\n\u003cpre lang=\"yaml\"\u003e\u003ccode\u003erepos:\r\n  - repo: local\r\n    hooks:\r\n      - id: format\r\n        name: Format Python\r\n        language: system\r\n        entry: ruff format\r\n        groups: [format, ci]\r\n\u003cpre\u003e\u003ccode\u003e  - id: lint\r\n    name: Lint Python\r\n    language: system\r\n    entry: ruff check\r\n    groups: [lint, ci]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eprek run --all-files --group ci\r\nprek run --all-files --no-group format\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is useful when local development, CI, slow validation, or project-specific\nchecks need different hook sets without splitting the config.\u003c/p\u003e\n\u003ch3\u003e💚 Sponsorship\u003c/h3\u003e\n\u003cp\u003eIf prek saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.4\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.4 makes \u003ccode\u003eprek run\u003c/code\u003e easier to watch and easier to slice.\u003c/p\u003e\n\u003cp\u003eHook stream output now shows a small live preview under the running hook in the\nprogress UI. Long-running hooks no longer look stuck while they are producing\nlogs, and failed hooks are easier to diagnose because recent output is already\nvisible before the final result.\u003c/p\u003e\n\u003cp\u003eThe new group selector lets a single config support different workflows. Tag\nhooks with \u003ccode\u003egroups\u003c/code\u003e, then select or exclude those groups at run time:\u003c/p\u003e\n\u003cpre lang=\"yaml\"\u003e\u003ccode\u003erepos:\n  - repo: local\n    hooks:\n      - id: format\n        name: Format Python\n        language: system\n        entry: ruff format\n        groups: [format, ci]\n\u003cpre\u003e\u003ccode\u003e  - id: lint\n    name: Lint Python\n    language: system\n    entry: ruff check\n    groups: [lint, ci]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eprek run --all-files --group ci\nprek run --all-files --no-group format\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is useful when local development, CI, slow validation, or project-specific\nchecks need different hook sets without splitting the config.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd hook group filters to \u003ccode\u003eprek run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2141\"\u003e#2141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelay hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2140\"\u003e#2140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStream hook output in progress UI (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2136\"\u003e#2136\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix intent-to-add stash restore (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2143\"\u003e#2143\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/j178/prek/commit/f44270e63f839011442ac96420cedc6aec3d8dfa\"\u003e\u003ccode\u003ef44270e\u003c/code\u003e\u003c/a\u003e Bump version 0.4.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2148\"\u003e#2148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/da457c57b5602b815dceb9ba115ad164f5e1315c\"\u003e\u003ccode\u003eda457c5\u003c/code\u003e\u003c/a\u003e Document hook stage file input (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2147\"\u003e#2147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0fa29294fad36956c5099d8b6cb790d6122ab9ac\"\u003e\u003ccode\u003e0fa2929\u003c/code\u003e\u003c/a\u003e Add hook group filters to \u003ccode\u003eprek run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2141\"\u003e#2141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9b0047ffb3c1f255edac769ce56667aad0f935dc\"\u003e\u003ccode\u003e9b0047f\u003c/code\u003e\u003c/a\u003e Fix intent-to-add stash restore (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2143\"\u003e#2143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/00b2520f41c5722db0b3be684be245320c4dec37\"\u003e\u003ccode\u003e00b2520\u003c/code\u003e\u003c/a\u003e Delay hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2140\"\u003e#2140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/a54fdf0935e18d3e35f848cb40c18ae96220288b\"\u003e\u003ccode\u003ea54fdf0\u003c/code\u003e\u003c/a\u003e Simplify hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2139\"\u003e#2139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/ab7165d5cd06be239766ab25426d4459d51ec5e4\"\u003e\u003ccode\u003eab7165d\u003c/code\u003e\u003c/a\u003e Stream hook output in progress UI (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2136\"\u003e#2136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/f60958443fa8a9928924aa9cfcbb6d3412d9ef71\"\u003e\u003ccode\u003ef609584\u003c/code\u003e\u003c/a\u003e Remove unpinned dotnet test (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2137\"\u003e#2137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/ce0d8b34de8800f713de19a108dfcf70a95b2a62\"\u003e\u003ccode\u003ece0d8b3\u003c/code\u003e\u003c/a\u003e Update Rust to 1.96 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2134\"\u003e#2134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/1815fc50cca664fa48c96494ec7d4aa7df72a135\"\u003e\u003ccode\u003e1815fc5\u003c/code\u003e\u003c/a\u003e Update PyPI Downloads badge to dynamic JSON\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.3...v0.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.15 to 0.15.16\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.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\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-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\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/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\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/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\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\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.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\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-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\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/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\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/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\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/blockquote\u003e\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/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.15...0.15.16\"\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.42 to 0.0.44\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.44\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\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/lerebear\"\u003e\u003ccode\u003e@​lerebear\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/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\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/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.44\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.44/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.44/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ty 0.0.44\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.44\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\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/lerebear\"\u003e\u003ccode\u003e@​lerebear\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/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\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/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't inject \u003ccode\u003eUnknown\u003c/code\u003e from non-callable elements of intersection call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25538\"\u003e#25538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't needlessly disambiguate the same type alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25563\"\u003e#25563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance inference for nested type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25567\"\u003e#25567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore rejected member annotations for synthesized bindings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25427\"\u003e#25427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize dynamic class literals in cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25558\"\u003e#25558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegister file roots for first-party search paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25522\"\u003e#25522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat union-bound typevars like unions for \u003ccode\u003epossibly-missing-attribute\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25561\"\u003e#25561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress importable completions that are already in scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25479\"\u003e#25479\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/f5523e256eb275c9b473f174aedc383e7b050c34\"\u003e\u003ccode\u003ef5523e2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.44 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3667\"\u003e#3667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/29ce3146faa2d42867dadd7ecbda84759b8183be\"\u003e\u003ccode\u003e29ce314\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.43 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3648\"\u003e#3648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/794322d34624abc56301bd85ac354b94ca54fbb2\"\u003e\u003ccode\u003e794322d\u003c/code\u003e\u003c/a\u003e Update docker/build-push-action action to v7.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ce89685310383494c7dfec92bd2fc2dd2a46d074\"\u003e\u003ccode\u003ece89685\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/792fb71ca172f8d67fcfdb5fdd452a049724c8fd\"\u003e\u003ccode\u003e792fb71\u003c/code\u003e\u003c/a\u003e Update docker/login-action action to v4.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c377476823a4b77a903fb5340d77b51d68db389\"\u003e\u003ccode\u003e5c37747\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v6.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3631\"\u003e#3631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5a3e1695ce1e2205070afc18d9a7449e0ed045d0\"\u003e\u003ccode\u003e5a3e169\u003c/code\u003e\u003c/a\u003e Update docker/setup-buildx-action action to v4.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c2500cc57e4aea85ae8e3287351538ad60a9ee00\"\u003e\u003ccode\u003ec2500cc\u003c/code\u003e\u003c/a\u003e Release: Force usage of PyPI as the index (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.42...0.0.44\"\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/bitflight-devops/skilllint/pull/77","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitflight-devops%2Fskilllint/issues/77","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/77/packages"}},{"old_version":"0.4.3","new_version":"0.4.4","update_type":"patch","path":null,"pr_created_at":"2026-06-07T03:22:33.000Z","version_change":"0.4.3 → 0.4.4","issue":{"uuid":"4606027904","node_id":"PR_kwDOEUNzas7jj4hJ","number":1167,"state":"open","title":"Bump prek from 0.4.3 to 0.4.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-07T03:22:33.000Z","updated_at":"2026-06-07T03:23:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.4.3 to 0.4.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.4\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003e✨  Highlights\u003c/h3\u003e\n\u003cp\u003e0.4.4 makes \u003ccode\u003eprek run\u003c/code\u003e easier to watch and easier to slice.\u003c/p\u003e\n\u003cp\u003eHook stream output now shows a small live preview under the running hook in the\nprogress UI. Long-running hooks no longer look stuck while they are producing\nlogs, and failed hooks are easier to diagnose because recent output is already\nvisible before the final result.\u003c/p\u003e\n\u003cp\u003eThe new group selector lets a single config support different workflows. Tag\nhooks with \u003ccode\u003egroups\u003c/code\u003e, then select or exclude those groups at run time:\u003c/p\u003e\n\u003cpre lang=\"yaml\"\u003e\u003ccode\u003erepos:\r\n  - repo: local\r\n    hooks:\r\n      - id: format\r\n        name: Format Python\r\n        language: system\r\n        entry: ruff format\r\n        groups: [format, ci]\r\n\u003cpre\u003e\u003ccode\u003e  - id: lint\r\n    name: Lint Python\r\n    language: system\r\n    entry: ruff check\r\n    groups: [lint, ci]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eprek run --all-files --group ci\r\nprek run --all-files --no-group format\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is useful when local development, CI, slow validation, or project-specific\nchecks need different hook sets without splitting the config.\u003c/p\u003e\n\u003ch3\u003e💚 Sponsorship\u003c/h3\u003e\n\u003cp\u003eIf prek saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.4\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.4 makes \u003ccode\u003eprek run\u003c/code\u003e easier to watch and easier to slice.\u003c/p\u003e\n\u003cp\u003eHook stream output now shows a small live preview under the running hook in the\nprogress UI. Long-running hooks no longer look stuck while they are producing\nlogs, and failed hooks are easier to diagnose because recent output is already\nvisible before the final result.\u003c/p\u003e\n\u003cp\u003eThe new group selector lets a single config support different workflows. Tag\nhooks with \u003ccode\u003egroups\u003c/code\u003e, then select or exclude those groups at run time:\u003c/p\u003e\n\u003cpre lang=\"yaml\"\u003e\u003ccode\u003erepos:\n  - repo: local\n    hooks:\n      - id: format\n        name: Format Python\n        language: system\n        entry: ruff format\n        groups: [format, ci]\n\u003cpre\u003e\u003ccode\u003e  - id: lint\n    name: Lint Python\n    language: system\n    entry: ruff check\n    groups: [lint, ci]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eprek run --all-files --group ci\nprek run --all-files --no-group format\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is useful when local development, CI, slow validation, or project-specific\nchecks need different hook sets without splitting the config.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd hook group filters to \u003ccode\u003eprek run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2141\"\u003e#2141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelay hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2140\"\u003e#2140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStream hook output in progress UI (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2136\"\u003e#2136\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix intent-to-add stash restore (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2143\"\u003e#2143\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/j178/prek/commit/f44270e63f839011442ac96420cedc6aec3d8dfa\"\u003e\u003ccode\u003ef44270e\u003c/code\u003e\u003c/a\u003e Bump version 0.4.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2148\"\u003e#2148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/da457c57b5602b815dceb9ba115ad164f5e1315c\"\u003e\u003ccode\u003eda457c5\u003c/code\u003e\u003c/a\u003e Document hook stage file input (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2147\"\u003e#2147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0fa29294fad36956c5099d8b6cb790d6122ab9ac\"\u003e\u003ccode\u003e0fa2929\u003c/code\u003e\u003c/a\u003e Add hook group filters to \u003ccode\u003eprek run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2141\"\u003e#2141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9b0047ffb3c1f255edac769ce56667aad0f935dc\"\u003e\u003ccode\u003e9b0047f\u003c/code\u003e\u003c/a\u003e Fix intent-to-add stash restore (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2143\"\u003e#2143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/00b2520f41c5722db0b3be684be245320c4dec37\"\u003e\u003ccode\u003e00b2520\u003c/code\u003e\u003c/a\u003e Delay hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2140\"\u003e#2140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/a54fdf0935e18d3e35f848cb40c18ae96220288b\"\u003e\u003ccode\u003ea54fdf0\u003c/code\u003e\u003c/a\u003e Simplify hook output preview rendering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2139\"\u003e#2139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/ab7165d5cd06be239766ab25426d4459d51ec5e4\"\u003e\u003ccode\u003eab7165d\u003c/code\u003e\u003c/a\u003e Stream hook output in progress UI (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2136\"\u003e#2136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/f60958443fa8a9928924aa9cfcbb6d3412d9ef71\"\u003e\u003ccode\u003ef609584\u003c/code\u003e\u003c/a\u003e Remove unpinned dotnet test (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2137\"\u003e#2137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/ce0d8b34de8800f713de19a108dfcf70a95b2a62\"\u003e\u003ccode\u003ece0d8b3\u003c/code\u003e\u003c/a\u003e Update Rust to 1.96 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2134\"\u003e#2134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/1815fc50cca664fa48c96494ec7d4aa7df72a135\"\u003e\u003ccode\u003e1815fc5\u003c/code\u003e\u003c/a\u003e Update PyPI Downloads badge to dynamic JSON\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.3...v0.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=pip\u0026previous-version=0.4.3\u0026new-version=0.4.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/home-assistant-libs/aioshelly/pull/1167","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant-libs%2Faioshelly/issues/1167","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1167/packages"}},{"old_version":"0.3.13","new_version":"0.4.3","update_type":"minor","path":null,"pr_created_at":"2026-06-03T01:16:07.000Z","version_change":"0.3.13 → 0.4.3","issue":{"uuid":"4576124505","node_id":"PR_kwDOBEvNrc7iB0d9","number":150,"state":"open","title":"build(deps-dev): bump prek from 0.3.13 to 0.4.3","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-06-03T01:16:07.000Z","updated_at":"2026-06-03T01:22:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"prek","old_version":"0.3.13","new_version":"0.4.3","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.3.13 to 0.4.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.3\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.3\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/commit/02bb73f2be5539f3a1d219e74ad2ba344a633758\"\u003e\u003ccode\u003e02bb73f\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0f64ff91cf2a0934c30407522b93058c8d70cc6c\"\u003e\u003ccode\u003e0f64ff9\u003c/code\u003e\u003c/a\u003e Ignore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.13...v0.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.3.13\u0026new-version=0.4.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/steven-murray/powerbox/pull/150","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/steven-murray%2Fpowerbox/issues/150","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/150/packages"}},{"old_version":"0.2.30","new_version":"0.4.3","update_type":"minor","path":null,"pr_created_at":"2026-06-02T05:34:17.000Z","version_change":"0.2.30 → 0.4.3","issue":{"uuid":"4568738682","node_id":"PR_kwDOSNjN9s7hpjfT","number":22,"state":"open","title":"⬆ Bump prek from 0.2.30 to 0.4.3","user":"dependabot[bot]","labels":["internal"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T05:34:17.000Z","updated_at":"2026-06-02T05:34:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆ Bump","packages":[{"name":"prek","old_version":"0.2.30","new_version":"0.4.3","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.2.30 to 0.4.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.3\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.3\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/commit/02bb73f2be5539f3a1d219e74ad2ba344a633758\"\u003e\u003ccode\u003e02bb73f\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0f64ff91cf2a0934c30407522b93058c8d70cc6c\"\u003e\u003ccode\u003e0f64ff9\u003c/code\u003e\u003c/a\u003e Ignore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.2.30...v0.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.2.30\u0026new-version=0.4.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/tasawaralii/replync/pull/22","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tasawaralii%2Freplync/issues/22","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/22/packages"}},{"old_version":"0.3.13","new_version":"0.4.1","update_type":"minor","path":null,"pr_created_at":"2026-05-30T19:59:46.000Z","version_change":"0.3.13 → 0.4.1","issue":{"uuid":"4555529108","node_id":"PR_kwDOF8_QEs7g_sBJ","number":1989,"state":"open","title":"⬆ Bump the python-packages group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","internal","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-30T19:59:46.000Z","updated_at":"2026-05-31T06:06:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆ Bump","group_name":"python-packages","update_count":9,"packages":[{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"black","old_version":"26.3.1","new_version":"26.5.1","repository_url":"https://github.com/psf/black"},{"name":"zensical","old_version":"0.0.42","new_version":"0.0.43","repository_url":"https://github.com/zensical/zensical"},{"name":"fastapi","old_version":"0.136.1","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.35","new_version":"0.0.39","repository_url":"https://github.com/astral-sh/ty"},{"name":"prek","old_version":"0.3.13","new_version":"0.4.1","repository_url":"https://github.com/j178/prek"},{"name":"zizmor","old_version":"1.24.1","new_version":"1.25.2","repository_url":"https://github.com/zizmorcore/zizmor"},{"name":"pygithub","old_version":"2.9.0","new_version":"2.9.1","repository_url":"https://github.com/pygithub/pygithub"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.4` |\n| [black](https://github.com/psf/black) | `26.3.1` | `26.5.1` |\n| [zensical](https://github.com/zensical/zensical) | `0.0.42` | `0.0.43` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.136.1` | `0.136.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.14` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.35` | `0.0.39` |\n| [prek](https://github.com/j178/prek) | `0.3.13` | `0.4.1` |\n| [zizmor](https://github.com/zizmorcore/zizmor) | `1.24.1` | `1.25.2` |\n| [pygithub](https://github.com/pygithub/pygithub) | `2.9.0` | `2.9.1` |\n\n\nUpdates `pydantic` from 2.12.5 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 26.3.1 to 26.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.5.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix unstable formatting of annotated assignments whose subscript annotation contains\nan inline comment (e.g. \u003ccode\u003ex: list[  # pyright: ignore[...]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/5130\"\u003e#5130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve inline comments (including \u003ccode\u003e# type: ignore\u003c/code\u003e) immediately before a\n\u003ccode\u003e# fmt: skip\u003c/code\u003e line, avoiding AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/5139\"\u003e#5139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the version in the published executables (\u003ca href=\"https://redirect.github.com/psf/black/issues/5137\"\u003e#5137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Neovim integration guide covering conform.nvim, ALE, and simple command approaches\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5124\"\u003e#5124\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.5.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for unpacking in comprehensions (PEP 798) and for lazy imports (PEP 810),\nboth new syntactic features in Python 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5048\"\u003e#5048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePython 3.15 is now supported. Compiled wheels are not yet provided for Python 3.15, so\nperformance may be slower than on existing Python versions. Wheels will be provided\nonce Python 3.15 is later in its release cycle. (\u003ca href=\"https://redirect.github.com/psf/black/issues/5127\"\u003e#5127\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e# fmt: skip\u003c/code\u003e being ignored in nested \u003ccode\u003eif\u003c/code\u003e expressions with parenthesized \u003ccode\u003ein\u003c/code\u003e\nclauses (\u003ca href=\"https://redirect.github.com/psf/black/issues/4903\"\u003e#4903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd syntactic support for Python 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5048\"\u003e#5048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when an f-string follows a \u003ccode\u003e# fmt: off\u003c/code\u003e comment inside brackets (\u003ca href=\"https://redirect.github.com/psf/black/issues/5097\"\u003e#5097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve multiline compound statement headers when \u003ccode\u003e# fmt: skip\u003c/code\u003e is placed on the\ncolon line (\u003ca href=\"https://redirect.github.com/psf/black/issues/5117\"\u003e#5117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove heuristics around whether blank lines should appear before, within and after\ngroups of same-name decorated functions (such as \u003ccode\u003e@overload\u003c/code\u003e groups) in \u003ccode\u003e.pyi\u003c/code\u003e stub\nfiles (\u003ca href=\"https://redirect.github.com/psf/black/issues/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix blank lines being removed between a function and a decorated class in \u003ccode\u003e.pyi\u003c/code\u003e stub\nfiles (\u003ca href=\"https://redirect.github.com/psf/black/issues/5092\"\u003e#5092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent string merger from creating unsplittable long lines when a pragma comment\n(e.g. \u003ccode\u003e# type: ignore\u003c/code\u003e) follows the closing bracket (\u003ca href=\"https://redirect.github.com/psf/black/issues/5096\"\u003e#5096\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun CI on 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5127\"\u003e#5127\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\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/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 26.5.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix unstable formatting of annotated assignments whose subscript annotation contains\nan inline comment (e.g. \u003ccode\u003ex: list[  # pyright: ignore[...]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/5130\"\u003e#5130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve inline comments (including \u003ccode\u003e# type: ignore\u003c/code\u003e) immediately before a\n\u003ccode\u003e# fmt: skip\u003c/code\u003e line, avoiding AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/5139\"\u003e#5139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the version in the published executables (\u003ca href=\"https://redirect.github.com/psf/black/issues/5137\"\u003e#5137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Neovim integration guide covering conform.nvim, ALE, and simple command approaches\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5124\"\u003e#5124\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 26.5.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for unpacking in comprehensions (PEP 798) and for lazy imports (PEP 810),\nboth new syntactic features in Python 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5048\"\u003e#5048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePython 3.15 is now supported. Compiled wheels are not yet provided for Python 3.15, so\nperformance may be slower than on existing Python versions. Wheels will be provided\nonce Python 3.15 is later in its release cycle. (\u003ca href=\"https://redirect.github.com/psf/black/issues/5127\"\u003e#5127\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e# fmt: skip\u003c/code\u003e being ignored in nested \u003ccode\u003eif\u003c/code\u003e expressions with parenthesized \u003ccode\u003ein\u003c/code\u003e\nclauses (\u003ca href=\"https://redirect.github.com/psf/black/issues/4903\"\u003e#4903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd syntactic support for Python 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5048\"\u003e#5048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when an f-string follows a \u003ccode\u003e# fmt: off\u003c/code\u003e comment inside brackets (\u003ca href=\"https://redirect.github.com/psf/black/issues/5097\"\u003e#5097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve multiline compound statement headers when \u003ccode\u003e# fmt: skip\u003c/code\u003e is placed on the\ncolon line (\u003ca href=\"https://redirect.github.com/psf/black/issues/5117\"\u003e#5117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove heuristics around whether blank lines should appear before, within and after\ngroups of same-name decorated functions (such as \u003ccode\u003e@overload\u003c/code\u003e groups) in \u003ccode\u003e.pyi\u003c/code\u003e stub\nfiles (\u003ca href=\"https://redirect.github.com/psf/black/issues/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix blank lines being removed between a function and a decorated class in \u003ccode\u003e.pyi\u003c/code\u003e stub\nfiles (\u003ca href=\"https://redirect.github.com/psf/black/issues/5092\"\u003e#5092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent string merger from creating unsplittable long lines when a pragma comment\n(e.g. \u003ccode\u003e# type: ignore\u003c/code\u003e) follows the closing bracket (\u003ca href=\"https://redirect.github.com/psf/black/issues/5096\"\u003e#5096\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun CI on 3.15 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5127\"\u003e#5127\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/psf/black/commit/87928e6d6761a4a6d22250e1fee5601b3998086e\"\u003e\u003ccode\u003e87928e6\u003c/code\u003e\u003c/a\u003e Prepare release 26.5.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5140\"\u003e#5140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c970a49702488739add6c728122deb3a99900803\"\u003e\u003ccode\u003ec970a49\u003c/code\u003e\u003c/a\u003e Preserve comments before fmt: skip lines (\u003ca href=\"https://redirect.github.com/psf/black/issues/5139\"\u003e#5139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/5809338fd5f92d50e80c2ad312292ae6d428a480\"\u003e\u003ccode\u003e5809338\u003c/code\u003e\u003c/a\u003e Preserve inline comments inside annotation subscripts (\u003ca href=\"https://redirect.github.com/psf/black/issues/5130\"\u003e#5130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/61361b71995f6ea44ce01915bacd3ecc50642507\"\u003e\u003ccode\u003e61361b7\u003c/code\u003e\u003c/a\u003e docs: add Neovim integration guide and fix http link (\u003ca href=\"https://redirect.github.com/psf/black/issues/5124\"\u003e#5124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ebe6018e3254629788376e619207719fbe34a849\"\u003e\u003ccode\u003eebe6018\u003c/code\u003e\u003c/a\u003e CI Hotfixes (\u003ca href=\"https://redirect.github.com/psf/black/issues/5136\"\u003e#5136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/9cbd95f80e97c1ab4d690d1d41b81579a13bf75c\"\u003e\u003ccode\u003e9cbd95f\u003c/code\u003e\u003c/a\u003e Fix publish binaries again on Windows (\u003ca href=\"https://redirect.github.com/psf/black/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/3dc8e6c41911bdaedb4bac8d633979c34a112b78\"\u003e\u003ccode\u003e3dc8e6c\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5132\"\u003e#5132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/6d0fff0d5a965b9d0d3dbd7c5738d835fd574130\"\u003e\u003ccode\u003e6d0fff0\u003c/code\u003e\u003c/a\u003e Fix publish binaries workflow (\u003ca href=\"https://redirect.github.com/psf/black/issues/5133\"\u003e#5133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/d2490e24dad33b8f68c77602ee29160de0fea24b\"\u003e\u003ccode\u003ed2490e2\u003c/code\u003e\u003c/a\u003e Prepare release 26.5.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5131\"\u003e#5131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2b13ea76fa69d4923381df65deb1a5c896ca27ad\"\u003e\u003ccode\u003e2b13ea7\u003c/code\u003e\u003c/a\u003e Preserve multiline headers with fmt skip (\u003ca href=\"https://redirect.github.com/psf/black/issues/5117\"\u003e#5117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/26.3.1...26.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zensical` from 0.0.42 to 0.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zensical/zensical/releases\"\u003ezensical's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis version fixes further edge cases in link validation, and adds support for UTF-8 encoding with byte-order-marks.\u003c/p\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e1e873a3 \u003cstrong\u003ecompat\u003c/strong\u003e – ignore links in code after literal dollar during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e62a0feb \u003cstrong\u003ezensical\u003c/strong\u003e – report \u003ccode\u003epath.md/#anchor\u003c/code\u003e as invalid during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e7be40c6 \u003cstrong\u003ecompat\u003c/strong\u003e – ignore GitHub-style callouts during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e85c3b1e \u003cstrong\u003ecompat\u003c/strong\u003e – ignore \u003ccode\u003e[TOC]\u003c/code\u003e marker during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edaafc8b \u003cstrong\u003ezensical\u003c/strong\u003e – filter out icons folder when watching theme directories (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e913fd61 \u003cstrong\u003ezensical\u003c/strong\u003e – strip Byte-Order-Mark (BOM) from Markdown files (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/687\"\u003e#687\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/zensical/zensical/commit/7d2178a8a9df7c559a746643ccfa34f1531f20a3\"\u003e\u003ccode\u003e7d2178a\u003c/code\u003e\u003c/a\u003e chore: release v0.0.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/35a20425ac3a30007ed2ba9e1d54bbdae98399cd\"\u003e\u003ccode\u003e35a2042\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/zensical/zensical/issues/697\"\u003e#697\u003c/a\u003e from zensical/fix/validation-regressions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/1e873a397c314843444adb68dcd5238af62dfe22\"\u003e\u003ccode\u003e1e873a3\u003c/code\u003e\u003c/a\u003e fix: ignore links in code after literal dollar during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/62a0feb8f45ed10ea3c4c9816501ff1c2245f244\"\u003e\u003ccode\u003e62a0feb\u003c/code\u003e\u003c/a\u003e fix: report \u003ccode\u003epath.md/#anchor\u003c/code\u003e as invalid during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/7be40c6ceb4407992a1d93cb6e30563b737e4724\"\u003e\u003ccode\u003e7be40c6\u003c/code\u003e\u003c/a\u003e fix: ignore GitHub-style callouts during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/85c3b1e321dc4eaa60fc7bd885a4da509e1e4127\"\u003e\u003ccode\u003e85c3b1e\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e[TOC]\u003c/code\u003e marker during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/daafc8becba138735046b63dcf839c89c9f8c024\"\u003e\u003ccode\u003edaafc8b\u003c/code\u003e\u003c/a\u003e fix: filter out icons folder when watching theme directories (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/913fd61670ae2d1a01c76388613f6378c9431a3d\"\u003e\u003ccode\u003e913fd61\u003c/code\u003e\u003c/a\u003e fix: strip Byte-Order-Mark (BOM) from Markdown files (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/zensical/zensical/compare/v0.0.42...v0.0.43\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.136.1 to 0.136.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.136.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (the default). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15589\"\u003e#15589\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.136.2\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Validate Server Sent Event fields to avoid applications from sending broken data. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15588\"\u003e#15588\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15464\"\u003e#15464\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update and simplify docs about help and management. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15583\"\u003e#15583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add docs references to central contributing docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15580\"\u003e#15580\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update security policy. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15577\"\u003e#15577\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🍱 Update sponsors: TalorData image. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15562\"\u003e#15562\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs, simplify usage of admonitions, only default ones. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15553\"\u003e#15553\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix image URLs in \u003ccode\u003eindex.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15534\"\u003e#15534\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix Azkaban spelling typo in \u003ccode\u003evirtual-environments.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15463\"\u003e#15463\u003c/a\u003e by \u003ca href=\"https://github.com/isaacbernat\"\u003e\u003ccode\u003e@​isaacbernat\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Improve layout and styling. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15462\"\u003e#15462\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Refactor opinions section with interactive tabs and new logos. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15458\"\u003e#15458\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add FastAPI Conf '26 announcement to docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15457\"\u003e#15457\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Improve translation consistency in \u003ccode\u003e‎docs/pt/docs/advanced/generate-clients.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15456\"\u003e#15456\u003c/a\u003e by \u003ca href=\"https://github.com/Will-thom\"\u003e\u003ccode\u003e@​Will-thom\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15530\"\u003e#15530\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15529\"\u003e#15529\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15528\"\u003e#15528\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15527\"\u003e#15527\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15526\"\u003e#15526\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15525\"\u003e#15525\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15524\"\u003e#15524\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for fr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15522\"\u003e#15522\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15523\"\u003e#15523\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15520\"\u003e#15520\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15521\"\u003e#15521\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Fix typos in Spanish LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15472\"\u003e#15472\u003c/a\u003e by \u003ca href=\"https://github.com/crr004\"\u003e\u003ccode\u003e@​crr004\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Update tests, don't double dispose the engine. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15587\"\u003e#15587\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⚡️ Speed up test suite via caching and fixture scopes to make it ~24% faster. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13583\"\u003e#13583\u003c/a\u003e by \u003ca href=\"https://github.com/dikos1337\"\u003e\u003ccode\u003e@​dikos1337\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove config files now in central GitHub repo. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15585\"\u003e#15585\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump urllib3 from 2.6.3 to 2.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15502\"\u003e#15502\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump idna from 3.11 to 3.15. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15565\"\u003e#15565\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.15.0 to 4.0.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15571\"\u003e#15571\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Migrate docs from MkDocs to Zensical. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15563\"\u003e#15563\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔒️ Only allow team members to modify dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15548\"\u003e#15548\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/82064857539e6286522c347b4b11331b48dd2378\"\u003e\u003ccode\u003e8206485\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c910e0139f983d0e04e2d1d235cd71803afeae34\"\u003e\u003ccode\u003ec910e01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/063b5bf582d31fb155cc6bc6f88cf512329d0fd5\"\u003e\u003ccode\u003e063b5bf\u003c/code\u003e\u003c/a\u003e ♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/22b02e26f9e8c7e32bd8266e2b0ebe8bb3a0db2b\"\u003e\u003ccode\u003e22b02e2\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3b252a2a22ba27a8ab83d6bde7d9cddbc5bf738e\"\u003e\u003ccode\u003e3b252a2\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c7fb7851b3389f24c51701d705458989be53ccbb\"\u003e\u003ccode\u003ec7fb785\u003c/code\u003e\u003c/a\u003e ♻️ Validate Server Sent Event fields to avoid applications from sending broke...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb83b83dcf78eab4ea17d504db5abcda705fbdc4\"\u003e\u003ccode\u003ecb83b83\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/00f805cec94c0bf48c1f9a563535a3ab2e6f90ab\"\u003e\u003ccode\u003e00f805c\u003c/code\u003e\u003c/a\u003e ✅ Update tests, don't double dispose the engine (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15587\"\u003e#15587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3675137523dc167981aa3a3c44599b4f3079ccd8\"\u003e\u003ccode\u003e3675137\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7b57e42986bb4d40c9eb6580537d13fb8e76097e\"\u003e\u003ccode\u003e7b57e42\u003c/code\u003e\u003c/a\u003e 📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15464\"\u003e#15464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.136.1...0.136.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\nUpdates `ty` from 0.0.35 to 0.0.39\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.39\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-22.\u003c/p\u003e\n\u003cp\u003eThis release removes the Python 3.9 branches from our vendored standard library stubs. ty now only has \u0026quot;full\u0026quot; support for\nPython 3.10 and later, but will still report version-specific syntax errors and other diagnostics when \u003ccode\u003e--python-version 3.9\u003c/code\u003e\nis provided via the CLI.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panicking on \u003ccode\u003e__new__\u003c/code\u003e assignments to classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25282\"\u003e#25282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve declaration order when synthesizing class fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25249\"\u003e#25249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003edict\u003c/code\u003e-compatible fallbacks in TypedDict unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25242\"\u003e#25242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRetain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Quick Fix to remove redundant cast (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25211\"\u003e#25211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClassify property declaration semantic tokens (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25322\"\u003e#25322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEscape HTML syntax in docstring rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25247\"\u003e#25247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer symbols from standard library over those of the same name from third party libraries for import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25108\"\u003e#25108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type aliases in document symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25302\"\u003e#25302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd error context for extra callable parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25269\"\u003e#25269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid exponential blow-up in fall-through narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25278\"\u003e#25278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up include filtering for projects with many literal include patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25266\"\u003e#25266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit a diagnostic for subclassing with \u003ccode\u003eorder=True\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21704\"\u003e#21704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFull-scope bidirectional inference for unconstrained container literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25279\"\u003e#25279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003edict(TypedDict)\u003c/code\u003e as \u003ccode\u003edict[str, object]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24852\"\u003e#24852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject incompatible explicit variance in generic base classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25327\"\u003e#25327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi-inference through type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25245\"\u003e#25245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25271\"\u003e#25271\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25172\"\u003e#25172\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/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/sqqueak\"\u003e\u003ccode\u003e@​sqqueak\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\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.39\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-22.\u003c/p\u003e\n\u003cp\u003eThis release removes the Python 3.9 branches from our vendored standard library stubs. ty now only has \u0026quot;full\u0026quot; support for\nPython 3.10 and later, but will still report version-specific syntax errors and other diagnostics when \u003ccode\u003e--python-version 3.9\u003c/code\u003e\nis provided via the CLI.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panicking on \u003ccode\u003e__new__\u003c/code\u003e assignments to classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25282\"\u003e#25282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve declaration order when synthesizing class fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25249\"\u003e#25249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003edict\u003c/code\u003e-compatible fallbacks in TypedDict unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25242\"\u003e#25242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRetain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Quick Fix to remove redundant cast (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25211\"\u003e#25211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClassify property declaration semantic tokens (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25322\"\u003e#25322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEscape HTML syntax in docstring rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25247\"\u003e#25247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer symbols from standard library over those of the same name from third party libraries for import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25108\"\u003e#25108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type aliases in document symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25302\"\u003e#25302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd error context for extra callable parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25269\"\u003e#25269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid exponential blow-up in fall-through narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25278\"\u003e#25278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up include filtering for projects with many literal include patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25266\"\u003e#25266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit a diagnostic for subclassing with \u003ccode\u003eorder=True\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21704\"\u003e#21704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFull-scope bidirectional inference for unconstrained container literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25279\"\u003e#25279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003edict(TypedDict)\u003c/code\u003e as \u003ccode\u003edict[str, object]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24852\"\u003e#24852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject incompatible explicit variance in generic base classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25327\"\u003e#25327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi-inference through type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25245\"\u003e#25245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25271\"\u003e#25271\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25172\"\u003e#25172\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/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/sqqueak\"\u003e\u003ccode\u003e@​sqqueak\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/sharkdp\"\u003e\u003ccode\u003e@​sharkdp\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/0205125174c135d6fc4014244dee374678b61c72\"\u003e\u003ccode\u003e0205125\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.39 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3516\"\u003e#3516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ae8058d40e641b545bbad046c487e964206a2286\"\u003e\u003ccode\u003eae8058d\u003c/code\u003e\u003c/a\u003e Update maturin to v1.13.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3494\"\u003e#3494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/33b60f8ad0f2da648b867831548a4b8c7985647d\"\u003e\u003ccode\u003e33b60f8\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3495\"\u003e#3495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/1d3efc1d68e36a8f982fa73b1f8c2a5ebc50fcde\"\u003e\u003ccode\u003e1d3efc1\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.38 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3492\"\u003e#3492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/f5100ccde50ff577fa311add5232ae6074ed68f9\"\u003e\u003ccode\u003ef5100cc\u003c/code\u003e\u003c/a\u003e scripts/update_schemastore: use -C to allow re-running schema update on exist...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/f18aed6430c781ff3bc4fe41d9b5c2a7161657c4\"\u003e\u003ccode\u003ef18aed6\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.37 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3473\"\u003e#3473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a63e55929645f8eeaa6f28117afda8d2ed39d1a4\"\u003e\u003ccode\u003ea63e559\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.36 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/94370d5b43c48d01720a9e65d8d8d5286b6697b1\"\u003e\u003ccode\u003e94370d5\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.35...0.0.39\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.3.13 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.13...v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zizmor` from 1.24.1 to 1.25.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zizmorcore/zizmor/releases\"\u003ezizmor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.25.2\u003c/h2\u003e\n\u003ch2\u003eBug Fixes 🐛\u003ca href=\"https://docs.zizmor.sh/release-notes/#bug-fixes\"\u003e🔗\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where the \u003ca href=\"https://docs.zizmor.sh/audits/#unpinned-tools\"\u003eunpinned-tools\u003c/a\u003e audit would incorrectly flag the \u003ca href=\"https://github.com/aquasecurity/trivy-action\"\u003eaquasecurity/trivy-action\u003c/a\u003e action as installing an unpinned tool version, rather than \u003ca href=\"https://github.com/aquasecurity/setup-trivy\"\u003eaquasecurity/setup-trivy\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/2018\"\u003e#2018\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.25.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes 🐛\u003ca href=\"https://docs.zizmor.sh/release-notes/#bug-fixes\"\u003e🔗\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a bug where the \u003ca href=\"https://docs.zizmor.sh/audits/#cache-poisoning\"\u003ecache-poisoning\u003c/a\u003e audit would fail to consider release events as exempt from cache usage findings when filtered by a tag condition (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/2004\"\u003e#2004\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a typo when suggesting --fix flags for findings (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/2010\"\u003e#2010\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eMany thanks to \u003ca href=\"https://github.com/0xdea\"\u003e\u003ccode\u003e@​0xdea\u003c/code\u003e\u003c/a\u003e for implementing this fix!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a typo in \u003ca href=\"https://docs.zizmor.sh/audits/#unpinned-tools\"\u003eunpinned-tools\u003c/a\u003e annotations (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/2008\"\u003e#2008\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eMany thanks to \u003ca href=\"https://github.com/martincostello\"\u003e\u003ccode\u003e@​martincostello\u003c/code\u003e\u003c/a\u003e for implementing this fix!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a bug where the \u003ca href=\"https://docs.zizmor.sh/audits/#github-app\"\u003egithub-app\u003c/a\u003e audit would incorrectly flag some safe uses of \u003ca href=\"https://github.com/actions/create-github-app-token\"\u003eactions/create-github-app-token\u003c/a\u003e as unsafe (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/2011\"\u003e#2011\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.25.0\u003c/h2\u003e\n\u003ch2\u003eNew Features 🌈\u003ca href=\"https://docs.zizmor.sh/release-notes/#new-features\"\u003e🔗\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ezizmor's finding severities can now be remapped on a per-audit basis. See \u003ca href=\"https://docs.zizmor.sh/configuration/#rules-id-remap\"\u003ethe configuration\u003c/a\u003e for details (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eMany thanks to \u003ca href=\"https://github.com/Proximyst\"\u003e\u003ccode\u003e@​Proximyst\u003c/code\u003e\u003c/a\u003e for proposing and implementing this improvement!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew audit: \u003ca href=\"https://docs.zizmor.sh/audits/#github-app\"\u003egithub-app\u003c/a\u003e detects dangerous usages of GitHub App installation tokens (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1926\"\u003e#1926\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew audit: [unpinned-tools] detects actions that install tools without pinning to a specific version (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ezizmor now accepts the --no-ignores flag to disable all ignore comments and configurations when reporting findings (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1935\"\u003e#1935\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ezizmor's LSP now honors the --persona flag on the CLI (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1943\"\u003e#1943\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ezizmor is now aware of Docker-based action definitions, in addition to the pre-existing support for \u0026quot;composite\u0026quot; actions (\u003ca href=\"https://redirect.github.com/zizmorcore/zizmor/issues/1965\"\u003e#1965\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003ca href=\"https://docs.zizmor.sh/release-notes/#enhancements\"\u003e🔗\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRecommend gh issue edit --add-label / gh pr edit --add-label as a replacement for \u003ca href=\"https://github.com/actions-ecosystem/action-add-labels\"\u003eactions-ecosystem/action-add-labels\u003c/a\u003e in \u003ca href=\"https://docs.zizmor.sh/audits/#superfluous-actions\"\u003esuperfluous-actions\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRecommend gh issue edit --remove-label / gh pr edit --remove-label as a replacement for \u003ca href=\"https://github.com/actions-ecosystem/action-remove-labels\"\u003eactions-ecosystem/action-remove-labels\u003c/a\u003e in \u003ca href=\"https://docs.zizmor.sh/audits/#superfluous-actions\"\u003esuperfluous-actions\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRecommend jq as a replacement for \u003ca href=\"https://github.com/sergeysova/jq-action\"\u003esergeysova/jq-action\u003c/a\u003e in \u003ca href=\"https://docs.zizmor.sh/audits/#superfluous-actions\"\u003esuperfluous-actions\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRecommend git add, git commit, and git push as a replacement for \u003ca href=\"https://github.com/stefanzweifel/git-auto-commit-action\"\u003estefanzweifel/git-auto-commit-action\u003c/a\u003e in \u003ca href=\"https://docs.zizmor.sh/audits/#superfluous-actions\"\u003esuperfluous-actions\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRecommend git add, git commit, and git push as a replacement for \u003ca href=\"https://github.com/EndBug/add-and-commit\"\u003eEndBug/add-and-commit\u003c/a\u003e in \u003ca href=\"https://docs.zizmor.sh/audits/#superfluous-actions\"\u003esuperfluous-actions\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/tibdex/github-app-token\"\u003etibdex/github-app-token\u003c/a\u003e is now recognized as an archived action by \u003ca href=...\n\n_Description has been truncated_","html_url":"https://github.com/fastapi/sqlmodel/pull/1989","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastapi%2Fsqlmodel/issues/1989","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1989/packages"}},{"old_version":"0.4.1","new_version":"0.4.3","update_type":"patch","path":null,"pr_created_at":"2026-05-30T10:54:03.000Z","version_change":"0.4.1 → 0.4.3","issue":{"uuid":"4554161346","node_id":"PR_kwDOPjHe0M7g7nBY","number":247,"state":"open","title":"chore(deps): bump the uv-all group with 5 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-30T10:54:03.000Z","updated_at":"2026-05-30T10:58:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv-all","update_count":5,"packages":[{"name":"selectolax","old_version":"0.4.9","new_version":"0.4.10","repository_url":"https://github.com/rushter/selectolax"},{"name":"hypothesis","old_version":"6.153.0","new_version":"6.155.1","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"prek","old_version":"0.4.1","new_version":"0.4.3","repository_url":"https://github.com/j178/prek"},{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"ruff","old_version":"0.15.14","new_version":"0.15.15","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-all group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [selectolax](https://github.com/rushter/selectolax) | `0.4.9` | `0.4.10` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.153.0` | `6.155.1` |\n| [prek](https://github.com/j178/prek) | `0.4.1` | `0.4.3` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.14` | `0.15.15` |\n\nUpdates `selectolax` from 0.4.9 to 0.4.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rushter/selectolax/releases\"\u003eselectolax's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.4.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDo not destroy nodes when stripping tags\u003c/li\u003e\n\u003cli\u003eAllow building selectolax using older lexbor versions (\u003ca href=\"https://redirect.github.com/rushter/selectolax/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate lexbor. Fixes crashes when parsing HTML (\u003ca href=\"https://redirect.github.com/rushter/selectolax/issues/217\"\u003e#217\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/rushter/selectolax/blob/master/CHANGES.md\"\u003eselectolax's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.4.10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDo not destroy nodes when stripping tags\u003c/li\u003e\n\u003cli\u003eAllow building selectolax using older lexbor versions (\u003ca href=\"https://redirect.github.com/rushter/selectolax/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate lexbor. Fixes crashes when parsing HTML (\u003ca href=\"https://redirect.github.com/rushter/selectolax/issues/217\"\u003e#217\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/rushter/selectolax/commit/c516547eb3bb76d69b3377080ca71f52394b83ff\"\u003e\u003ccode\u003ec516547\u003c/code\u003e\u003c/a\u003e Bump version: 0.4.9 → 0.4.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rushter/selectolax/commit/a4ff9b283ee98af9141f10556ad8a56a997fc214\"\u003e\u003ccode\u003ea4ff9b2\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rushter/selectolax/commit/d6a512d4ec0e09900fd81c1ffe734b75fdbc8b77\"\u003e\u003ccode\u003ed6a512d\u003c/code\u003e\u003c/a\u003e Update lexbor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rushter/selectolax/commit/e15a8b0eb87d16489a6883846a1775b963892eeb\"\u003e\u003ccode\u003ee15a8b0\u003c/code\u003e\u003c/a\u003e Allow building selectolax using older lexbor versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rushter/selectolax/commit/8e6f76d0ecb9957814a20ec21437815a581ecb28\"\u003e\u003ccode\u003e8e6f76d\u003c/code\u003e\u003c/a\u003e Do not destroy nodes when stripping\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rushter/selectolax/compare/v0.4.9...v0.4.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.153.0 to 6.155.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4afeada246751658ceadf7389ad946a4fcf64175\"\u003e\u003ccode\u003e4afeada\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.155.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1dafffb33415019bce34e2f4709887e1f10c64ec\"\u003e\u003ccode\u003e1dafffb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4755\"\u003e#4755\u003c/a\u003e from Zac-HD/claude/nice-bardeen-xS6yA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/78b2a0199662606d2ce0d361c7d7851e55254b75\"\u003e\u003ccode\u003e78b2a01\u003c/code\u003e\u003c/a\u003e Address review feedback on the overrun-repair branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ba3a2063e026b799f8ffd89d1f6b74c4b6b4c8f4\"\u003e\u003ccode\u003eba3a206\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4757\"\u003e#4757\u003c/a\u003e from Zac-HD/cleanups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f72f644407be54cfc1f9e16d3dd596fd7887ac8\"\u003e\u003ccode\u003e4f72f64\u003c/code\u003e\u003c/a\u003e deflake tests?\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44114873e422b68492c8308c0e933b63b2fe4444\"\u003e\u003ccode\u003e4411487\u003c/code\u003e\u003c/a\u003e crosshair tests cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b19b02e1f52e3b545f532ecccfb2a78fea7ed146\"\u003e\u003ccode\u003eb19b02e\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.155.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/05a605b6a78fe260dd0db69592322ead778cdb89\"\u003e\u003ccode\u003e05a605b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4756\"\u003e#4756\u003c/a\u003e from Zac-HD/claude/hopeful-einstein-zhwDO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/5690ba97cb1eaa809ab0f624be4dc09ed241b830\"\u003e\u003ccode\u003e5690ba9\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.154.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7e91ba0923cb265f39250feb819fc339fccda90d\"\u003e\u003ccode\u003e7e91ba0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4751\"\u003e#4751\u003c/a\u003e from Zac-HD/claude/amazing-brahmagupta-6XQsP\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.153.0...v6.155.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.4.1 to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.3\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.3\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/commit/02bb73f2be5539f3a1d219e74ad2ba344a633758\"\u003e\u003ccode\u003e02bb73f\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0f64ff91cf2a0934c30407522b93058c8d70cc6c\"\u003e\u003ccode\u003e0f64ff9\u003c/code\u003e\u003c/a\u003e Ignore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.1...v0.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.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/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio v1.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0\"\u003e1.4.0\u003c/a\u003e - 2026-05-26\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated minimum supported pytest version to v8.4.0. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397\"\u003e#1397\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u003ccode\u003eResourceWarning: unclosed event loop\u003c/code\u003e warning that could occur when a synchronous test called \u003ccode\u003easyncio.run()\u003c/code\u003e or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded dependency on \u003ccode\u003esphinx-tabs \u0026gt;= 3.5\u003c/code\u003e to organize documentation examples into tabs. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio v1.4.0a2\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2\"\u003e1.4.0a2\u003c/a\u003e - 2026-05-02\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\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/pytest-dev/pytest-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425\"\u003e\u003ccode\u003e6e14cd2\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e\"\u003e\u003ccode\u003e4b900fb\u003c/code\u003e\u003c/a\u003e Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf\"\u003e\u003ccode\u003eab9f632\u003c/code\u003e\u003c/a\u003e Build(deps): Bump zipp from 3.23.1 to 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa\"\u003e\u003ccode\u003ea56fc77\u003c/code\u003e\u003c/a\u003e Build(deps): Bump hypothesis from 6.152.6 to 6.152.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d\"\u003e\u003ccode\u003ee8bae9b\u003c/code\u003e\u003c/a\u003e Build(deps): Bump requests from 2.34.0 to 2.34.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de\"\u003e\u003ccode\u003efc43340\u003c/code\u003e\u003c/a\u003e Build(deps): Bump idna from 3.14 to 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b\"\u003e\u003ccode\u003e762eaf5\u003c/code\u003e\u003c/a\u003e Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f\"\u003e\u003ccode\u003eb62e222\u003c/code\u003e\u003c/a\u003e Build(deps): Bump click from 8.3.3 to 8.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb\"\u003e\u003ccode\u003e9190447\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pydantic from 2.13.3 to 2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236\"\u003e\u003ccode\u003e82a393c\u003c/code\u003e\u003c/a\u003e ci: Remove unnecessary debug output.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.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.14 to 0.15.15\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.15\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Markdown closing fence handling (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25310\"\u003e#25310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Report duplicate imports in \u003ccode\u003etyping.TYPE_CHECKING\u003c/code\u003e block (\u003ccode\u003eF811\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22560\"\u003e#22560\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] Treat function-scope bare annotations as locals per PEP 526 (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21540\"\u003e#21540\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid redundant \u003ccode\u003eTokenValue\u003c/code\u003e drops in the lexer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25300\"\u003e#25300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce memory usage by dropping token-excess capacity and improve performance by approximating the initial tokens \u003ccode\u003eVec\u003c/code\u003e size (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25354\"\u003e#25354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eThinVec\u003c/code\u003e in AST to shrink \u003ccode\u003eStmt\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25361\"\u003e#25361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eline-length\u003c/code\u003e example for \u003ccode\u003e--config\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25389\"\u003e#25389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Document \u003ccode\u003eRecursionError\u003c/code\u003e edge case in \u003ccode\u003e__len__\u003c/code\u003e (\u003ccode\u003eC416\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25286\"\u003e#25286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003emccabe\u003c/code\u003e] Improve example (\u003ccode\u003eC901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25287\"\u003e#25287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Clarify fix safety docs (\u003ccode\u003eUP007\u003c/code\u003e, \u003ccode\u003eUP045\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25288\"\u003e#25288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Document \u003ccode\u003eFURB192\u003c/code\u003e exception change for empty sequences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25317\"\u003e#25317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Document false negative for user-defined types (\u003ccode\u003eRUF013\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25289\"\u003e#25289\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix formatting of lambdas nested within f-strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25398\"\u003e#25398\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn code action for \u003ccode\u003ecodeAction/resolve\u003c/code\u003e requests that contain no or no valid URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25365\"\u003e#25365\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand semantic syntax errors for invalid walruses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25415\"\u003e#25415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/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\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/fallintoplace\"\u003e\u003ccode\u003e@​fallintoplace\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martin-schlossarek\"\u003e\u003ccode\u003e@​martin-schlossarek\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\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.15\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Markdown closing fence handling (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25310\"\u003e#25310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Report duplicate imports in \u003ccode\u003etyping.TYPE_CHECKING\u003c/code\u003e block (\u003ccode\u003eF811\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22560\"\u003e#22560\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] Treat function-scope bare annotations as locals per PEP 526 (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21540\"\u003e#21540\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid redundant \u003ccode\u003eTokenValue\u003c/code\u003e drops in the lexer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25300\"\u003e#25300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce memory usage by dropping token-excess capacity and improve performance by approximating the initial tokens \u003ccode\u003eVec\u003c/code\u003e size (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25354\"\u003e#25354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eThinVec\u003c/code\u003e in AST to shrink \u003ccode\u003eStmt\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25361\"\u003e#25361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eline-length\u003c/code\u003e example for \u003ccode\u003e--config\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25389\"\u003e#25389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Document \u003ccode\u003eRecursionError\u003c/code\u003e edge case in \u003ccode\u003e__len__\u003c/code\u003e (\u003ccode\u003eC416\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25286\"\u003e#25286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003emccabe\u003c/code\u003e] Improve example (\u003ccode\u003eC901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25287\"\u003e#25287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Clarify fix safety docs (\u003ccode\u003eUP007\u003c/code\u003e, \u003ccode\u003eUP045\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25288\"\u003e#25288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Document \u003ccode\u003eFURB192\u003c/code\u003e exception change for empty sequences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25317\"\u003e#25317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Document false negative for user-defined types (\u003ccode\u003eRUF013\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25289\"\u003e#25289\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix formatting of lambdas nested within f-strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25398\"\u003e#25398\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn code action for \u003ccode\u003ecodeAction/resolve\u003c/code\u003e requests that contain no or no valid URL (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25365\"\u003e#25365\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand semantic syntax errors for invalid walruses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25415\"\u003e#25415\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/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\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/fallintoplace\"\u003e\u003ccode\u003e@​fallintoplace\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martin-schlossarek\"\u003e\u003ccode\u003e@​martin-schlossarek\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/Ruchir28\"\u003e\u003ccode\u003e@​Ruchir28\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/db5aa0a5f1b92cb91d910bf0866a967554dd94f5\"\u003e\u003ccode\u003edb5aa0a\u003c/code\u003e\u003c/a\u003e Bump 0.15.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25431\"\u003e#25431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/366fe21ba369ccdd01eb99c1043c9a969c99230b\"\u003e\u003ccode\u003e366fe21\u003c/code\u003e\u003c/a\u003e [ty] Improve diagnostics for syntax errors in forward annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25158\"\u003e#25158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e2e1e647d182b8567845039c9a65fb0608a4dcfc\"\u003e\u003ccode\u003ee2e1e64\u003c/code\u003e\u003c/a\u003e [ty] Remove excess capacity from more Salsa cached collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25411\"\u003e#25411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1bd77e1646f2213d86b8da215f08279187867d72\"\u003e\u003ccode\u003e1bd77e1\u003c/code\u003e\u003c/a\u003e [ty] Use diagnostic message as tie breaker when sorting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25424\"\u003e#25424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7e1bc1e75f15795f12c846294b13df4535f2abbf\"\u003e\u003ccode\u003e7e1bc1e\u003c/code\u003e\u003c/a\u003e Add agent skills for working on ty (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25422\"\u003e#25422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/574e10752f8cfa9e0cdbe3b01e96c4380950469b\"\u003e\u003ccode\u003e574e107\u003c/code\u003e\u003c/a\u003e Expand semantic syntax errors for invalid walruses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25415\"\u003e#25415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4a7ca062fccd80443a43aa61e5dc7e5858e88dc1\"\u003e\u003ccode\u003e4a7ca06\u003c/code\u003e\u003c/a\u003e [ty] Display docs for matching parameter when hovering over the name of an ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54327092dbfe455040690d63bb1e5e4b5f551239\"\u003e\u003ccode\u003e5432709\u003c/code\u003e\u003c/a\u003e Refine a few agents instructions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25423\"\u003e#25423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3cb09eba689ebb49e799131092121928cc789c18\"\u003e\u003ccode\u003e3cb09eb\u003c/code\u003e\u003c/a\u003e [ty] Support \u003ccode\u003etyping.TypeForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25334\"\u003e#25334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c8cd59f189f2b6f55d542b29bddb953622add6fc\"\u003e\u003ccode\u003ec8cd59f\u003c/code\u003e\u003c/a\u003e [ty] Infer class attributes assigned by metaclass initialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25342\"\u003e#25342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.14...0.15.15\"\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/Ven0m0/Revanced-auto/pull/247","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ven0m0%2FRevanced-auto/issues/247","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/247/packages"}},{"old_version":"0.3.9","new_version":"0.4.3","update_type":"minor","path":null,"pr_created_at":"2026-05-29T22:37:54.000Z","version_change":"0.3.9 → 0.4.3","issue":{"uuid":"4552047658","node_id":"PR_kwDOSB39Q87g0-Qo","number":9,"state":"open","title":"chore(deps): bump prek from 0.3.9 to 0.4.3","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-29T22:37:54.000Z","updated_at":"2026-05-29T22:38:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"prek","old_version":"0.3.9","new_version":"0.4.3","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.3.9 to 0.4.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.3\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.3\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/commit/02bb73f2be5539f3a1d219e74ad2ba344a633758\"\u003e\u003ccode\u003e02bb73f\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0f64ff91cf2a0934c30407522b93058c8d70cc6c\"\u003e\u003ccode\u003e0f64ff9\u003c/code\u003e\u003c/a\u003e Ignore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.9...v0.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.3.9\u0026new-version=0.4.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\n\u003c!-- Macroscope's pull request summary starts here --\u003e\n\u003c!-- Macroscope will only edit the content between these invisible markers, and the markers themselves will not be visible in the GitHub rendered markdown. --\u003e\n\u003c!-- If you delete either of the start / end markers from your PR's description, Macroscope will append its summary at the bottom of the description. --\u003e\n\u003e [!NOTE]\n\u003e ### Bump `prek` minimum version from 0.3.8 to 0.4.3\n\u003e Updates the `prek` dependency constraint in [pyproject.toml](https://github.com/detailobsessed/matter-mcp/pull/9/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711) and regenerates the lockfile to reflect the new minimum version.\n\u003e\n\u003e \u003c!-- Macroscope's review summary starts here --\u003e\n\u003e\n\u003e \u003csup\u003e\u003ca href=\"https://app.macroscope.com\"\u003eMacroscope\u003c/a\u003e summarized 50b98e8.\u003c/sup\u003e\n\u003e \u003c!-- Macroscope's review summary ends here --\u003e\n\u003e\n\u003c!-- macroscope-ui-refresh --\u003e\n\u003c!-- Macroscope's pull request summary ends here --\u003e","html_url":"https://github.com/detailobsessed/matter-mcp/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/detailobsessed%2Fmatter-mcp/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"0.4.1","new_version":"0.4.3","update_type":"patch","path":null,"pr_created_at":"2026-05-28T02:08:42.000Z","version_change":"0.4.1 → 0.4.3","issue":{"uuid":"4537128230","node_id":"PR_kwDORz44is7gEHQ9","number":21,"state":"closed","title":"chore(deps): bump the uv-minor-patch group across 1 directory with 3 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-28T02:15:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-28T02:08:42.000Z","updated_at":"2026-05-28T02:15:57.000Z","time_to_close":433,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv-minor-patch","update_count":3,"packages":[{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"ty","old_version":"0.0.39","new_version":"0.0.40","repository_url":"https://github.com/astral-sh/ty"},{"name":"prek","old_version":"0.4.1","new_version":"0.4.3","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-minor-patch group with 3 updates in the / directory: [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio), [ty](https://github.com/astral-sh/ty) and [prek](https://github.com/j178/prek).\n\nUpdates `pytest-asyncio` 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/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio v1.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0\"\u003e1.4.0\u003c/a\u003e - 2026-05-26\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated minimum supported pytest version to v8.4.0. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397\"\u003e#1397\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u003ccode\u003eResourceWarning: unclosed event loop\u003c/code\u003e warning that could occur when a synchronous test called \u003ccode\u003easyncio.run()\u003c/code\u003e or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded dependency on \u003ccode\u003esphinx-tabs \u0026gt;= 3.5\u003c/code\u003e to organize documentation examples into tabs. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio v1.4.0a2\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2\"\u003e1.4.0a2\u003c/a\u003e - 2026-05-02\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\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/pytest-dev/pytest-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425\"\u003e\u003ccode\u003e6e14cd2\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e\"\u003e\u003ccode\u003e4b900fb\u003c/code\u003e\u003c/a\u003e Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf\"\u003e\u003ccode\u003eab9f632\u003c/code\u003e\u003c/a\u003e Build(deps): Bump zipp from 3.23.1 to 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa\"\u003e\u003ccode\u003ea56fc77\u003c/code\u003e\u003c/a\u003e Build(deps): Bump hypothesis from 6.152.6 to 6.152.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d\"\u003e\u003ccode\u003ee8bae9b\u003c/code\u003e\u003c/a\u003e Build(deps): Bump requests from 2.34.0 to 2.34.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de\"\u003e\u003ccode\u003efc43340\u003c/code\u003e\u003c/a\u003e Build(deps): Bump idna from 3.14 to 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b\"\u003e\u003ccode\u003e762eaf5\u003c/code\u003e\u003c/a\u003e Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f\"\u003e\u003ccode\u003eb62e222\u003c/code\u003e\u003c/a\u003e Build(deps): Bump click from 8.3.3 to 8.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb\"\u003e\u003ccode\u003e9190447\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pydantic from 2.13.3 to 2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236\"\u003e\u003ccode\u003e82a393c\u003c/code\u003e\u003c/a\u003e ci: Remove unnecessary debug output.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.0\"\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.39 to 0.0.40\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.40\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept complete enum-literal alias unions as enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25341\"\u003e#25341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix diagnostics in ignored folders after adding new files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25236\"\u003e#25236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow \u003ccode\u003eLiteralString\u003c/code\u003e when hovering over an inline of a literal string in an IDE (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25373\"\u003e#25373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFollow aliases when attempting to map a definition in a stub file to its \u0026quot;real\u0026quot; runtime definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25328\"\u003e#25328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat Python notebook text documents as Python sources (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25393\"\u003e#25393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix autocompletion for elements inside incomplete list comprehensions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25326\"\u003e#25326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a subdiagnostic help message to \u003ccode\u003einvalid-generic-class\u003c/code\u003e diagnostics regarding incompatible variance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25385\"\u003e#25385\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore and reject annotations on non-name targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25324\"\u003e#25324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer class attributes assigned by metaclass initialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25342\"\u003e#25342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject inconsistent generic bases in \u0026quot;dynamic\u0026quot; classes created using \u003ccode\u003etype(...)\u003c/code\u003e, \u003ccode\u003etypes.new_type(...)\u003c/code\u003e, etc. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25413\"\u003e#25413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve enum names for all unions arms in \u003ccode\u003eLiteral\u003c/code\u003e enum subsets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25379\"\u003e#25379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.TypeForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25334\"\u003e#25334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many issues in the generics solver by using constraint sets more widely to solve type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24540\"\u003e#24540\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/anuraaga\"\u003e\u003ccode\u003e@​anuraaga\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\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/Dev-X25874\"\u003e\u003ccode\u003e@​Dev-X25874\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.40\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.40/ty-installer.sh | sh\r\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.40/ty-installer.ps1 | iex\u0026quot;\r\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/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.40\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept complete enum-literal alias unions as enums (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25341\"\u003e#25341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix diagnostics in ignored folders after adding new files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25236\"\u003e#25236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow \u003ccode\u003eLiteralString\u003c/code\u003e when hovering over an inline of a literal string in an IDE (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25373\"\u003e#25373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFollow aliases when attempting to map a definition in a stub file to its \u0026quot;real\u0026quot; runtime definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25328\"\u003e#25328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat Python notebook text documents as Python sources (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25393\"\u003e#25393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix autocompletion for elements inside incomplete list comprehensions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25326\"\u003e#25326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a subdiagnostic help message to \u003ccode\u003einvalid-generic-class\u003c/code\u003e diagnostics regarding incompatible variance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25385\"\u003e#25385\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore and reject annotations on non-name targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25324\"\u003e#25324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer class attributes assigned by metaclass initialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25342\"\u003e#25342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject inconsistent generic bases in \u0026quot;dynamic\u0026quot; classes created using \u003ccode\u003etype(...)\u003c/code\u003e, \u003ccode\u003etypes.new_type(...)\u003c/code\u003e, etc. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25413\"\u003e#25413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve enum names for all unions arms in \u003ccode\u003eLiteral\u003c/code\u003e enum subsets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25379\"\u003e#25379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003etyping.TypeForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25334\"\u003e#25334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix many issues in the generics solver by using constraint sets more widely to solve type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24540\"\u003e#24540\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/anuraaga\"\u003e\u003ccode\u003e@​anuraaga\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\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/Dev-X25874\"\u003e\u003ccode\u003e@​Dev-X25874\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/ty/commit/7b95bc219d1dcebc3ce39d222c66c14a3825c9a0\"\u003e\u003ccode\u003e7b95bc2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.40 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3554\"\u003e#3554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/54c7498ec94de87135edb8b54c311b54d30ec534\"\u003e\u003ccode\u003e54c7498\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3546\"\u003e#3546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/0d8540acdbf1340af95a2f364b9fd7d3b6bba3a8\"\u003e\u003ccode\u003e0d8540a\u003c/code\u003e\u003c/a\u003e docs: set Eglot \u003ccode\u003e:language-id\u003c/code\u003e so ty works with \u003ccode\u003epython-base-mode\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3532\"\u003e#3532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/8f1cee048254accb008fc391428b9c3139cebb2f\"\u003e\u003ccode\u003e8f1cee0\u003c/code\u003e\u003c/a\u003e scripts/update_schemastore: add text=True to git revision check_output calls ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/32b654a899f1c2cffd9909a89fec19ec53af2d9d\"\u003e\u003ccode\u003e32b654a\u003c/code\u003e\u003c/a\u003e docs: add Flycheck note to Emacs editor integration (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3528\"\u003e#3528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/4e1b4e72018457d0cea0efa818ecccd63b3f3f01\"\u003e\u003ccode\u003e4e1b4e7\u003c/code\u003e\u003c/a\u003e docs: fix broken link and minor wording in suppression.md (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3527\"\u003e#3527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.39...0.0.40\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.4.1 to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.3\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.3\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.3/prek-i686-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-27.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevbev\"\u003e\u003ccode\u003e@​stevbev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/j178/prek/commit/02bb73f2be5539f3a1d219e74ad2ba344a633758\"\u003e\u003ccode\u003e02bb73f\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0f64ff91cf2a0934c30407522b93058c8d70cc6c\"\u003e\u003ccode\u003e0f64ff9\u003c/code\u003e\u003c/a\u003e Ignore stat-only hook rewrites (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.1...v0.4.3\"\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/ZYLVEXT/litestar-auth/pull/21","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZYLVEXT%2Flitestar-auth/issues/21","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/21/packages"}},{"old_version":"0.4.0","new_version":"0.4.2","update_type":"patch","path":null,"pr_created_at":"2026-05-26T19:42:04.000Z","version_change":"0.4.0 → 0.4.2","issue":{"uuid":"4526994283","node_id":"PR_kwDOHOQPss7fjNz6","number":1261,"state":"closed","title":"Bump prek from 0.4.0 to 0.4.2","user":"dependabot[bot]","labels":["dependencies"],"assignees":["Vaskivskyi"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-27T14:43:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-26T19:42:04.000Z","updated_at":"2026-05-27T14:43:33.000Z","time_to_close":68486,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.4.0","new_version":"0.4.2","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.4.0 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake rustup install profile configurable (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize diff checks for clean worktrees (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2109\"\u003e#2109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip diff checks for read-only hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2108\"\u003e#2108\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Carlomus\"\u003e\u003ccode\u003e@​Carlomus\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-26.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e0.4.2 is mainly about making \u003ccode\u003eprek run\u003c/code\u003e faster in large repos.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprek\u003c/code\u003e now does less \u003ccode\u003egit diff\u003c/code\u003e work. After hooks run, \u003ccode\u003eprek\u003c/code\u003e uses diff checks\nto detect files changed by hooks. If a hook modifies files, prek marks that hook\nas failed. That is important, but full diff snapshots can be slow in big repos,\nespecially when they happen after every hook group.\u003c/p\u003e\n\u003cp\u003eWe skip the expensive diff path in two common cases: built-in hooks that prek\nknows are read-only, and clean worktrees where a cheap dirty check is enough\nunless a hook actually changes files. In the right large-repo workload,\nskipping that work can make runs up to 10x faster.\u003c/p\u003e\n\u003cp\u003eWorkspace mode is faster too. Hooks have historically been too serial.\nPriority-based concurrency helped, but it required users to choose good\n\u003ccode\u003epriority\u003c/code\u003e values. Now sibling projects at the same workspace depth run in\nparallel automatically. Their files do not overlap, so this is safe and needs\nno extra config. For multi-project workspaces, this can dramatically reduce\ntotal hook time.\u003c/p\u003e\n\u003ch3\u003eSponsorship\u003c/h3\u003e\n\u003cp\u003eIf \u003ccode\u003eprek\u003c/code\u003e saves time for you or your team, please consider sponsoring the\nproject on \u003ca href=\"https://github.com/sponsors/j178\"\u003eGitHub Sponsors\u003c/a\u003e. It helps keep\nnew features, performance work, and maintenance moving.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake rustup install profile configurable (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize diff checks for clean worktrees (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2109\"\u003e#2109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip diff checks for read-only hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2108\"\u003e#2108\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Carlomus\"\u003e\u003ccode\u003e@​Carlomus\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\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/j178/prek/commit/de77cc91be8e5a021f6308d6d85c14f73492fe60\"\u003e\u003ccode\u003ede77cc9\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c54be46c21685a0139e966052153b4636cb43afb\"\u003e\u003ccode\u003ec54be46\u003c/code\u003e\u003c/a\u003e Simplify hook progress folding (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/e908f821fb326878621511b36587c881e50d97f8\"\u003e\u003ccode\u003ee908f82\u003c/code\u003e\u003c/a\u003e Add link to comprehensive list of open-source projects using prek (\u003ca href=\"https://redirect.github.com/j178/prek/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7cd6ba4dd9abff3dbf8ed4cd5514405468321053\"\u003e\u003ccode\u003e7cd6ba4\u003c/code\u003e\u003c/a\u003e Run same-depth projects concurrently (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/bbb381038f9fa3531e7feff47ad1bc9d0d9dc5a7\"\u003e\u003ccode\u003ebbb3810\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2123\"\u003e#2123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7d5282ca7653e877daf7df58cc3d2ce908dae920\"\u003e\u003ccode\u003e7d5282c\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to 0.40 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/97130ea81b5081ada2e9d6bd3d2f452b7aff7c1b\"\u003e\u003ccode\u003e97130ea\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.14 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/480f4bfe81d1c723ffaa3e2e73b70eeec16a935e\"\u003e\u003ccode\u003e480f4bf\u003c/code\u003e\u003c/a\u003e Update pre-commit hook crate-ci/typos to v1.46.2 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2120\"\u003e#2120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/8686776c62e27eb45e60f40bb27cda25bcc151fc\"\u003e\u003ccode\u003e8686776\u003c/code\u003e\u003c/a\u003e Update dependency PyO3/maturin to v1.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2117\"\u003e#2117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c1467f217a90ac18982ce9a2f41332537b611743\"\u003e\u003ccode\u003ec1467f2\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.0...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.4.0\u0026new-version=0.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Vaskivskyi/ha-asusrouter/pull/1261","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vaskivskyi%2Fha-asusrouter/issues/1261","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1261/packages"}},{"old_version":"0.4.0","new_version":"0.4.1","update_type":"patch","path":null,"pr_created_at":"2026-05-24T19:45:30.000Z","version_change":"0.4.0 → 0.4.1","issue":{"uuid":"4512719141","node_id":"PR_kwDORz44is7e1I3V","number":20,"state":"open","title":"chore(deps): bump the uv-minor-patch group with 7 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-05-24T19:45:30.000Z","updated_at":"2026-05-28T04:00:15.044Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv-minor-patch","update_count":7,"packages":[{"name":"litestar","old_version":"2.21.1","new_version":"2.22.0","repository_url":"https://github.com/litestar-org/litestar"},{"name":"advanced-alchemy","old_version":"1.9.3","new_version":"1.10.0","repository_url":"https://github.com/litestar-org/advanced-alchemy"},{"name":"pyjwt","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.37","new_version":"0.0.39","repository_url":"https://github.com/astral-sh/ty"},{"name":"prek","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/j178/prek"},{"name":"zensical","old_version":"0.0.42","new_version":"0.0.43","repository_url":"https://github.com/zensical/zensical"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-minor-patch group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [litestar](https://github.com/litestar-org/litestar) | `2.21.1` | `2.22.0` |\n| [advanced-alchemy](https://github.com/litestar-org/advanced-alchemy) | `1.9.3` | `1.10.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.1` | `2.13.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.14` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.37` | `0.0.39` |\n| [prek](https://github.com/j178/prek) | `0.4.0` | `0.4.1` |\n| [zensical](https://github.com/zensical/zensical) | `0.0.42` | `0.0.43` |\n\nUpdates `litestar` from 2.21.1 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/litestar-org/litestar/releases\"\u003elitestar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.22.0\u003c/h2\u003e\n\u003ch2\u003eSponsors 🌟\u003c/h2\u003e\n\u003cp\u003eThanks to these incredible business sponsors:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://scalar.com/\"\u003eScalar\u003c/a\u003e (\u003ca href=\"https://github.com/scalar\"\u003e\u003ccode\u003e@​scalar\u003c/code\u003e\u003c/a\u003e), \u003ca href=\"https://telemetrysports.com/\"\u003eTelemetry Sports\u003c/a\u003e (via \u003ca href=\"https://github.com/chris-telemetry\"\u003e\u003ccode\u003e@​chris-telemetry\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to these incredible personal sponsors:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://polar.sh/\"\u003ePolar.sh\u003c/a\u003e: \u003ca href=\"https://github.com/Nozavi\"\u003e\u003ccode\u003e@​Nozavi\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cemrehancavdar\"\u003e\u003ccode\u003e@​cemrehancavdar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/thomastu\"\u003e\u003ccode\u003e@​thomastu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sponsors/litestar-org/\"\u003eGitHub Sponsors\u003c/a\u003e: \u003ca href=\"https://github.com/ddahan\"\u003e\u003ccode\u003e@​ddahan\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/roboflow\"\u003e\u003ccode\u003e@​roboflow\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cbscsm\"\u003e\u003ccode\u003e@​cbscsm\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/scalar\"\u003e\u003ccode\u003e@​scalar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/benjamin-kirkbride\"\u003e\u003ccode\u003e@​benjamin-kirkbride\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://opencollective.com/litestar\"\u003eOpenCollective\u003c/a\u003e: Christian Y, Shaun Wah, Jordan Russel\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/maksimzayats\"\u003e\u003ccode\u003e@​maksimzayats\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/litestar-org/litestar/pull/4636\"\u003elitestar-org/litestar#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/worksbyfriday\"\u003e\u003ccode\u003e@​worksbyfriday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/litestar-org/litestar/pull/4605\"\u003elitestar-org/litestar#4605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pavdwest\"\u003e\u003ccode\u003e@​pavdwest\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/litestar-org/litestar/pull/4676\"\u003elitestar-org/litestar#4676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/infraAnchor\"\u003e\u003ccode\u003e@​infraAnchor\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/litestar-org/litestar/pull/4659\"\u003elitestar-org/litestar#4659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://docs.litestar.dev/2/release-notes/changelog.html#2.22.0\"\u003ehttps://docs.litestar.dev/2/release-notes/changelog.html#2.22.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/litestar-org/litestar/compare/v2.21.1...v2.22.0\"\u003ehttps://github.com/litestar-org/litestar/compare/v2.21.1...v2.22.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/litestar-org/litestar/commit/2f80070e237bde0a5c8035efde1ffebb1b949271\"\u003e\u003ccode\u003e2f80070\u003c/code\u003e\u003c/a\u003e fix: 3.9 typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/6930a20ceb543912cd651b42deae5b9f3637a262\"\u003e\u003ccode\u003e6930a20\u003c/code\u003e\u003c/a\u003e fix: ignore x-allowed-hosts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/299a5845d2e9a067ed7fb716fecf518cfed8b67b\"\u003e\u003ccode\u003e299a584\u003c/code\u003e\u003c/a\u003e fix: Ensure 'csrf_input' is properly escaped before rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/a1d51b95a08fc71545ad5861c47dc9ede075ec1b\"\u003e\u003ccode\u003ea1d51b9\u003c/code\u003e\u003c/a\u003e feat(core): Introduce explicit parameter declarations with generics (\u003ca href=\"https://redirect.github.com/litestar-org/litestar/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/a8095beb8e78418189ce3bdd803596733833e0f3\"\u003e\u003ccode\u003ea8095be\u003c/code\u003e\u003c/a\u003e chore: Typing fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/2d9f742ccf7077c7b5c31256cb68c299423cf31c\"\u003e\u003ccode\u003e2d9f742\u003c/code\u003e\u003c/a\u003e chore: add Python 3.14 classifier to pyproject.toml (\u003ca href=\"https://redirect.github.com/litestar-org/litestar/issues/4776\"\u003e#4776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/45c0ef9b3aa340d365269fc5425f7e1558c61db5\"\u003e\u003ccode\u003e45c0ef9\u003c/code\u003e\u003c/a\u003e fix(request): content-length check incompatible with decompression middleware...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/693649e962dd77b0ec9eda3ecb36afe92299dc04\"\u003e\u003ccode\u003e693649e\u003c/code\u003e\u003c/a\u003e ci: Remove codeql (\u003ca href=\"https://redirect.github.com/litestar-org/litestar/issues/4706\"\u003e#4706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/bf891515be12f03bb122319c2cb9b716c4aa2118\"\u003e\u003ccode\u003ebf89151\u003c/code\u003e\u003c/a\u003e test: Remove deprecated \u003ccode\u003easyncio.WindowsSelectorEventLoopPolicy\u003c/code\u003e  (\u003ca href=\"https://redirect.github.com/litestar-org/litestar/issues/4704\"\u003e#4704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/litestar/commit/f17780a00542959231322da01049b7157329aad8\"\u003e\u003ccode\u003ef17780a\u003c/code\u003e\u003c/a\u003e docs(usage/excluding-and-including-endpoints): fix misleading regex examples ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/litestar-org/litestar/compare/v2.21.1...v2.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `advanced-alchemy` from 1.9.3 to 1.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/litestar-org/advanced-alchemy/releases\"\u003eadvanced-alchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003ch3\u003eNew features 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: configurable serialization with Protocol-based architecture by \u003ca href=\"https://github.com/cofin\"\u003e\u003ccode\u003e@​cofin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/716\"\u003elitestar-org/advanced-alchemy#716\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(litestar): Update to new-style parameter markers by \u003ca href=\"https://github.com/provinzkraut\"\u003e\u003ccode\u003e@​provinzkraut\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/736\"\u003elitestar-org/advanced-alchemy#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add support for UUID6 and UUID7 based on Python version by \u003ca href=\"https://github.com/lajxw\"\u003e\u003ccode\u003e@​lajxw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/714\"\u003elitestar-org/advanced-alchemy#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: deprecate \u003ccode\u003elist()\u003c/code\u003e/\u003ccode\u003elist_and_count()\u003c/code\u003e by \u003ca href=\"https://github.com/cofin\"\u003e\u003ccode\u003e@​cofin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/706\"\u003elitestar-org/advanced-alchemy#706\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: register session listeners in framework extension configs by \u003ca href=\"https://github.com/hasansezertasan\"\u003e\u003ccode\u003e@​hasansezertasan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/712\"\u003elitestar-org/advanced-alchemy#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: docs preview workflow by \u003ca href=\"https://github.com/Harshal6927\"\u003e\u003ccode\u003e@​Harshal6927\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/718\"\u003elitestar-org/advanced-alchemy#718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config): add cache_config field to SQLAlchemy configs by \u003ca href=\"https://github.com/hasansezertasan\"\u003e\u003ccode\u003e@​hasansezertasan\u003c/code\u003e\u003c/a\u003e  in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/731\"\u003elitestar-org/advanced-alchemy#731\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/lajxw\"\u003e\u003ccode\u003e@​lajxw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/714\"\u003elitestar-org/advanced-alchemy#714\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: migrate object storage tests to rustfs by \u003ca href=\"https://github.com/cofin\"\u003e\u003ccode\u003e@​cofin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/732\"\u003elitestar-org/advanced-alchemy#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: centralize optional-dependency typing shims by \u003ca href=\"https://github.com/cofin\"\u003e\u003ccode\u003e@​cofin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/pull/719\"\u003elitestar-org/advanced-alchemy#719\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e\n\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/compare/v1.9.3...v1.10.0\"\u003ehttps://github.com/litestar-org/advanced-alchemy/compare/v1.9.3...v1.10.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/litestar-org/advanced-alchemy/blob/main/docs/changelog.rst\"\u003eadvanced-alchemy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e:orphan:\u003c/p\u003e\n\u003ch1\u003e1.x Changelog\u003c/h1\u003e\n\u003cp\u003e.. changelog:: 1.10.0\n:date: 2026-05-23\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e.. change:: configurable serialization with Protocol-based architecture\n    :type: feature\n    :pr: 716\n\u003cpre\u003e\u003ccode\u003eAdds ``advanced_alchemy.utils.serialization`` as the canonical home for\nJSON serialization, schema dumping, and schema/type guards. JSON\nencoding can now use msgspec, orjson, or the standard library with\nconfigurable type encoders, reversible complex-type markers, and\nLitestar encoder/decoder integration.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e.. change:: update Litestar integrations to new-style parameter markers\u003cbr /\u003e\n:type: feature\u003cbr /\u003e\n:pr: 736\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdates the Litestar extension and examples to use Litestar's new\nparameter marker style for generated dependency and filter parameters.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e.. change:: add UUID6 and UUID7 support based on Python version\u003cbr /\u003e\n:type: feature\u003cbr /\u003e\n:pr: 714\u003cbr /\u003e\n:issue: 713\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eAdds UUID6 and UUID7 primary-key support, using the standard library\nimplementation when available and falling back to the existing\ncompatibility dependency on older Python versions.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e.. change:: deprecate \u003ccode\u003elist()\u003c/code\u003e/\u003ccode\u003elist_and_count()\u003c/code\u003e\u003cbr /\u003e\n:type: feature\u003cbr /\u003e\n:pr: 706\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eAdds ``get_many()`` and ``get_many_and_count()`` as the preferred APIs\nacross repositories, services, memory repositories, query repositories,\nand cache managers. The older ``list()`` and ``list_and_count()`` names\nremain available as deprecation wrappers until 2.0.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e.. change:: configure repository caching from SQLAlchemy configs\u003cbr /\u003e\n:type: feature\u003cbr /\u003e\n:pr: 731\u003cbr /\u003e\n:issue: 730\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eAdds ``cache_config`` and ``cache_manager`` support to SQLAlchemy config\nobjects. Configured cache managers are stored in ``session.info`` so\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/83ec1175f1d5fa933a6df7a0003172279086f2d1\"\u003e\u003ccode\u003e83ec117\u003c/code\u003e\u003c/a\u003e fix(config): add cache_config field to SQLAlchemy configs (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/ed8c46b8b351975a7deb7a4be24e5ed6fd06a2ee\"\u003e\u003ccode\u003eed8c46b\u003c/code\u003e\u003c/a\u003e chore: updated changelog (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/e87371b1bea495562d02609cb2f187603798db24\"\u003e\u003ccode\u003ee87371b\u003c/code\u003e\u003c/a\u003e feat: configurable serialization with Protocol-based architecture (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/0d84a85e7ad38456b61dd5c7e6fd84f3873d9620\"\u003e\u003ccode\u003e0d84a85\u003c/code\u003e\u003c/a\u003e feat(litestar): Update to new-style parameter markers (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/736\"\u003e#736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/955df1dd154dd0e69b02c62541abf1200b408189\"\u003e\u003ccode\u003e955df1d\u003c/code\u003e\u003c/a\u003e test: migrate object storage tests to rustfs (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/a6e275d889ec376d1cc942193fc56cf356a8fddf\"\u003e\u003ccode\u003ea6e275d\u003c/code\u003e\u003c/a\u003e feat: Add support for UUID6 and UUID7 based on Python version (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/714\"\u003e#714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/c3d3e2eb5653d14abc870e3471d7c6add56f58ff\"\u003e\u003ccode\u003ec3d3e2e\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 1.26.20 to 2.6.3 in the uv group across 1 dire...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/f2b90e9bd6d19a782f8b4ac13e00d1656cd11847\"\u003e\u003ccode\u003ef2b90e9\u003c/code\u003e\u003c/a\u003e fix: register session listeners in framework extension configs (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/712\"\u003e#712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/f4c409ee21687025eeea8446ec007300d1fe60a5\"\u003e\u003ccode\u003ef4c409e\u003c/code\u003e\u003c/a\u003e refactor: centralize optional-dependency typing shims (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/719\"\u003e#719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/litestar-org/advanced-alchemy/commit/437d56efc5c5664d6f0acc2fb7417bb9766942df\"\u003e\u003ccode\u003e437d56e\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/github-script from 8 to 9 (\u003ca href=\"https://redirect.github.com/litestar-org/advanced-alchemy/issues/710\"\u003e#710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/litestar-org/advanced-alchemy/compare/v1.9.3...v1.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyjwt` from 2.12.1 to 2.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jpadilla/pyjwt/releases\"\u003epyjwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.13.0\u003c/h2\u003e\n\u003ch1\u003ePyJWT 2.13.0 — Security Release\u003c/h1\u003e\n\u003cp\u003eThis release bundles five security fixes plus three additional hardening / spec-compliance changes. We recommend all users upgrade.\u003c/p\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx\"\u003e\u003ccode\u003eGHSA-xgmm-8j9v-c9wx\u003c/code\u003e\u003c/a\u003e — JWK JSON accepted as HMAC secret (algorithm confusion).\u003c/strong\u003e \u003ccode\u003eHMACAlgorithm.prepare_key\u003c/code\u003e previously rejected PEM- and SSH-formatted asymmetric keys but did not catch a JWK passed as a raw JSON string. In a verifier configured with both symmetric and asymmetric algorithms in \u003ccode\u003ealgorithms=[…]\u003c/code\u003e and a raw-JSON JWK as the key, an attacker could forge HS256 tokens using the JWK text as the HMAC secret. The guard has been extended to reject any JWK-shaped JSON. \u003cem\u003eReported by \u003ca href=\"https://github.com/aradona91\"\u003e\u003ccode\u003e@​aradona91\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-jq35-7prp-9v3f\"\u003e\u003ccode\u003eGHSA-jq35-7prp-9v3f\u003c/code\u003e\u003c/a\u003e — Algorithm allow-list bypass with \u003ccode\u003ePyJWK\u003c/code\u003e / \u003ccode\u003ePyJWKClient\u003c/code\u003e.\u003c/strong\u003e When verifying with a \u003ccode\u003ePyJWK\u003c/code\u003e, the caller's \u003ccode\u003ealgorithms=[…]\u003c/code\u003e allow-list was checked against the token header \u003ccode\u003ealg\u003c/code\u003e as a string only; actual verification used the algorithm bound to the \u003ccode\u003ePyJWK\u003c/code\u003e. An attacker who controlled a registered JWKS key could sign with one algorithm and advertise another on the header. PyJWT now requires the token header \u003ccode\u003ealg\u003c/code\u003e to match the \u003ccode\u003ePyJWK\u003c/code\u003e's algorithm before verification. \u003cem\u003eReported by \u003ca href=\"https://github.com/sushi-gif\"\u003e\u003ccode\u003e@​sushi-gif\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39\"\u003e\u003ccode\u003eGHSA-w7vc-732c-9m39\u003c/code\u003e\u003c/a\u003e — DoS via base64 decode of unused payload segment when \u003ccode\u003eb64=false\u003c/code\u003e.\u003c/strong\u003e For detached-payload JWS (\u003ccode\u003eb64=false\u003c/code\u003e), the compact-form payload segment was base64-decoded before being discarded in favor of the caller-supplied \u003ccode\u003edetached_payload\u003c/code\u003e. An attacker could inflate the unused segment to force CPU + memory cost without holding a valid signature. The segment is now required to be empty per RFC 7515 Appendix F, and is no longer decoded. \u003cem\u003eReported by \u003ca href=\"https://github.com/thesmartshadow\"\u003e\u003ccode\u003e@​thesmartshadow\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4\"\u003e\u003ccode\u003eGHSA-993g-76c3-p5m4\u003c/code\u003e\u003c/a\u003e — \u003ccode\u003ePyJWKClient\u003c/code\u003e accepts non-HTTP(S) URIs.\u003c/strong\u003e \u003ccode\u003ePyJWKClient.fetch_data\u003c/code\u003e passed its URI to \u003ccode\u003eurllib.request.urlopen\u003c/code\u003e, which by default also handles \u003ccode\u003efile://\u003c/code\u003e, \u003ccode\u003eftp://\u003c/code\u003e, and \u003ccode\u003edata:\u003c/code\u003e schemes. An application that fed an attacker-influenced URI into \u003ccode\u003ePyJWKClient\u003c/code\u003e could be coerced into reading local files or reaching other unintended schemes. \u003ccode\u003ePyJWKClient\u003c/code\u003e now rejects any URI whose scheme isn't \u003ccode\u003ehttp\u003c/code\u003e or \u003ccode\u003ehttps\u003c/code\u003e. \u003cem\u003eReported by \u003ca href=\"https://github.com/KEIJOT\"\u003e\u003ccode\u003e@​KEIJOT\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8\"\u003e\u003ccode\u003eGHSA-fhv5-28vv-h8m8\u003c/code\u003e\u003c/a\u003e — \u003ccode\u003ePyJWKClient\u003c/code\u003e cache wiped on fetch error.\u003c/strong\u003e A \u003ccode\u003efinally\u003c/code\u003e-block \u003ccode\u003eput(jwk_set=None)\u003c/code\u003e cleared the JWK Set cache whenever a fetch raised, turning a transient JWKS-endpoint outage into application-wide auth failure. The cache write was moved into the success path; transient errors no longer evict valid cached keys. \u003cem\u003eReported by \u003ca href=\"https://github.com/eddieran\"\u003e\u003ccode\u003e@​eddieran\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReject empty HMAC keys outright in \u003ccode\u003eHMACAlgorithm.prepare_key\u003c/code\u003e with \u003ccode\u003eInvalidKeyError\u003c/code\u003e instead of accepting them with only a warning. Defends against the \u003ccode\u003eos.getenv(\u0026quot;JWT_SECRET\u0026quot;, \u0026quot;\u0026quot;)\u003c/code\u003e footgun. \u003cem\u003eThanks to \u003ca href=\"https://github.com/SnailSploit\"\u003e\u003ccode\u003e@​SnailSploit\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/spartan8806\"\u003e\u003ccode\u003e@​spartan8806\u003c/code\u003e\u003c/a\u003e for the reports.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003eForward per-call \u003ccode\u003eoptions\u003c/code\u003e (including \u003ccode\u003eenforce_minimum_key_length\u003c/code\u003e) from \u003ccode\u003ePyJWT.decode\u003c/code\u003e through to \u003ccode\u003ePyJWS._verify_signature\u003c/code\u003e. The option was previously silently dropped between the two layers, so it only took effect when set on the \u003ccode\u003ePyJWT\u003c/code\u003e instance. \u003cem\u003eThanks to \u003ca href=\"https://github.com/WLUB\"\u003e\u003ccode\u003e@​WLUB\u003c/code\u003e\u003c/a\u003e for the report.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRFC 7797 §3 compliance for \u003ccode\u003eb64=false\u003c/code\u003e:\u003c/strong\u003e the encoder now auto-adds \u003ccode\u003e\u0026quot;b64\u0026quot;\u003c/code\u003e to \u003ccode\u003ecrit\u003c/code\u003e, and the decoder rejects tokens that set \u003ccode\u003eb64=false\u003c/code\u003e without listing it in \u003ccode\u003ecrit\u003c/code\u003e. \u003cem\u003eThanks to \u003ca href=\"https://github.com/MachineLearning-Nerd\"\u003e\u003ccode\u003e@​MachineLearning-Nerd\u003c/code\u003e\u003c/a\u003e for the report.\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate the \u003ccode\u003edev\u003c/code\u003e, \u003ccode\u003edocs\u003c/code\u003e, and \u003ccode\u003etests\u003c/code\u003e package extras to dependency groups, by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1152\"\u003e#1152\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpgrade notes\u003c/h2\u003e\n\u003cp\u003eMost fixes are invisible to correctly-configured callers. A few behavioral changes you may encounter:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eEmpty HMAC keys now raise.\u003c/strong\u003e If your app passed \u003ccode\u003e\u0026quot;\u0026quot;\u003c/code\u003e or \u003ccode\u003eb\u0026quot;\u0026quot;\u003c/code\u003e as a secret (often via a missing env var, e.g. \u003ccode\u003eos.getenv(\u0026quot;JWT_SECRET\u0026quot;, \u0026quot;\u0026quot;)\u003c/code\u003e), \u003ccode\u003eencode\u003c/code\u003e/\u003ccode\u003edecode\u003c/code\u003e will now raise \u003ccode\u003eInvalidKeyError\u003c/code\u003e. This is the intended behavior — fix the configuration.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ePyJWK\u003c/code\u003e decoding now requires the token's \u003ccode\u003ealg\u003c/code\u003e to match the JWK's algorithm.\u003c/strong\u003e Previously a mismatch was silently honored if the header \u003ccode\u003ealg\u003c/code\u003e appeared in the allow-list. Tokens that relied on this mismatch will now fail with \u003ccode\u003eInvalidAlgorithmError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ePyJWKClient\u003c/code\u003e now rejects non-HTTP(S) URIs at construction time.\u003c/strong\u003e Tests or dev environments that fetched JWKS from \u003ccode\u003efile://\u003c/code\u003e URIs need to switch to a local HTTP server or load the JWKS by other means (e.g. construct \u003ccode\u003ePyJWKSet.from_dict(...)\u003c/code\u003e directly).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eb64=false\u003c/code\u003e tokens are now strictly RFC 7515 / 7797 compliant.\u003c/strong\u003e Tokens with a non-empty compact-form payload segment, or that omit \u003ccode\u003e\u0026quot;b64\u0026quot;\u003c/code\u003e from \u003ccode\u003ecrit\u003c/code\u003e, will be rejected. PyJWT-produced tokens always satisfy both invariants, so round-trips through PyJWT are unaffected.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eenforce_minimum_key_length\u003c/code\u003e set per-call now takes effect.\u003c/strong\u003e Callers who passed \u003ccode\u003eoptions={\u0026quot;enforce_minimum_key_length\u0026quot;: True}\u003c/code\u003e to \u003ccode\u003ejwt.decode()\u003c/code\u003e previously got no enforcement; they will now get \u003ccode\u003eInvalidKeyError\u003c/code\u003e on undersized keys, as documented.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0\"\u003ehttps://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.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/jpadilla/pyjwt/blob/master/CHANGELOG.rst\"\u003epyjwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003ev2.13.0 \u0026lt;https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0\u0026gt;\u003c/code\u003e__\u003c/h2\u003e\n\u003cp\u003eSecurity\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Reject JWK JSON documents passed as raw HMAC secrets in\n  ``HMACAlgorithm.prepare_key`` to close an algorithm-confusion gap that\n  the existing PEM/SSH guard did not cover. Reported by @aradona91 in\n  `GHSA-xgmm-8j9v-c9wx \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx\u0026gt;`__.\n- Bind the JWT header ``alg`` to ``PyJWK.algorithm_name`` during\n  verification so the caller's ``algorithms=[...]`` allow-list cannot be\n  bypassed when decoding with a ``PyJWK`` / ``PyJWKClient`` key. Reported\n  by @sushi-gif in `GHSA-jq35-7prp-9v3f \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-jq35-7prp-9v3f\u0026gt;`__.\n- Reject non-``http(s)`` URI schemes in ``PyJWKClient`` so attacker-\n  influenced URIs cannot read local files or reach unintended schemes via\n  urllib's default ``file://`` / ``ftp://`` / ``data:`` handlers. Reported\n  by @KEIJOT in `GHSA-993g-76c3-p5m4 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4\u0026gt;`__.\n- Preserve the cached JWK Set on fetch errors in ``PyJWKClient.fetch_data``.\n  The previous ``finally``-block ``put(None)`` pattern cleared the cache\n  on any transient outage, turning one bad JWKS request into application-\n  wide auth failure. Reported by @eddieran in `GHSA-fhv5-28vv-h8m8 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8\u0026gt;`__.\n- Skip the unconditional base64 decode of the compact-form payload segment\n  when ``b64=false`` is set in the protected header, and require that\n  segment to be empty (RFC 7515 Appendix F detached form). Closes an\n  unauthenticated DoS amplifier. Reported by @thesmartshadow in\n  `GHSA-w7vc-732c-9m39 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39\u0026gt;`__.\n\u003cp\u003eFixed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Reject empty HMAC keys outright in ``HMACAlgorithm.prepare_key`` with\n  ``InvalidKeyError`` instead of accepting them with only a warning.\n  Thanks to @SnailSploit and @spartan8806 for independently flagging the\n  footgun.\n- Forward per-call ``options`` (including ``enforce_minimum_key_length``)\n  from ``PyJWT.decode`` through to ``PyJWS._verify_signature`` so the\n  option actually takes effect when set at the call site rather than only\n  on the ``PyJWT`` instance. Thanks to @WLUB for the report.\n- RFC 7797 §3 compliance for ``b64=false``: the encoder now auto-adds\n  ``\u0026amp;quot;b64\u0026amp;quot;`` to the ``crit`` header parameter, and the decoder rejects\n  tokens that set ``b64=false`` without listing it in ``crit``. Thanks to\n  @MachineLearning-Nerd for the report.\n\nChanged\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate the \u003ccode\u003edev\u003c/code\u003e, \u003ccode\u003edocs\u003c/code\u003e, and \u003ccode\u003etests\u003c/code\u003e package extras to dependency groups by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ccode\u003e[#1152](https://github.com/jpadilla/pyjwt/issues/1152) \u0026amp;lt;https://github.com/jpadilla/pyjwt/pull/1152\u0026amp;gt;\u003c/code\u003e__\n\u003c/code\u003e\u003c/pre\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/jpadilla/pyjwt/commit/7144e4534c34810f4525dc4578a32addd8212cff\"\u003e\u003ccode\u003e7144e45\u003c/code\u003e\u003c/a\u003e Apply ruff format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/d2f4bec4963897c0ef96ef64a875894f2c8542ab\"\u003e\u003ccode\u003ed2f4bec\u003c/code\u003e\u003c/a\u003e Restore \u003ccode\u003ecast()\u003c/code\u003e calls with cross-version \u003ccode\u003etype: ignore\u003c/code\u003e for \u003ccode\u003eprepare_key\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/22f478cebddd8294259c30f037ecb92b0b348774\"\u003e\u003ccode\u003e22f478c\u003c/code\u003e\u003c/a\u003e Remove redundant casts in \u003ccode\u003eRSAAlgorithm.prepare_key\u003c/code\u003e and `ECAlgorithm.prepare...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/95791b1759b8aa4f2203575d344d5c78564cdc81\"\u003e\u003ccode\u003e95791b1\u003c/code\u003e\u003c/a\u003e Bundle security fixes and hardening into 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/dcc27a9d3182a2349c30b160758785c6ce7a6508\"\u003e\u003ccode\u003edcc27a9\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/9d08a9a1896845ed8eaf88e6f6ac61e5800c3e7a\"\u003e\u003ccode\u003e9d08a9a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/b87c10014d4109f0214fea188d00faaaf8a80e64\"\u003e\u003ccode\u003eb87c100\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1154\"\u003e#1154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/40e3147eb5f790d8d041772e5fc00728a176c812\"\u003e\u003ccode\u003e40e3147\u003c/code\u003e\u003c/a\u003e Migrate development extras to dependency groups (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1152\"\u003e#1152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.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.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\nUpdates `ty` from 0.0.37 to 0.0.39\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.39\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-22.\u003c/p\u003e\n\u003cp\u003eThis release removes the Python 3.9 branches from our vendored standard library stubs. ty now only has \u0026quot;full\u0026quot; support for\nPython 3.10 and later, but will still report version-specific syntax errors and other diagnostics when \u003ccode\u003e--python-version 3.9\u003c/code\u003e\nis provided via the CLI.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panicking on \u003ccode\u003e__new__\u003c/code\u003e assignments to classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25282\"\u003e#25282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve declaration order when synthesizing class fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25249\"\u003e#25249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003edict\u003c/code\u003e-compatible fallbacks in TypedDict unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25242\"\u003e#25242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRetain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Quick Fix to remove redundant cast (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25211\"\u003e#25211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClassify property declaration semantic tokens (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25322\"\u003e#25322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEscape HTML syntax in docstring rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25247\"\u003e#25247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer symbols from standard library over those of the same name from third party libraries for import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25108\"\u003e#25108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type aliases in document symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25302\"\u003e#25302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd error context for extra callable parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25269\"\u003e#25269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid exponential blow-up in fall-through narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25278\"\u003e#25278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up include filtering for projects with many literal include patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25266\"\u003e#25266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit a diagnostic for subclassing with \u003ccode\u003eorder=True\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21704\"\u003e#21704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFull-scope bidirectional inference for unconstrained container literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25279\"\u003e#25279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003edict(TypedDict)\u003c/code\u003e as \u003ccode\u003edict[str, object]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24852\"\u003e#24852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject incompatible explicit variance in generic base classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25327\"\u003e#25327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi-inference through type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25245\"\u003e#25245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25271\"\u003e#25271\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25172\"\u003e#25172\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/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/sqqueak\"\u003e\u003ccode\u003e@​sqqueak\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\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.39\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-22.\u003c/p\u003e\n\u003cp\u003eThis release removes the Python 3.9 branches from our vendored standard library stubs. ty now only has \u0026quot;full\u0026quot; support for\nPython 3.10 and later, but will still report version-specific syntax errors and other diagnostics when \u003ccode\u003e--python-version 3.9\u003c/code\u003e\nis provided via the CLI.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid panicking on \u003ccode\u003e__new__\u003c/code\u003e assignments to classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25282\"\u003e#25282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve declaration order when synthesizing class fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25249\"\u003e#25249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003edict\u003c/code\u003e-compatible fallbacks in TypedDict unions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25242\"\u003e#25242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRetain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Quick Fix to remove redundant cast (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25211\"\u003e#25211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClassify property declaration semantic tokens (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25322\"\u003e#25322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEscape HTML syntax in docstring rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25247\"\u003e#25247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer symbols from standard library over those of the same name from third party libraries for import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25108\"\u003e#25108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type aliases in document symbols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25302\"\u003e#25302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd error context for extra callable parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25269\"\u003e#25269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid exponential blow-up in fall-through narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25278\"\u003e#25278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up include filtering for projects with many literal include patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25266\"\u003e#25266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit a diagnostic for subclassing with \u003ccode\u003eorder=True\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21704\"\u003e#21704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFull-scope bidirectional inference for unconstrained container literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25279\"\u003e#25279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003edict(TypedDict)\u003c/code\u003e as \u003ccode\u003edict[str, object]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24852\"\u003e#24852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject incompatible explicit variance in generic base classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25327\"\u003e#25327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi-inference through type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25245\"\u003e#25245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25271\"\u003e#25271\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25172\"\u003e#25172\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/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\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/sqqueak\"\u003e\u003ccode\u003e@​sqqueak\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/sharkdp\"\u003e\u003ccode\u003e@​sharkdp\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/0205125174c135d6fc4014244dee374678b61c72\"\u003e\u003ccode\u003e0205125\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.39 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3516\"\u003e#3516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ae8058d40e641b545bbad046c487e964206a2286\"\u003e\u003ccode\u003eae8058d\u003c/code\u003e\u003c/a\u003e Update maturin to v1.13.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3494\"\u003e#3494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/33b60f8ad0f2da648b867831548a4b8c7985647d\"\u003e\u003ccode\u003e33b60f8\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3495\"\u003e#3495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/1d3efc1d68e36a8f982fa73b1f8c2a5ebc50fcde\"\u003e\u003ccode\u003e1d3efc1\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.38 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3492\"\u003e#3492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/f5100ccde50ff577fa311add5232ae6074ed68f9\"\u003e\u003ccode\u003ef5100cc\u003c/code\u003e\u003c/a\u003e scripts/update_schemastore: use -C to allow re-running schema update on exist...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.37...0.0.39\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.4.0 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.0...v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zensical` from 0.0.42 to 0.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zensical/zensical/releases\"\u003ezensical's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis version fixes further edge cases in link validation, and adds support for UTF-8 encoding with byte-order-marks.\u003c/p\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e1e873a3 \u003cstrong\u003ecompat\u003c/strong\u003e – ignore links in code after literal dollar during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e62a0feb \u003cstrong\u003ezensical\u003c/strong\u003e – report \u003ccode\u003epath.md/#anchor\u003c/code\u003e as invalid during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e7be40c6 \u003cstrong\u003ecompat\u003c/strong\u003e – ignore GitHub-style callouts during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e85c3b1e \u003cstrong\u003ecompat\u003c/strong\u003e – ignore \u003ccode\u003e[TOC]\u003c/code\u003e marker during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edaafc8b \u003cstrong\u003ezensical\u003c/strong\u003e – filter out icons folder when watching theme directories (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e913fd61 \u003cstrong\u003ezensical\u003c/strong\u003e – strip Byte-Order-Mark (BOM) from Markdown files (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/687\"\u003e#687\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/zensical/zensical/commit/7d2178a8a9df7c559a746643ccfa34f1531f20a3\"\u003e\u003ccode\u003e7d2178a\u003c/code\u003e\u003c/a\u003e chore: release v0.0.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/35a20425ac3a30007ed2ba9e1d54bbdae98399cd\"\u003e\u003ccode\u003e35a2042\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/zensical/zensical/issues/697\"\u003e#697\u003c/a\u003e from zensical/fix/validation-regressions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/1e873a397c314843444adb68dcd5238af62dfe22\"\u003e\u003ccode\u003e1e873a3\u003c/code\u003e\u003c/a\u003e fix: ignore links in code after literal dollar during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/62a0feb8f45ed10ea3c4c9816501ff1c2245f244\"\u003e\u003ccode\u003e62a0feb\u003c/code\u003e\u003c/a\u003e fix: report \u003ccode\u003epath.md/#anchor\u003c/code\u003e as invalid during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/7be40c6ceb4407992a1d93cb6e30563b737e4724\"\u003e\u003ccode\u003e7be40c6\u003c/code\u003e\u003c/a\u003e fix: ignore GitHub-style callouts during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/85c3b1e321dc4eaa60fc7bd885a4da509e1e4127\"\u003e\u003ccode\u003e85c3b1e\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e[TOC]\u003c/code\u003e marker during link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/daafc8becba138735046b63dcf839c89c9f8c024\"\u003e\u003ccode\u003edaafc8b\u003c/code\u003e\u003c/a\u003e fix: filter out icons folder when watching theme directories (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/913fd61670ae2d1a01c76388613f6378c9431a3d\"\u003e\u003ccode\u003e913fd61\u003c/code\u003e\u003c/a\u003e fix: strip Byte-Order-Mark (BOM) from Markdown files (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/zensical/zensical/compare/v0.0.42...v0.0.43\"\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/ZYLVEXT/litestar-auth/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZYLVEXT%2Flitestar-auth/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"}},{"old_version":"0.2.30","new_version":"0.4.0","update_type":"minor","path":null,"pr_created_at":"2026-05-24T06:48:15.000Z","version_change":"0.2.30 → 0.4.0","issue":{"uuid":"4510755072","node_id":"PR_kwDOSmPucM7evVrr","number":10,"state":"open","title":"⬆ Bump prek from 0.2.30 to 0.4.0","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-05-24T06:48:15.000Z","updated_at":"2026-05-24T06:48:15.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆ Bump","packages":[{"name":"prek","old_version":"0.2.30","new_version":"0.4.0","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.2.30 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.0\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-05.\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/j178/prek/commit/b570c73d201a3a3034d56d9314591b3110cc964d\"\u003e\u003ccode\u003eb570c73\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.0 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/007b24453eafb2f4476fa461773ec44298d2636a\"\u003e\u003ccode\u003e007b244\u003c/code\u003e\u003c/a\u003e Revert pass-through of global install flags into generated hook scripts (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/b66c39cd52e3e8736e498127d96352f23c2f492d\"\u003e\u003ccode\u003eb66c39c\u003c/code\u003e\u003c/a\u003e Remove direct path support from language_version (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/321f8b8dbf53591d2220178d48334c6fa6d3295c\"\u003e\u003ccode\u003e321f8b8\u003c/code\u003e\u003c/a\u003e Drain PTY output without timeout (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2079\"\u003e#2079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0249d819f53b0017f1e7e73506f185c864b19452\"\u003e\u003ccode\u003e0249d81\u003c/code\u003e\u003c/a\u003e Migrate \u003ccode\u003estd::fs\u003c/code\u003e to \u003ccode\u003efs_err\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/99ac4fbeaa93c6cf60da89a24f07e188cde4c2e0\"\u003e\u003ccode\u003e99ac4fb\u003c/code\u003e\u003c/a\u003e Use managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7783bdc8916aba373336f7fc1956341b5a4decb2\"\u003e\u003ccode\u003e7783bdc\u003c/code\u003e\u003c/a\u003e Fix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/737b554f989f81cf605083c0cc0522c8945c0f02\"\u003e\u003ccode\u003e737b554\u003c/code\u003e\u003c/a\u003e Update pre-commit (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de896b6da294d9bb250ac64734c5738250cee765\"\u003e\u003ccode\u003ede896b6\u003c/code\u003e\u003c/a\u003e Update MSRV to v1.93.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/105d63083244fecff99d32e066dfd71109f07093\"\u003e\u003ccode\u003e105d630\u003c/code\u003e\u003c/a\u003e Update Rust crate reqwest to v0.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.2.30...v0.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.2.30\u0026new-version=0.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/wildanrustandy/money-tracker/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wildanrustandy%2Fmoney-tracker/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"0.4.0","new_version":"0.4.1","update_type":"patch","path":null,"pr_created_at":"2026-05-24T03:22:35.000Z","version_change":"0.4.0 → 0.4.1","issue":{"uuid":"4510357364","node_id":"PR_kwDOEUNzas7euLfT","number":1150,"state":"open","title":"Bump prek from 0.4.0 to 0.4.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-24T03:22:35.000Z","updated_at":"2026-05-24T03:23:12.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.4.0 to 0.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.0...v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=pip\u0026previous-version=0.4.0\u0026new-version=0.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/home-assistant-libs/aioshelly/pull/1150","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant-libs%2Faioshelly/issues/1150","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1150/packages"}},{"old_version":"0.3.9","new_version":"0.4.1","update_type":"minor","path":"/python","pr_created_at":"2026-05-23T00:02:36.000Z","version_change":"0.3.9 → 0.4.1","issue":{"uuid":"4506180397","node_id":"PR_kwDOSlW5aM7ehgXI","number":6,"state":"open","title":"Bump prek from 0.3.9 to 0.4.1 in /python","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-23T00:02:36.000Z","updated_at":"2026-05-23T00:02:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.3.9","new_version":"0.4.1","repository_url":"https://github.com/j178/prek"}],"path":"/python","ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.3.9 to 0.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.9...v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=pip\u0026previous-version=0.3.9\u0026new-version=0.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/nludd25/agent-framework/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nludd25%2Fagent-framework/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"0.2.30","new_version":"0.4.0","update_type":"minor","path":null,"pr_created_at":"2026-05-22T04:24:02.000Z","version_change":"0.2.30 → 0.4.0","issue":{"uuid":"4499799759","node_id":"PR_kwDOSkkWas7eM2Jo","number":16,"state":"open","title":"⬆ Bump prek from 0.2.30 to 0.4.0","user":"dependabot[bot]","labels":["internal"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T04:24:02.000Z","updated_at":"2026-05-22T04:24:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆ Bump","packages":[{"name":"prek","old_version":"0.2.30","new_version":"0.4.0","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.2.30 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.0\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-05.\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/j178/prek/commit/b570c73d201a3a3034d56d9314591b3110cc964d\"\u003e\u003ccode\u003eb570c73\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.0 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/007b24453eafb2f4476fa461773ec44298d2636a\"\u003e\u003ccode\u003e007b244\u003c/code\u003e\u003c/a\u003e Revert pass-through of global install flags into generated hook scripts (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/b66c39cd52e3e8736e498127d96352f23c2f492d\"\u003e\u003ccode\u003eb66c39c\u003c/code\u003e\u003c/a\u003e Remove direct path support from language_version (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/321f8b8dbf53591d2220178d48334c6fa6d3295c\"\u003e\u003ccode\u003e321f8b8\u003c/code\u003e\u003c/a\u003e Drain PTY output without timeout (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2079\"\u003e#2079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0249d819f53b0017f1e7e73506f185c864b19452\"\u003e\u003ccode\u003e0249d81\u003c/code\u003e\u003c/a\u003e Migrate \u003ccode\u003estd::fs\u003c/code\u003e to \u003ccode\u003efs_err\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/99ac4fbeaa93c6cf60da89a24f07e188cde4c2e0\"\u003e\u003ccode\u003e99ac4fb\u003c/code\u003e\u003c/a\u003e Use managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7783bdc8916aba373336f7fc1956341b5a4decb2\"\u003e\u003ccode\u003e7783bdc\u003c/code\u003e\u003c/a\u003e Fix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/737b554f989f81cf605083c0cc0522c8945c0f02\"\u003e\u003ccode\u003e737b554\u003c/code\u003e\u003c/a\u003e Update pre-commit (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de896b6da294d9bb250ac64734c5738250cee765\"\u003e\u003ccode\u003ede896b6\u003c/code\u003e\u003c/a\u003e Update MSRV to v1.93.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/105d63083244fecff99d32e066dfd71109f07093\"\u003e\u003ccode\u003e105d630\u003c/code\u003e\u003c/a\u003e Update Rust crate reqwest to v0.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.2.30...v0.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.2.30\u0026new-version=0.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/aembaye2/fastapi-tiago-lms/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aembaye2%2Ffastapi-tiago-lms/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":"\u003e=0.4.0","new_version":"\u003e=0.4.1","update_type":"patch","path":null,"pr_created_at":"2026-05-22T03:19:20.000Z","version_change":"\u003e=0.4.0 → \u003e=0.4.1","issue":{"uuid":"4499542951","node_id":"PR_kwDORwMW6c7eMB4l","number":120,"state":"closed","title":"chore(deps-dev): update prek requirement from \u003e=0.4.0 to \u003e=0.4.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-22T05:42:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-22T03:19:20.000Z","updated_at":"2026-05-22T05:42:54.000Z","time_to_close":8604,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): update","packages":[{"name":"prek","old_version":"\u003e=0.4.0","new_version":"\u003e=0.4.1","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [prek](https://github.com/j178/prek) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.0...v0.4.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 this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/kreuzberg-dev/liter-llm/pull/120","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kreuzberg-dev%2Fliter-llm/issues/120","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/120/packages"}},{"old_version":"0.3.11","new_version":"0.4.0","update_type":"minor","path":null,"pr_created_at":"2026-05-22T00:20:25.000Z","version_change":"0.3.11 → 0.4.0","issue":{"uuid":"4498778435","node_id":"PR_kwDORLhc987eJnWY","number":49,"state":"open","title":"Bump prek from 0.3.11 to 0.4.0","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T00:20:25.000Z","updated_at":"2026-05-29T02:01:35.438Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.3.11","new_version":"0.4.0","repository_url":"https://github.com/j178/prek"}],"path":null,"ecosystem":"pip"},"body":"Bumps [prek](https://github.com/j178/prek) from 0.3.11 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.0\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-05.\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/j178/prek/commit/b570c73d201a3a3034d56d9314591b3110cc964d\"\u003e\u003ccode\u003eb570c73\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.0 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/007b24453eafb2f4476fa461773ec44298d2636a\"\u003e\u003ccode\u003e007b244\u003c/code\u003e\u003c/a\u003e Revert pass-through of global install flags into generated hook scripts (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/b66c39cd52e3e8736e498127d96352f23c2f492d\"\u003e\u003ccode\u003eb66c39c\u003c/code\u003e\u003c/a\u003e Remove direct path support from language_version (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/321f8b8dbf53591d2220178d48334c6fa6d3295c\"\u003e\u003ccode\u003e321f8b8\u003c/code\u003e\u003c/a\u003e Drain PTY output without timeout (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2079\"\u003e#2079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0249d819f53b0017f1e7e73506f185c864b19452\"\u003e\u003ccode\u003e0249d81\u003c/code\u003e\u003c/a\u003e Migrate \u003ccode\u003estd::fs\u003c/code\u003e to \u003ccode\u003efs_err\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/99ac4fbeaa93c6cf60da89a24f07e188cde4c2e0\"\u003e\u003ccode\u003e99ac4fb\u003c/code\u003e\u003c/a\u003e Use managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7783bdc8916aba373336f7fc1956341b5a4decb2\"\u003e\u003ccode\u003e7783bdc\u003c/code\u003e\u003c/a\u003e Fix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/737b554f989f81cf605083c0cc0522c8945c0f02\"\u003e\u003ccode\u003e737b554\u003c/code\u003e\u003c/a\u003e Update pre-commit (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de896b6da294d9bb250ac64734c5738250cee765\"\u003e\u003ccode\u003ede896b6\u003c/code\u003e\u003c/a\u003e Update MSRV to v1.93.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/105d63083244fecff99d32e066dfd71109f07093\"\u003e\u003ccode\u003e105d630\u003c/code\u003e\u003c/a\u003e Update Rust crate reqwest to v0.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.11...v0.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=uv\u0026previous-version=0.3.11\u0026new-version=0.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/bjester/gh-worktree/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjester%2Fgh-worktree/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"}},{"old_version":"0.4.0","new_version":"0.4.1","update_type":"patch","path":"the dev group across 1 directory","pr_created_at":"2026-05-20T13:32:36.000Z","version_change":"0.4.0 → 0.4.1","issue":{"uuid":"4486886997","node_id":"PR_kwDOEvLeNc7djDfW","number":333,"state":"closed","title":"Bump prek from 0.4.0 to 0.4.1 in the dev group across 1 directory","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-26T08:17:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-20T13:32:36.000Z","updated_at":"2026-05-26T08:17:50.000Z","time_to_close":499511,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"prek","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/j178/prek"}],"path":"the dev group across 1 directory","ecosystem":"pip"},"body":"Bumps the dev group with 1 update in the / directory: [prek](https://github.com/j178/prek).\n\nUpdates `prek` from 0.4.0 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.1\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.4.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-20.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pre-push range after rebase (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer extensions over loose filename tags (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce run filtering allocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2090\"\u003e#2090\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/j178\"\u003e\u003ccode\u003e@​j178\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/j178/prek/commit/871b9edb65b7978c2c53d94f60a433cb9e120132\"\u003e\u003ccode\u003e871b9ed\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3c26faf5be0c9ad0e61309650479e063b8cb0037\"\u003e\u003ccode\u003e3c26faf\u003c/code\u003e\u003c/a\u003e Optimize meta hook file scans (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2106\"\u003e#2106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7780f1149565ff430b86be1f688dce7f680c6760\"\u003e\u003ccode\u003e7780f11\u003c/code\u003e\u003c/a\u003e Clean up run hook installation flow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2105\"\u003e#2105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c5dc885bcbc3d293d6c20ffb43b7be970b55b60d\"\u003e\u003ccode\u003ec5dc885\u003c/code\u003e\u003c/a\u003e Refine hook install filtering (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/9db879e92760cfa3c6da748672237a1b1d81ce12\"\u003e\u003ccode\u003e9db879e\u003c/code\u003e\u003c/a\u003e Skip installs for hooks that will not run (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/2a0da57faddae03fd6d8985776ab2ec33d0b99e5\"\u003e\u003ccode\u003e2a0da57\u003c/code\u003e\u003c/a\u003e Simplify workspace file handling (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/33ca06054451602a7988b64ac6cf12b1cf5fddad\"\u003e\u003ccode\u003e33ca060\u003c/code\u003e\u003c/a\u003e Lock file maintenance (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/03f11c00b169b9beea59253fc5a0c7efe6dc9fa6\"\u003e\u003ccode\u003e03f11c0\u003c/code\u003e\u003c/a\u003e Update GitHub Actions (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/354f431c3c0420d5be83e6c59f3b644c907793e6\"\u003e\u003ccode\u003e354f431\u003c/code\u003e\u003c/a\u003e Update dependency uv to v0.11.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2094\"\u003e#2094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/4a41828a33efaccccaba76e96942314ac3309e75\"\u003e\u003ccode\u003e4a41828\u003c/code\u003e\u003c/a\u003e Update Rust crate quick-xml to v0.39.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2098\"\u003e#2098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.4.0...v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prek\u0026package-manager=pip\u0026previous-version=0.4.0\u0026new-version=0.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/zeridon/ha-shellies-discovery/pull/333","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeridon%2Fha-shellies-discovery/issues/333","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/333/packages"}},{"old_version":"0.3.13","new_version":"0.4.0","update_type":"minor","path":null,"pr_created_at":"2026-05-19T14:36:11.000Z","version_change":"0.3.13 → 0.4.0","issue":{"uuid":"4478293535","node_id":"PR_kwDOEvLeNc7dHMbU","number":330,"state":"closed","title":"Bump the dev group with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-20T13:32:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T14:36:11.000Z","updated_at":"2026-05-20T13:33:58.000Z","time_to_close":82578,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dev","update_count":2,"packages":[{"name":"prek","old_version":"0.3.13","new_version":"0.4.0","repository_url":"https://github.com/j178/prek"},{"name":"ruff","old_version":"0.15.12","new_version":"0.15.13","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dev group with 2 updates: [prek](https://github.com/j178/prek) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `prek` from 0.3.13 to 0.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.0\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\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/j178/prek/commit/b570c73d201a3a3034d56d9314591b3110cc964d\"\u003e\u003ccode\u003eb570c73\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.0 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/007b24453eafb2f4476fa461773ec44298d2636a\"\u003e\u003ccode\u003e007b244\u003c/code\u003e\u003c/a\u003e Revert pass-through of global install flags into generated hook scripts (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/b66c39cd52e3e8736e498127d96352f23c2f492d\"\u003e\u003ccode\u003eb66c39c\u003c/code\u003e\u003c/a\u003e Remove direct path support from language_version (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/321f8b8dbf53591d2220178d48334c6fa6d3295c\"\u003e\u003ccode\u003e321f8b8\u003c/code\u003e\u003c/a\u003e Drain PTY output without timeout (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2079\"\u003e#2079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0249d819f53b0017f1e7e73506f185c864b19452\"\u003e\u003ccode\u003e0249d81\u003c/code\u003e\u003c/a\u003e Migrate \u003ccode\u003estd::fs\u003c/code\u003e to \u003ccode\u003efs_err\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/99ac4fbeaa93c6cf60da89a24f07e188cde4c2e0\"\u003e\u003ccode\u003e99ac4fb\u003c/code\u003e\u003c/a\u003e Use managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7783bdc8916aba373336f7fc1956341b5a4decb2\"\u003e\u003ccode\u003e7783bdc\u003c/code\u003e\u003c/a\u003e Fix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/737b554f989f81cf605083c0cc0522c8945c0f02\"\u003e\u003ccode\u003e737b554\u003c/code\u003e\u003c/a\u003e Update pre-commit (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de896b6da294d9bb250ac64734c5738250cee765\"\u003e\u003ccode\u003ede896b6\u003c/code\u003e\u003c/a\u003e Update MSRV to v1.93.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/105d63083244fecff99d32e066dfd71109f07093\"\u003e\u003ccode\u003e105d630\u003c/code\u003e\u003c/a\u003e Update Rust crate reqwest to v0.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.13...v0.4.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.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.12...0.15.13\"\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/zeridon/ha-shellies-discovery/pull/330","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeridon%2Fha-shellies-discovery/issues/330","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/330/packages"}},{"old_version":"0.3.9","new_version":"0.3.13","update_type":"patch","path":null,"pr_created_at":"2026-05-19T04:51:31.000Z","version_change":"0.3.9 → 0.3.13","issue":{"uuid":"4474502719","node_id":"PR_kwDORXN-Gc7c69Us","number":36,"state":"closed","title":"build(deps): bump the uv group with 7 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-22T00:46:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T04:51:31.000Z","updated_at":"2026-05-22T00:46:36.000Z","time_to_close":244503,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"uv","update_count":7,"packages":[{"name":"pydantic","old_version":"2.13.0","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"tox-uv","old_version":"1.35.1","new_version":"1.35.2","repository_url":"https://github.com/tox-dev/tox-uv"},{"name":"ty","old_version":"0.0.31","new_version":"0.0.36","repository_url":"https://github.com/astral-sh/ty"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"prek","old_version":"0.3.9","new_version":"0.3.13","repository_url":"https://github.com/j178/prek"},{"name":"pymdown-extensions","old_version":"10.21.2","new_version":"10.21.3","repository_url":"https://github.com/facelessuser/pymdown-extensions"},{"name":"zensical","old_version":"0.0.33","new_version":"0.0.42","repository_url":"https://github.com/zensical/zensical"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.0` | `2.13.4` |\n| [tox-uv](https://github.com/tox-dev/tox-uv) | `1.35.1` | `1.35.2` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.31` | `0.0.36` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.13` |\n| [prek](https://github.com/j178/prek) | `0.3.9` | `0.3.13` |\n| [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) | `10.21.2` | `10.21.3` |\n| [zensical](https://github.com/zensical/zensical) | `0.0.33` | `0.0.42` |\n\nUpdates `pydantic` from 2.13.0 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.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/pydantic/pydantic/blob/v2.13.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox-uv` from 1.35.1 to 1.35.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox-uv/releases\"\u003etox-uv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.35.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHonor constraints opt for all packages by \u003ca href=\"https://github.com/stephenfin\"\u003e\u003ccode\u003e@​stephenfin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/332\"\u003etox-dev/tox-uv#332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(lock): honor --recreate in uv-venv-lock-runner by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/338\"\u003etox-dev/tox-uv#338\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/stephenfin\"\u003e\u003ccode\u003e@​stephenfin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/332\"\u003etox-dev/tox-uv#332\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\"\u003ehttps://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/595721d2a0c8695aeb9bb59e3042a79d2dff2b90\"\u003e\u003ccode\u003e595721d\u003c/code\u003e\u003c/a\u003e 🐛 fix(lock): honor --recreate in uv-venv-lock-runner (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/1026808b9d98b5c1f9d92e84b5cccfde23a01bed\"\u003e\u003ccode\u003e1026808\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/3f7ea4d7f0495f32d95a3b7f67ddc164b85b17bd\"\u003e\u003ccode\u003e3f7ea4d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/f976fc1a0548d4b4544a87e637c0fc31f6d14372\"\u003e\u003ccode\u003ef976fc1\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/c0fabe3f6c4627869552ae74a53721aaf998ce02\"\u003e\u003ccode\u003ec0fabe3\u003c/code\u003e\u003c/a\u003e Honor constraints opt for all packages (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/d4aa96d0a0583e08a45ccfc6f9a08f89425a38ea\"\u003e\u003ccode\u003ed4aa96d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/ac785195b51a3a1835702925d4150bba74134ccd\"\u003e\u003ccode\u003eac78519\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/8bab9b8484aefa61c220e38e36b497af0f590130\"\u003e\u003ccode\u003e8bab9b8\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/328\"\u003e#328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\"\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.31 to 0.0.36\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.36\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Go To-Definition for self-imported submodules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25106\"\u003e#25106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eClassVar[Self]\u003c/code\u003e assignment checks for class objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24657\"\u003e#24657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix attribute access on \u003ccode\u003eCallable\u003c/code\u003e-bounded TypeVars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24793\"\u003e#24793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from TypedDict schema cycle with \u003ccode\u003eSelf\u003c/code\u003e fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25094\"\u003e#25094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from accessing \u003ccode\u003eargs[0]\u003c/code\u003e for \u003ccode\u003estatic_assert\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25149\"\u003e#25149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from non-name walrus target access (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25121\"\u003e#25121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix singleton classification for runtime typing objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25099\"\u003e#25099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard self-referential \u003ccode\u003eTypeOf\u003c/code\u003e recursion in generic callables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24668\"\u003e#24668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve lexical ParamSpec scope for returned Callable annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24909\"\u003e#24909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve walrus bindings through negated short-circuit conditions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25163\"\u003e#25163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun full iteration analysis on narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25143\"\u003e#25143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClassify TypeVar semantic tokens as type parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24891\"\u003e#24891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit folding ranges for an entire block (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25113\"\u003e#25113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect the \u003ccode\u003eincludeDeclaration\u003c/code\u003e request parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24960\"\u003e#24960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport TypedDict key completions in incomplete, anonymous contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25147\"\u003e#25147\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound loop-header analysis for large loops (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24972\"\u003e#24972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert inference hash maps to boxed slices on finish (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25102\"\u003e#25102\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 sentinel values (\u003ca href=\"https://peps.python.org/pep-0661/\"\u003ePEP 661\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25082\"\u003e#25082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHoist path assignment implication checks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25107\"\u003e#25107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve TypedDict keys through dict unpacking (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24523\"\u003e#24523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat custom enum \u003ccode\u003e__new__\u003c/code\u003e values as dynamic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25136\"\u003e#25136\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/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\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/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Minibrams\"\u003e\u003ccode\u003e@​Minibrams\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/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.36\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.36\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Go To-Definition for self-imported submodules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25106\"\u003e#25106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eClassVar[Self]\u003c/code\u003e assignment checks for class objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24657\"\u003e#24657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix attribute access on \u003ccode\u003eCallable\u003c/code\u003e-bounded TypeVars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24793\"\u003e#24793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from TypedDict schema cycle with \u003ccode\u003eSelf\u003c/code\u003e fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25094\"\u003e#25094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from accessing \u003ccode\u003eargs[0]\u003c/code\u003e for \u003ccode\u003estatic_assert\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25149\"\u003e#25149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from non-name walrus target access (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25121\"\u003e#25121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix singleton classification for runtime typing objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25099\"\u003e#25099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard self-referential \u003ccode\u003eTypeOf\u003c/code\u003e recursion in generic callables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24668\"\u003e#24668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve lexical ParamSpec scope for returned Callable annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24909\"\u003e#24909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve walrus bindings through negated short-circuit conditions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25163\"\u003e#25163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun full iteration analysis on narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25143\"\u003e#25143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClassify TypeVar semantic tokens as type parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24891\"\u003e#24891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit folding ranges for an entire block (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25113\"\u003e#25113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect the \u003ccode\u003eincludeDeclaration\u003c/code\u003e request parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24960\"\u003e#24960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport TypedDict key completions in incomplete, anonymous contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25147\"\u003e#25147\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound loop-header analysis for large loops (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24972\"\u003e#24972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert inference hash maps to boxed slices on finish (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25102\"\u003e#25102\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 sentinel values (\u003ca href=\"https://peps.python.org/pep-0661/\"\u003ePEP 661\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25082\"\u003e#25082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHoist path assignment implication checks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25107\"\u003e#25107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve TypedDict keys through dict unpacking (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24523\"\u003e#24523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat custom enum \u003ccode\u003e__new__\u003c/code\u003e values as dynamic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25136\"\u003e#25136\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/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\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/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Minibrams\"\u003e\u003ccode\u003e@​Minibrams\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/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.35\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-10.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a63e55929645f8eeaa6f28117afda8d2ed39d1a4\"\u003e\u003ccode\u003ea63e559\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.36 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/94370d5b43c48d01720a9e65d8d8d5286b6697b1\"\u003e\u003ccode\u003e94370d5\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/bc12d1cade50bc9407486057116fa0538bfb31ac\"\u003e\u003ccode\u003ebc12d1c\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.35 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3436\"\u003e#3436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fb34d89e4acb379f6d8239d338881a6d1cce6642\"\u003e\u003ccode\u003efb34d89\u003c/code\u003e\u003c/a\u003e Build riscv64 manylinux binary (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3402\"\u003e#3402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/05def00f5eb67a599b314e1d550b4ce07ae08727\"\u003e\u003ccode\u003e05def00\u003c/code\u003e\u003c/a\u003e Update maturin to v1.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/569c081af4159100bfe7be97624da9ef9910d8c8\"\u003e\u003ccode\u003e569c081\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3416\"\u003e#3416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/608f8ff6e705b656392a89a1cf4e0b977fb10ab4\"\u003e\u003ccode\u003e608f8ff\u003c/code\u003e\u003c/a\u003e Update renovate configuration (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3379\"\u003e#3379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/518b61d7c2a2eff95e8826a9bba4a392574258b0\"\u003e\u003ccode\u003e518b61d\u003c/code\u003e\u003c/a\u003e Update uraimo/run-on-arch-action action to v3.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3405\"\u003e#3405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/55429594f26e78d277b29aaadc10ca46f9277148\"\u003e\u003ccode\u003e5542959\u003c/code\u003e\u003c/a\u003e Update pre-commit hook astral-sh/ruff-pre-commit to v0.15.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3404\"\u003e#3404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/d00448eb0204e2dd11943d21e8e08a225914775f\"\u003e\u003ccode\u003ed00448e\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.34 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3392\"\u003e#3392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.31...0.0.36\"\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.11 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.11...0.15.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.3.9 to 0.3.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.3.13\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.13/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.3.13/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload prek 0.3.13\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-apple-darwin.tar.gz\"\u003eprek-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-x86_64-apple-darwin.tar.gz\"\u003eprek-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-pc-windows-msvc.zip\"\u003eprek-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-i686-pc-windows-msvc.zip\"\u003eprek-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-x86_64-pc-windows-msvc.zip\"\u003eprek-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://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-i686-unknown-linux-gnu.tar.gz\"\u003eprek-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://github.com/j178/prek/releases/download/v0.3.13/prek-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://github.com/j178/prek/releases/download/v0.3.13/prek-riscv64gc-unknown-linux-gnu.tar.gz\"\u003eprek-riscv64gc-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRISCV Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/j178/prek/releases/download/v0.3.13/prek-riscv64gc-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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-05.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eauto_update.cooldown_days\u003c/code\u003e is now available in both the user-level global\nconfig (\u003ccode\u003e~/.config/prek/prek.toml\u003c/code\u003e on Linux and macOS, or\n\u003ccode\u003e$XDG_CONFIG_HOME/prek/prek.toml\u003c/code\u003e when set; \u003ccode\u003e%APPDATA%\\prek\\prek.toml\u003c/code\u003e on\nWindows) and project config. Set a user default for \u003ccode\u003eprek auto-update\u003c/code\u003e, then\noverride it per project when a repository needs a different update cadence.\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e[auto_update]\ncooldown_days = 7\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd global auto-update cooldown config (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2041\"\u003e#2041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd project auto-update cooldown config (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2044\"\u003e#2044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003elanguage: dart\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePass commit message file to workspace hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2043\"\u003e#2043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve non-UTF8 filenames from git (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2023\"\u003e#2023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eruby: put resolved Ruby's bin dir on \u003ccode\u003e$PATH\u003c/code\u003e for \u003ccode\u003egem\u003c/code\u003e invocations (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2021\"\u003e#2021\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs with the new logo and icon (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2025\"\u003e#2025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePoint schema docs to SchemaStore (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2039\"\u003e#2039\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/j178/prek/commit/81b290ef0630d1e130dc37ae1916da0e51b8a002\"\u003e\u003ccode\u003e81b290e\u003c/code\u003e\u003c/a\u003e Bump version to 0.3.13 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2050\"\u003e#2050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/3f5e5c6e54bdd9b1640228cdd69a449e18ddf9f8\"\u003e\u003ccode\u003e3f5e5c6\u003c/code\u003e\u003c/a\u003e Respect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/1fab88775affde4fd0c75b2f9102a5df88195efc\"\u003e\u003ccode\u003e1fab887\u003c/code\u003e\u003c/a\u003e Add Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2047\"\u003e#2047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/93a71e0b730d30d2fa56f9e47f2a293beb007988\"\u003e\u003ccode\u003e93a71e0\u003c/code\u003e\u003c/a\u003e Remove deleted \u003ccode\u003edist/post/index.cjs\u003c/code\u003e from publish prek version workflow (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2046\"\u003e#2046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/56d6d0c13ef36a4ab6a705621fba41448f2b503d\"\u003e\u003ccode\u003e56d6d0c\u003c/code\u003e\u003c/a\u003e Bump version to 0.3.12 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2045\"\u003e#2045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/5f94f6f8ea8e5df0fb6604b4b8ec63072e1dc8f3\"\u003e\u003ccode\u003e5f94f6f\u003c/code\u003e\u003c/a\u003e Add project auto-update cooldown config (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2044\"\u003e#2044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/c52833e9991584d03bcd7e2b6fc01fa43e1f0d09\"\u003e\u003ccode\u003ec52833e\u003c/code\u003e\u003c/a\u003e Add global auto-update cooldown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/8af3054dc690fd06fe91b2b0c0ca4fe8e4418051\"\u003e\u003ccode\u003e8af3054\u003c/code\u003e\u003c/a\u003e Pass commit message file to workspace hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2043\"\u003e#2043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/1bf54f5fa9638ad66a7d0b160170da75de1eec81\"\u003e\u003ccode\u003e1bf54f5\u003c/code\u003e\u003c/a\u003e Update Rust crate serde-saphyr to 0.0.25 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2036\"\u003e#2036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/8c9761a523bcb180ff35fcfcd8e85184f87eaceb\"\u003e\u003ccode\u003e8c9761a\u003c/code\u003e\u003c/a\u003e Bump rand to 0.9.4 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2040\"\u003e#2040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.9...v0.3.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymdown-extensions` from 10.21.2 to 10.21.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facelessuser/pymdown-extensions/releases\"\u003epymdown-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.21.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFIX\u003c/strong\u003e: Fix regression that allows a snippet to be loaded outside of the base path using directory traversal when\n\u003ccode\u003erestrict_base_path\u003c/code\u003e is enabled (the default). Found by \u003ca href=\"https://github.com/gistrec\"\u003e\u003ccode\u003e@​gistrec\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/facelessuser/pymdown-extensions/commit/42628414c6591b1a1ce211157090783e3b2242d6\"\u003e\u003ccode\u003e4262841\u003c/code\u003e\u003c/a\u003e Fix spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/pymdown-extensions/commit/63b7835776d703d6c339cf2110d9888f676efc0c\"\u003e\u003ccode\u003e63b7835\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/pymdown-extensions/commit/3d185501daaa1424c4a8d42124112c44ef6ab635\"\u003e\u003ccode\u003e3d18550\u003c/code\u003e\u003c/a\u003e Docs: update js deps\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facelessuser/pymdown-extensions/compare/10.21.2...10.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zensical` from 0.0.33 to 0.0.42\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zensical/zensical/releases\"\u003ezensical's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.42\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis version includes a number of bug fixes and refactorings to improve the stability and accuracy of link validation, and fixes a reload loop when the \u003ccode\u003ecustom_dir\u003c/code\u003e, which is auto-watched, is explicitly added to \u003ccode\u003ewatch\u003c/code\u003e. Moreover, GLightbox is now only downloaded when needed, which fixes an issue when using Zensical in air-gapped environments.\u003c/p\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6b54e14 \u003cstrong\u003eui\u003c/strong\u003e – update ui to v0.0.18\u003c/li\u003e\n\u003cli\u003ecdee1e8 \u003cstrong\u003ezensical\u003c/strong\u003e – disabling link validation doesn't disable link and reference collection (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4355dad \u003cstrong\u003ecompat\u003c/strong\u003e – harden link validation for files with CRLF line endings\u003c/li\u003e\n\u003cli\u003ea418c6b \u003cstrong\u003ecompat\u003c/strong\u003e – link validation doesn't ignore fenced code blocks when \u003ccode\u003e\\r\u003c/code\u003e is present\u003c/li\u003e\n\u003cli\u003eb31dd14 \u003cstrong\u003ecompat\u003c/strong\u003e – \u003ccode\u003e$\u003c/code\u003e at end of line breaks link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e17c67a2 \u003cstrong\u003ecompat\u003c/strong\u003e – remove abbreviations from table of contents (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/669\"\u003e#669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e6eb2f4d \u003cstrong\u003ecompat\u003c/strong\u003e – reserve theme name \u003ccode\u003ezensical\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ea5a8641 \u003cstrong\u003ezensical\u003c/strong\u003e – only wait for config update after a first successful build (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8207554 \u003cstrong\u003ecompat\u003c/strong\u003e – don't consider \u003ccode\u003e[]\u003c/code\u003e and \u003ccode\u003e[][]\u003c/code\u003e link references (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/663\"\u003e#663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec338b27 \u003cstrong\u003ecompat\u003c/strong\u003e – two backticks with no closing run trip up link parser  (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/663\"\u003e#663\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/zensical/zensical/issues/665\"\u003e#665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed707aa9 \u003cstrong\u003ecompat\u003c/strong\u003e – prevent reload loop by de-duplicating watched theme files (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactorings\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e53f593f \u003cstrong\u003ecompat\u003c/strong\u003e – avoid mutating configurations list\u003c/li\u003e\n\u003cli\u003ea77087a \u003cstrong\u003ecompat\u003c/strong\u003e – reorganize config module\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.41\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis version adds support for \u003ca href=\"https://zensical.org/docs/setup/extensions/macros/#reading-tabular-data\"\u003eintegrating tabular data\u003c/a\u003e as Markdown tables, covering the functionality of the \u003ca href=\"https://pypi.org/project/mkdocs-table-reader-plugin/\"\u003emkdocs-table-reader-plugin\u003c/a\u003e, as well as the \u003ca href=\"https://zensical.org/docs/setup/basics/#watch\"\u003e\u003ccode\u003ewatch\u003c/code\u003e\u003c/a\u003e option to automatically rebuild on changes in unmonitored files. Table reading is implemented as part of \u003ca href=\"https://zensical.org/docs/setup/extensions/macros/\"\u003emacros\u003c/a\u003e, which we shipped in \u003ca href=\"https://github.com/zensical/zensical/releases/tag/v0.0.40\"\u003e0.0.40\u003c/a\u003e. You can now embed CSV and other file formats with:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e{{ read_csv(\u0026quot;data/team.csv\u0026quot;) }}\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAdditionally, the stability of link \u003ca href=\"https://zensical.org/docs/setup/validation/\"\u003evalidation\u003c/a\u003e has been drastically improved, reducing the rate of false positives. We're working on support for validating links using \u003ca href=\"https://mkdocstrings.github.io/autorefs/\"\u003eautorefs\u003c/a\u003e, which we'll provide in one of the next versions.\u003c/p\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ed24ea24 \u003cstrong\u003ecompat\u003c/strong\u003e – support table reader functionality\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/zensical/zensical/commit/7a141c5678ebcedb05e8b4be8f8d6f8bce990943\"\u003e\u003ccode\u003e7a141c5\u003c/code\u003e\u003c/a\u003e chore: release v0.0.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/6b54e140c8a40fc6328a8dd4bbf87629fa1a8c87\"\u003e\u003ccode\u003e6b54e14\u003c/code\u003e\u003c/a\u003e fix: update ui to v0.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/cdee1e8bc77e83ebbb089cab0b5a0984cc6305cc\"\u003e\u003ccode\u003ecdee1e8\u003c/code\u003e\u003c/a\u003e fix: disabling link validation doesn't disable link and reference collection ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/7a5d97abe0bc15b10e4656767de658daab59c759\"\u003e\u003ccode\u003e7a5d97a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/zensical/zensical/issues/680\"\u003e#680\u003c/a\u003e from zensical/fix/validation-edge-cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/4355dad3ce47a0e647e2187a770a2b9b0b2d502e\"\u003e\u003ccode\u003e4355dad\u003c/code\u003e\u003c/a\u003e fix: harden link validation for files with CRLF line endings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/a418c6bd3c62673e91df01690fd9eccafe262041\"\u003e\u003ccode\u003ea418c6b\u003c/code\u003e\u003c/a\u003e fix: link validation doesn't ignore fenced code blocks when \u003ccode\u003e\\r\u003c/code\u003e is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/b31dd1472c091891ee6a87cb46e8313cf3dde9be\"\u003e\u003ccode\u003eb31dd14\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e$\u003c/code\u003e at end of line breaks link validation (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/17c67a2f62181c85220275e8f87c5985135bd62f\"\u003e\u003ccode\u003e17c67a2\u003c/code\u003e\u003c/a\u003e fix: remove abbreviations from table of contents (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/669\"\u003e#669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/6eb2f4d942e79e6f48f772fa16dcddc6e6dbb4eb\"\u003e\u003ccode\u003e6eb2f4d\u003c/code\u003e\u003c/a\u003e fix: reserve theme name \u003ccode\u003ezensical\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zensical/zensical/commit/a5a864178ccd0616e5aea56b66f8ce6b031ce50b\"\u003e\u003ccode\u003ea5a8641\u003c/code\u003e\u003c/a\u003e fix: only wait for config update after a first successful build (\u003ca href=\"https://redirect.github.com/zensical/zensical/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zensical/zensical/compare/v0.0.33...v0.0.42\"\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/OlegZv/machineq/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlegZv%2Fmachineq/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"}},{"old_version":"0.3.11","new_version":"0.4.0","update_type":"minor","path":null,"pr_created_at":"2026-05-18T22:38:35.000Z","version_change":"0.3.11 → 0.4.0","issue":{"uuid":"4473054237","node_id":"PR_kwDOLgeIgs7c2WT2","number":196,"state":"closed","title":"Bump the python group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-19T04:55:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T22:38:35.000Z","updated_at":"2026-05-19T04:55:51.000Z","time_to_close":22635,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python","update_count":9,"packages":[{"name":"comicfn2dict","old_version":"0.2.5","new_version":"0.3.0","repository_url":"https://github.com/ajslater/comicfn2dict"},{"name":"pydantic","old_version":"2.13.3","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"seagrin","old_version":"0.4.0","new_version":"2026.1.0"},{"name":"typer","old_version":"0.25.0","new_version":"0.25.1","repository_url":"https://github.com/fastapi/typer"},{"name":"prek","old_version":"0.3.11","new_version":"0.4.0","repository_url":"https://github.com/j178/prek"},{"name":"ruff","old_version":"0.15.12","new_version":"0.15.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.32","new_version":"0.0.37","repository_url":"https://github.com/astral-sh/ty"},{"name":"tox","old_version":"4.53.0","new_version":"4.54.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"tox-uv","old_version":"1.35.1","new_version":"1.35.2","repository_url":"https://github.com/tox-dev/tox-uv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [comicfn2dict](https://github.com/ajslater/comicfn2dict) | `0.2.5` | `0.3.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.3` | `2.13.4` |\n| [seagrin](https://pypi.org/project/Seagrin) | `0.4.0` | `2026.1.0` |\n| [typer](https://github.com/fastapi/typer) | `0.25.0` | `0.25.1` |\n| [prek](https://github.com/j178/prek) | `0.3.11` | `0.4.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.12` | `0.15.13` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.32` | `0.0.37` |\n| [tox](https://github.com/tox-dev/tox) | `4.53.0` | `4.54.0` |\n| [tox-uv](https://github.com/tox-dev/tox-uv) | `1.35.1` | `1.35.2` |\n\n\nUpdates `comicfn2dict` from 0.2.5 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ajslater/comicfn2dict/releases\"\u003ecomicfn2dict's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes\n\u003cul\u003e\n\u003cli\u003eSmarter dot handling for Mega.Dude and B.U.C.K.L.E.R. without compromising\nDr. or 0.0.1 versions.\u003c/li\u003e\n\u003cli\u003eKeep publishers from sometimes being mistaken for titles.\u003c/li\u003e\n\u003cli\u003eYear (2022-) handled correctly\u003c/li\u003e\n\u003cli\u003eHandle #Alpha as an issue indicator more properly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFeatures\n\u003cul\u003e\n\u003cli\u003eNew format patterns recognized.\u003c/li\u003e\n\u003cli\u003eHandle lots of FCBD naming patterns.\u003c/li\u003e\n\u003cli\u003eWord-number volumes are recognized: \u0026quot;Book One\u0026quot; through \u0026quot;Book Twenty\u0026quot;\u003c/li\u003e\n\u003cli\u003eStrip trailing \u0026quot;by \u0026lt;Author Names\u0026gt;\u0026quot; attribution from a series when three\nor more tokens follow \u0026quot;by\u0026quot;. Single-author tails like \u0026quot;Werepenguin By\nNight\u0026quot; or \u0026quot;Step By Bloody Step\u0026quot; are preserved.\u003c/li\u003e\n\u003cli\u003eA single dash separator (\u0026quot; - \u0026quot; or \u0026quot;word- \u0026quot;) now splits a series and title\nto align with the canonical \u0026quot;:\u0026quot; convention that filesystems disallow.\nMulti-dash co-headlining names like \u0026quot;Hanuman - Foolish One - Deep Target\u0026quot;\nstay in the series.\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/ajslater/comicfn2dict/blob/main/NEWS.md\"\u003ecomicfn2dict's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes\n\u003cul\u003e\n\u003cli\u003eSmarter dot handling for Mega.Dude and B.U.C.K.L.E.R. without compromising\nDr. or 0.0.1 versions.\u003c/li\u003e\n\u003cli\u003eKeep publishers from sometimes being mistaken for titles.\u003c/li\u003e\n\u003cli\u003eYear (2022-) handled correctly\u003c/li\u003e\n\u003cli\u003eHandle #Alpha as an issue indicator more properly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFeatures\n\u003cul\u003e\n\u003cli\u003eNew format patterns recognized.\u003c/li\u003e\n\u003cli\u003eHandle lots of FCBD naming patterns.\u003c/li\u003e\n\u003cli\u003eWord-number volumes are recognized: \u0026quot;Book One\u0026quot; through \u0026quot;Book Twenty\u0026quot;\u003c/li\u003e\n\u003cli\u003eStrip trailing \u0026quot;by \u0026lt;Author Names\u0026gt;\u0026quot; attribution from a series when three\nor more tokens follow \u0026quot;by\u0026quot;. Single-author tails like \u0026quot;Werepenguin By\nNight\u0026quot; or \u0026quot;Step By Bloody Step\u0026quot; are preserved.\u003c/li\u003e\n\u003cli\u003eA single dash separator (\u0026quot; - \u0026quot; or \u0026quot;word- \u0026quot;) now splits a series and title\nto align with the canonical \u0026quot;:\u0026quot; convention that filesystems disallow.\nMulti-dash co-headlining names like \u0026quot;Hanuman - Foolish One - Deep Target\u0026quot;\nstay in the series.\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\u003eSee full diff in \u003ca href=\"https://github.com/ajslater/comicfn2dict/commits/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.13.3 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.13.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `seagrin` from 0.4.0 to 2026.1.0\n\nUpdates `typer` from 0.25.0 to 0.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/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/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1 (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/cfcc2ef9f948bcce67897a6c7e689d39da690bf9\"\u003e\u003ccode\u003ecfcc2ef\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/13846cc59bd574567a9a1f56eae3cd42b9aa2a4f\"\u003e\u003ccode\u003e13846cc\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/a43746997ad6f2b4a8829c69c919f4d4c2cc0698\"\u003e\u003ccode\u003ea437469\u003c/code\u003e\u003c/a\u003e 🔧 Add Typer Library Skill for Agents (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1620\"\u003e#1620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/ba6cc2c9e7cba35f891c91118e228e1d2da35edb\"\u003e\u003ccode\u003eba6cc2c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/0f3ead07c2bb384fdd590e895ca6705582c58d89\"\u003e\u003ccode\u003e0f3ead0\u003c/code\u003e\u003c/a\u003e ⬆ Bump ruff from 0.15.11 to 0.15.12 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/db4ade64936599b3460f2fc0a7c550c3fedc33b0\"\u003e\u003ccode\u003edb4ade6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/5a5206ceed2afdf234f88a6e2ef74ad9ebdf0d92\"\u003e\u003ccode\u003e5a5206c\u003c/code\u003e\u003c/a\u003e ⬆ Bump prek from 0.3.10 to 0.3.11 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1723\"\u003e#1723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fastapi/typer/compare/0.25.0...0.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prek` from 0.3.11 to 0.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/j178/prek/releases\"\u003eprek's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall prek 0.4.0\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via Homebrew\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ebrew install prek\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/j178/prek/blob/master/CHANGELOG.md\"\u003eprek's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cp\u003eThese are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated hook scripts no longer preserve \u003ccode\u003e-q\u003c/code\u003e, \u003ccode\u003e-v\u003c/code\u003e, or \u003ccode\u003e--no-progress\u003c/code\u003e passed to \u003ccode\u003eprek install\u003c/code\u003e. This only affects users who expected those global flags to be baked into installed hooks. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage_version\u003c/code\u003e no longer accepts direct executable paths. Use \u003ccode\u003elanguage_version: system\u003c/code\u003e for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (\u003ca href=\"https://redirect.github.com/j178/prek/pull/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpand tilde in \u003ccode\u003e--config\u003c/code\u003e, \u003ccode\u003e--cd\u003c/code\u003e, \u003ccode\u003e--log-file\u003c/code\u003e and \u003ccode\u003e--git-dir\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2063\"\u003e#2063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent auto-update cooldown downgrades (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cookbook page for enabling Git 2.54 config-based global hooks (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2061\"\u003e#2061\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-06.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect hook filters for message files (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Godot Engine to users in README (\u003ca href=\"https://redirect.github.com/j178/prek/pull/2047\"\u003e#2047\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/j178\"\u003e\u003ccode\u003e@​j178\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Calinou\"\u003e\u003ccode\u003e@​Calinou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.12\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-05.\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/j178/prek/commit/b570c73d201a3a3034d56d9314591b3110cc964d\"\u003e\u003ccode\u003eb570c73\u003c/code\u003e\u003c/a\u003e Bump version to 0.4.0 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/007b24453eafb2f4476fa461773ec44298d2636a\"\u003e\u003ccode\u003e007b244\u003c/code\u003e\u003c/a\u003e Revert pass-through of global install flags into generated hook scripts (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1966\"\u003e#1966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/b66c39cd52e3e8736e498127d96352f23c2f492d\"\u003e\u003ccode\u003eb66c39c\u003c/code\u003e\u003c/a\u003e Remove direct path support from language_version (\u003ca href=\"https://redirect.github.com/j178/prek/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/321f8b8dbf53591d2220178d48334c6fa6d3295c\"\u003e\u003ccode\u003e321f8b8\u003c/code\u003e\u003c/a\u003e Drain PTY output without timeout (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2079\"\u003e#2079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/0249d819f53b0017f1e7e73506f185c864b19452\"\u003e\u003ccode\u003e0249d81\u003c/code\u003e\u003c/a\u003e Migrate \u003ccode\u003estd::fs\u003c/code\u003e to \u003ccode\u003efs_err\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/99ac4fbeaa93c6cf60da89a24f07e188cde4c2e0\"\u003e\u003ccode\u003e99ac4fb\u003c/code\u003e\u003c/a\u003e Use managed npm cache for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/7783bdc8916aba373336f7fc1956341b5a4decb2\"\u003e\u003ccode\u003e7783bdc\u003c/code\u003e\u003c/a\u003e Fix npm config env overrides for node hooks (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/737b554f989f81cf605083c0cc0522c8945c0f02\"\u003e\u003ccode\u003e737b554\u003c/code\u003e\u003c/a\u003e Update pre-commit (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/de896b6da294d9bb250ac64734c5738250cee765\"\u003e\u003ccode\u003ede896b6\u003c/code\u003e\u003c/a\u003e Update MSRV to v1.93.1 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j178/prek/commit/105d63083244fecff99d32e066dfd71109f07093\"\u003e\u003ccode\u003e105d630\u003c/code\u003e\u003c/a\u003e Update Rust crate reqwest to v0.13.3 (\u003ca href=\"https://redirect.github.com/j178/prek/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/j178/prek/compare/v0.3.11...v0.4.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.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.12...0.15.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.32 to 0.0.37\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.37\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-16.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unsound \u003ccode\u003enot in\u003c/code\u003e narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25161\"\u003e#25161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix async iteration over narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25155\"\u003e#25155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in double-inference for single starred positional TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25176\"\u003e#25176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in disjoint base check (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25187\"\u003e#25187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in recursive binary inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25189\"\u003e#25189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in cyclic \u003ccode\u003e__new__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25185\"\u003e#25185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003ereveal_protocol\u003c/code\u003e, \u003ccode\u003ereveal_mro\u003c/code\u003e, etc. with keyword arguments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25179\"\u003e#25179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in imported overload definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25168\"\u003e#25168\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't show argument inlay for case-insensitive matches or prefix/suffixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25174\"\u003e#25174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce CPU usage of the LSP when switching between large changesets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25142\"\u003e#25142\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid enforcing \u003ccode\u003e__new__\u003c/code\u003e with custom metaclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25180\"\u003e#25180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake overload public type reachability-aware (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25171\"\u003e#25171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly specialized types of generic class instances should influence variance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25124\"\u003e#25124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve ParamSpec argument context through wrapper calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24934\"\u003e#24934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport partially specialized type context for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24506\"\u003e#24506\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/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.37\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.37/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.37/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.37\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-16.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unsound \u003ccode\u003enot in\u003c/code\u003e narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25161\"\u003e#25161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix async iteration over narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25155\"\u003e#25155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in double-inference for single starred positional TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25176\"\u003e#25176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in disjoint base check (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25187\"\u003e#25187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in recursive binary inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25189\"\u003e#25189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in cyclic \u003ccode\u003e__new__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25185\"\u003e#25185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in \u003ccode\u003ereveal_protocol\u003c/code\u003e, \u003ccode\u003ereveal_mro\u003c/code\u003e, etc. with keyword arguments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25179\"\u003e#25179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic in imported overload definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25168\"\u003e#25168\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't show argument inlay for case-insensitive matches or prefix/suffixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25174\"\u003e#25174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce CPU usage of the LSP when switching between large changesets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25142\"\u003e#25142\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid enforcing \u003ccode\u003e__new__\u003c/code\u003e with custom metaclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25180\"\u003e#25180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake overload public type reachability-aware (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25171\"\u003e#25171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly specialized types of generic class instances should influence variance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25124\"\u003e#25124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve ParamSpec argument context through wrapper calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24934\"\u003e#24934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport partially specialized type context for collection literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24506\"\u003e#24506\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/RasmusNygren\"\u003e\u003ccode\u003e@​RasmusNygren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.36\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Go To-Definition for self-imported submodules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25106\"\u003e#25106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eClassVar[Self]\u003c/code\u003e assignment checks for class objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24657\"\u003e#24657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix attribute access on \u003ccode\u003eCallable\u003c/code\u003e-bounded TypeVars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24793\"\u003e#24793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from TypedDict schema cycle with \u003ccode\u003eSelf\u003c/code\u003e fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25094\"\u003e#25094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from accessing \u003ccode\u003eargs[0]\u003c/code\u003e for \u003ccode\u003estatic_assert\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25149\"\u003e#25149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic from non-name walrus target access (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25121\"\u003e#25121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix singleton classification for runtime typing objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25099\"\u003e#25099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard self-referential \u003ccode\u003eTypeOf\u003c/code\u003e recursion in generic callables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24668\"\u003e#24668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve lexical ParamSpec scope for returned Callable annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24909\"\u003e#24909\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/f18aed6430c781ff3bc4fe41d9b5c2a7161657c4\"\u003e\u003ccode\u003ef18aed6\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.37 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3473\"\u003e#3473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a63e55929645f8eeaa6f28117afda8d2ed39d1a4\"\u003e\u003ccode\u003ea63e559\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.36 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/94370d5b43c48d01720a9e65d8d8d5286b6697b1\"\u003e\u003ccode\u003e94370d5\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/bc12d1cade50bc9407486057116fa0538bfb31ac\"\u003e\u003ccode\u003ebc12d1c\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.35 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3436\"\u003e#3436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/fb34d89e4acb379f6d8239d338881a6d1cce6642\"\u003e\u003ccode\u003efb34d89\u003c/code\u003e\u003c/a\u003e Build riscv64 manylinux binary (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3402\"\u003e#3402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/05def00f5eb67a599b314e1d550b4ce07ae08727\"\u003e\u003ccode\u003e05def00\u003c/code\u003e\u003c/a\u003e Update maturin to v1.13.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/569c081af4159100bfe7be97624da9ef9910d8c8\"\u003e\u003ccode\u003e569c081\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3416\"\u003e#3416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/608f8ff6e705b656392a89a1cf4e0b977fb10ab4\"\u003e\u003ccode\u003e608f8ff\u003c/code\u003e\u003c/a\u003e Update renovate configuration (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3379\"\u003e#3379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/518b61d7c2a2eff95e8826a9bba4a392574258b0\"\u003e\u003ccode\u003e518b61d\u003c/code\u003e\u003c/a\u003e Update uraimo/run-on-arch-action action to v3.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3405\"\u003e#3405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/55429594f26e78d277b29aaadc10ca46f9277148\"\u003e\u003ccode\u003e5542959\u003c/code\u003e\u003c/a\u003e Update pre-commit hook astral-sh/ruff-pre-commit to v0.15.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3404\"\u003e#3404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.32...0.0.37\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.53.0 to 4.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.54.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🧪 test(conftest): strip broken nspkg.pth files under py3.15 by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3937\"\u003etox-dev/tox#3937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(packaging): declare tox.pytest deps via a testing extra by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3940\"\u003etox-dev/tox#3940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(schema): cover every replace form in the TOML schema by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3941\"\u003etox-dev/tox#3941\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.53.1...4.54.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.53.1...4.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.53.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(security): harden user-facing logs and untrusted inputs by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3924\"\u003etox-dev/tox#3924\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(type): correct argparse override signatures for ty 0.0.33 by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3932\"\u003etox-dev/tox#3932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: allow deps arrays in TOML schema by \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3931\"\u003etox-dev/tox#3931\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/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3931\"\u003etox-dev/tox#3931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.53.0...4.53.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.53.0...4.53.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/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eFeatures - 4.54.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDeclare the runtime dependencies of the \u003ccode\u003etox.pytest\u003c/code\u003e plugin (\u003ccode\u003epytest\u003c/code\u003e, \u003ccode\u003edevpi-process\u003c/code\u003e and \u003ccode\u003epytest-mock\u003c/code\u003e)\nunder a new \u003ccode\u003etesting\u003c/code\u003e extra, so plugin authors can pull them in via \u003ccode\u003etox[testing]\u003c/code\u003e - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e.\n(:issue:\u003ccode\u003e3938\u003c/code\u003e, :issue:\u003ccode\u003e3940\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug fixes - 4.54.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExtend the generated TOML schema to cover every \u003ccode\u003ereplace\u003c/code\u003e table form (\u003ccode\u003eenv\u003c/code\u003e, \u003ccode\u003eref\u003c/code\u003e, \u003ccode\u003eposargs\u003c/code\u003e, \u003ccode\u003eglob\u003c/code\u003e,\n\u003ccode\u003eif\u003c/code\u003e), including conditional replacements used inside \u003ccode\u003ecommands\u003c/code\u003e. A guard test asserts the schema stays in sync\nwith the loader implementation so future replace types cannot be added without a corresponding schema entry.\n(:issue:\u003ccode\u003e3939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev4.53.1 (2026-05-02)\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003eBug fixes - 4.53.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHardening pass on user-facing logging and config parsing:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMask secret-looking \u003ccode\u003e--key=value\u003c/code\u003e flag values in command logs (terminal warnings, \u003ccode\u003e.tox/\u0026lt;env\u0026gt;/log/*.log\u003c/code\u003e, and\n\u003ccode\u003eOutcome\u003c/code\u003e \u003ccode\u003e__repr__\u003c/code\u003e) using the same keyword regex previously applied to environment variable values.\u003c/li\u003e\n\u003cli\u003eResolve PEP 723 \u003ccode\u003escript\u003c/code\u003e paths and reject any that escape \u003ccode\u003etox_root\u003c/code\u003e; cap the script read at 5 MiB so a symlink\nto \u003ccode\u003e/dev/zero\u003c/code\u003e cannot exhaust memory.\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eeval()\u003c/code\u003e of a constructed \u003ccode\u003eLiteral[...]\u003c/code\u003e string in the CLI parser with a direct\n\u003ccode\u003eLiteral[tuple(action.choices)]\u003c/code\u003e subscript.\u003c/li\u003e\n\u003cli\u003ePass \u003ccode\u003etimeout=30\u003c/code\u003e to \u003ccode\u003eurlopen\u003c/code\u003e when fetching a remote requirements file so a slow or unresponsive mirror cannot\nhang \u003ccode\u003etox\u003c/code\u003e indefinitely. (:issue:\u003ccode\u003e3924\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow the generated TOML schema to validate array values for \u003ccode\u003edeps\u003c/code\u003e. (:issue:\u003ccode\u003e3929\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCorrect type annotations for \u003ccode\u003eArgumentParser.parse_args\u003c/code\u003e and \u003ccode\u003eparse_known_args\u003c/code\u003e overrides following \u003ccode\u003etypeshed PR [#15613](https://github.com/tox-dev/tox/issues/15613) \u0026lt;https://github.com/python/typeshed/pull/15613\u0026gt;\u003c/code\u003e_, which widened the \u003ccode\u003eargs\u003c/code\u003e parameter from \u003ccode\u003eSequence[str]\u003c/code\u003e\nto \u003ccode\u003eIterable[str]\u003c/code\u003e. The narrower type in tox's overrides violated the Liskov substitution principle and caused\n\u003ccode\u003einvalid-method-override\u003c/code\u003e errors with \u003ccode\u003ety\u003c/code\u003e 0.0.33. Also correct the \u003ccode\u003eoption_spec\u003c/code\u003e annotation in\n\u003ccode\u003edocs/tox_conf.py\u003c/code\u003e to \u003ccode\u003eClassVar[dict[str, Callable[[str], Any]]]\u003c/code\u003e matching the docutils stubs type.\n(:issue:\u003ccode\u003e3932\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev4.53.0 (2026-04-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/1f1fcc7a53665a827d8a304190696c6926ebb2eb\"\u003e\u003ccode\u003e1f1fcc7\u003c/code\u003e\u003c/a\u003e release 4.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b35c8eedaf94906ed0e7938c7526dced550e6fa0\"\u003e\u003ccode\u003eb35c8ee\u003c/code\u003e\u003c/a\u003e 🐛 fix(schema): cover every replace form in the TOML schema (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3941\"\u003e#3941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/6eb5c4f5eec439b3924d6adb3d9d16ea7fc88a20\"\u003e\u003ccode\u003e6eb5c4f\u003c/code\u003e\u003c/a\u003e ✨ feat(packaging): declare tox.pytest deps via a testing extra (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3940\"\u003e#3940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/1ad47ddaab21c891f136a9627d1c6cdb6ea655d7\"\u003e\u003ccode\u003e1ad47dd\u003c/code\u003e\u003c/a\u003e 🧪 test(conftest): strip broken nspkg.pth files under py3.15 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3937\"\u003e#3937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/dfba9661b10aa5148daf7267b80fec50f4faa9d2\"\u003e\u003ccode\u003edfba966\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3936\"\u003e#3936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/21069af5f5b93774f88c271d5deb1389cd2caf12\"\u003e\u003ccode\u003e21069af\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3933\"\u003e#3933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2b177917e4c0208c3e380e43f8d32d507180d82e\"\u003e\u003ccode\u003e2b17791\u003c/code\u003e\u003c/a\u003e release 4.53.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/86234dd57fc6a6dbf801aa98a91642cb9daf1dc8\"\u003e\u003ccode\u003e86234dd\u003c/code\u003e\u003c/a\u003e fix: allow deps arrays in TOML schema (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3931\"\u003e#3931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/dd305fe8f347c49fcd3bd63d5e56c912e4c428f2\"\u003e\u003ccode\u003edd305fe\u003c/code\u003e\u003c/a\u003e 🐛 fix(type): correct argparse override signatures for ty 0.0.33 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3932\"\u003e#3932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/3aa3cd5d4226dfdb54de3de810cd9367390c6424\"\u003e\u003ccode\u003e3aa3cd5\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.53.0...4.54.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox-uv` from 1.35.1 to 1.35.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox-uv/releases\"\u003etox-uv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.35.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHonor constraints opt for all packages by \u003ca href=\"https://github.com/stephenfin\"\u003e\u003ccode\u003e@​stephenfin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/332\"\u003etox-dev/tox-uv#332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(lock): honor --recreate in uv-venv-lock-runner by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/338\"\u003etox-dev/tox-uv#338\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/stephenfin\"\u003e\u003ccode\u003e@​stephenfin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/pull/332\"\u003etox-dev/tox-uv#332\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\"\u003ehttps://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/595721d2a0c8695aeb9bb59e3042a79d2dff2b90\"\u003e\u003ccode\u003e595721d\u003c/code\u003e\u003c/a\u003e 🐛 fix(lock): honor --recreate in uv-venv-lock-runner (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/1026808b9d98b5c1f9d92e84b5cccfde23a01bed\"\u003e\u003ccode\u003e1026808\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/3f7ea4d7f0495f32d95a3b7f67ddc164b85b17bd\"\u003e\u003ccode\u003e3f7ea4d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/f976fc1a0548d4b4544a87e637c0fc31f6d14372\"\u003e\u003ccode\u003ef976fc1\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/c0fabe3f6c4627869552ae74a53721aaf998ce02\"\u003e\u003ccode\u003ec0fabe3\u003c/code\u003e\u003c/a\u003e Honor constraints opt for all packages (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/d4aa96d0a0583e08a45ccfc6f9a08f89425a38ea\"\u003e\u003ccode\u003ed4aa96d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/ac785195b51a3a1835702925d4150bba74134ccd\"\u003e\u003ccode\u003eac78519\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox-uv/commit/8bab9b8484aefa61c220e38e36b497af0f590130\"\u003e\u003ccode\u003e8bab9b8\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/tox-uv/issues/328\"\u003e#328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/tox-uv/compare/1.35.1...1.35.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Buried-In-Code/Perdoo/pull/196","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Buried-In-Code%2FPerdoo/issues/196","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/196/packages"}}]}